# Varynforge MCP server

Source: https://glimind.com/server/mcp-registry%2Fcom.varynforge%2Fserver
Registry id: `mcp-registry/com.varynforge/server`
Status: live (checked 2026-10-27T05:08:53.845Z)

## Measurements (30 days)

- Uptime: 99.98%
- Checks: 5021
- Outages (90 days): 1

## Install

```json
{
  "mcpServers": {
    "varynforge-mcp-server": {
      "type": "http",
      "url": "https://app.varynforge.com/api/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http varynforge-mcp-server https://app.varynforge.com/api/mcp
```

## Tools (57)

- `accept_idea`: Commit an expanded idea (from expand_idea) to the content plan as a brief-ready article suggestion. Stores the verbatim idea as provenance, lands the suggestion
- `add_article_suggestion`: Add a bare article suggestion to a content plan (title + optional intent and reasoning). For richer input that produces a brief-ready suggestion, use create_art
- `add_competitor_by_domain`: Add a competitor to a project by domain (e.g. example.com). Marks the competitor as important or ignored on creation.
- `add_destination`: Add a destination to a project — where the operator publishes. Pass `type` (website | youtube_channel | instagram | tiktok | x | linkedin | local_business) and 
- `add_radar_topic`: Add selected angles from a radar topic to the content plan as radar-born article suggestions (provenance preserved; exact-title duplicates skipped). Angles come
- `check_idea`: Attach real search data to one article idea that is already in the project — runs one live Google search per target keyword and returns volume bands and the pag
- `create_article_suggestion_with_input`: Create a brief-ready article suggestion from the operator's own input. Auto-resolves a default content plan; creates/links search-query rows for the keywords; r
- `create_content_plan_from_opportunities`: Create a content plan by harvesting the top-30 opportunity clusters from a completed research run. Auto-creates article suggestions linked to each cluster. Left
- `create_project`: Create a new project — pass either a website URL or a niche description (or both). Returns projectId immediately; niche analysis and asset mapping run async. Po
- `delete_article_suggestion`: Delete an article suggestion and its associated brief. Cascades to keyword and cluster links.
- `download_brief_markdown`: Get a brief as inline markdown the host agent can use as a writing prompt. Pass format=markdown_inline, and `channel` (article default) to pick which of the sug
- `expand_idea`: Score a raw article idea against the project's niche without writing anything to the plan. Returns a title, angle, search intent, related queries, a coarse dema
- `expand_radar_topic`: Expand one radar topic (by signalObservationId + topicIndex from list_radar_topics) into 3-6 candidate article angles with title, intent, and editorial position
- `generate_article_brief`: Forge a writer-ready brief from an article suggestion. `channel` picks the brief template: article (default, SEO article outline), reels (hook/beats/shot list),
- `get_account_status`: Get the operator account status — the organization whose plan/credits/limits this payload describes (plans and usage limits are per-organization; see list_organ
- `get_article_brief`: Get the full content brief for an article suggestion. A suggestion holds one brief per channel — pass `channel` (article default | reels | youtube | x | linkedi
- `get_article_suggestion`: Get article suggestion details — metadata, cluster context, brief availability, registered derived assets (carousels, social posts), target keywords with volume
- `get_changelog`: Get the URL of the VarynForge product changelog — what shipped, newest first, in plain markdown. Fetch it when the operator asks what is new, and in the days af
- `get_competitor_detail`: Get a competitor company detail in a project context — domain, name, importance, top pages in the project SERPs, and top keywords they rank for.
- `get_draft_status`: Re-read an article suggestion's verification state without re-linting: the suggestion's single pipeline status plus, per destination `format`, the stored draft 
- `get_instructions`: Get the VarynForge agent guide — workflow paths (free vs paid), token-economy rules, walls and upgrade conversation conventions. Read this at session start.
- `get_keyword_detail`: Get a keyword detail — pages ranking for it with positions and ownership, plus related keywords already tracked in the project.
- `get_lint_rubric`: Get the verification rubric for an article suggestion: the submission format for the channel (markdown | --- separated thread | post-with-slides | production sc
- `get_onboarding_guide`: Diagnose where the operator is in their VarynForge journey and get a guided setup path. Call when the operator asks to set up VarynForge, get started, or seems 
- `get_opportunity_detail`: Get a cluster detail — top-20 keywords by score, top-10 ranked pages by position, top-5 competitor podium, linked article suggestions, and rawOpportunityScore (
- `get_page_dossier`: Get a page dossier — URL, title, project rankings, ownership. `headingOutline`, `targetKeywords`, and `contentAnalysis` populate for owned (asset-mapped) pages 
- `get_pitch_report_payload`: Assemble the client-ready pitch report payload for a completed research run — niche + solution profile, competitor landscape, ranked opportunity map holding GAP
- `get_project`: Get one project — its canonical name (operator-set, falling back to site brand then niche name), niche profile, target audience, current research status, and po
- `get_project_asset`: Get the asset (website/product) associated with a project — URL, name, description, solution profile.
- `get_project_overview`: Get the at-a-glance read on a project — niche summary, keyword stats, nextActions (the ranked queue of what to do next in this project — offer its first entry w
- `get_research_status`: Poll the latest research run for a project — runId, status, current pipeline phase, progress percent, elapsed seconds, and structured failure diagnostics when f
- `get_starting_point_report`: Get the free starting-point report for a project — a client-facing document assembled from setup-time data: positioning (niche + market profile), the site and i
- `get_write_handoff`: One-call writer handoff: returns a compact writing payload for an article suggestion (brief essentials, keywords, acceptance criteria, lint instructions). Compa
- `get_writer_system_prompt`: Get the writer system prompt for drafting one content type from its brief. The writer works with your Varyn account context: every channel prompt binds to the b
- `lint_draft`: Submit a draft for verification against its brief. Returns a pass/flag verdict with per-check detail. Pass moves the article to ready_to_publish; flag moves it 
- `list_article_suggestions`: List article suggestions for a project — title, status, priority, cluster, intent, source, publishedAt, scheduledFor, and a per-channel distributions rollup ({ 
- `list_competitors`: List companies for a project — marked competitors (important / default / ignored) and SERP-discovered companies (unmarked). Sorted important → default → unmarke
- `list_destinations`: List the project's destinations — where the operator publishes (website, youtube_channel, tiktok, instagram, x, linkedin, local_business). Destination type ids 
- `list_keywords`: List keywords tracked for a project — text, difficulty, intent, volume bucket (no_traffic | long_tail | average | high). Paginated; supports sorting and intent 
- `list_opportunities`: List content opportunity clusters sorted by opportunity score. Goal filters: fast_wins, high_intent, authority_building, competitor_gap. coverage filters by sit
- `list_organizations`: List the organizations this account belongs to — id, name, your role (owner | admin | member), is_personal, plan, and member_count — plus pending invitations aw
- `list_pages`: List ranked pages tracked for a project — URL, title, company, query count, ownership. Filter by ownership or company domain.
- `list_projects`: List all projects for the authenticated operator — paginated, sortable by createdAt, niche, or industry. `name` is the canonical project name (operator-set, fal
- `list_radar_topics`: List the latest emergent-topic radar snapshot for a project: rising narrative topics (label, summary, momentum, novelty, drivers, evidence) with per-topic index
- `mark_article_published`: Record that an article went live at a URL. Flips the suggestion to published, writes the distribution ledger row, stamps the Passport, and pings IndexNow. Call 
- `register_derived_asset`: Register a derived asset (LinkedIn carousel PDF, social post, video, image) produced from an article suggestion. Appends a distribution-ledger row so the sugges
- `remap_asset`: Re-crawl the project website and refresh its owned pages. Use when get_project_asset shows mappingStatus "error" or owned pages look stale. Rate-limited per sit
- `resync_asset_profile`: Re-read the project website and re-infer the asset profile (name, description, primary offer, benefits, differentiators, use cases) from its current content. Us
- `send_feedback`: File a note to the VarynForge team: a bug, a missing capability, a friction point, or an operator idea. Call when you hit something VarynForge cannot do, a conf
- `set_competitor_importance`: Mark a competitor important, default, or ignored. Important applies a 1.25× boost on opportunity scores for clusters where the competitor ranks top-10. Scores a
- `set_excluded_terms`: Set the project-level exclusion terms — products or topics the operator explicitly does NOT sell (e.g. "wedding suite", "free template", "printing"). Keywords m
- `set_opportunity_status`: Dismiss or restore an opportunity cluster. status=dismissed hides it from list_opportunities and the create_content_plan_from_opportunities harvest; status=defa
- `set_posting_cadence`: Set how many articles per week the operator actually publishes (1-14). Sizes the pitch report’s 90-day content sequence; read back via get_project.postsPerWeek.
- `start_research_run`: Start a research run for a project — discovers keywords, evaluates competitors, and writes opportunity clusters. Consumes one credit. Returns `{ runId }`; poll 
- `update_article_status`: Move an article through the production pipeline. Statuses: planned, generating_brief, brief_ready, drafting, draft_ready, reviewing, ready_to_publish, published
- `update_asset_profile`: Correct the inferred profile of the project asset — description, primary offer, benefits, key differentiators, use cases. Use when get_project_asset shows claim
- `update_niche`: Update a niche profile — name, industry, language, country, target customer, core problem, related terms. Use after the operator refines their market definition

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
