All pages

MCP tools: every tool the VarynForge server exposes, by category

This is the reference your agent already reads from the server itself, laid out for you. Every tool, grouped by what it does, with one line on each.

How to read the list

The list below is built from the same catalog the /mcp page uses, so the two never drift apart. When a tool ships, both pages show it on the next build.

Every account sees every tool. Nothing is hidden on the free plan. Limits attach to your account's organization, not to the tool list: the same call works for everyone, and what differs is how much of it you can run.

Calls fall into three kinds:

  • Free and uncapped. Reads such as get_account_status, get_project_overview, get_draft_status, download_brief_markdown and get_starting_point_report. Call them as often as the work needs.
  • Daily-capped. Forging briefs (generate_article_brief, and every tool that creates a suggestion, since briefs forge automatically) is capped at 10 a day on free. check_idea runs one live Google search per keyword and is capped daily and monthly. lint_draft is capped daily on every plan. get_account_status reports what is left.
  • Credit-consuming. start_research_run spends one research credit. Your agent asks you before it starts one.

The tools

Projects + niche

ToolWhat it does
create_projectCreate a new project from a website URL or niche description. Returns immediately; niche analysis and asset mapping run asynchronously.
list_projectsList all projects for the authenticated operator.
list_organizationsList the organizations this account belongs to — role, plan, member count — plus pending invitations. Plans and credits are per-organization.
get_projectGet one project's niche profile, target audience, and research status.
get_project_assetGet the asset (website / product) associated with a project.
get_project_overviewAt-a-glance read on a project — niche summary, keyword stats, top-priority suggestions.
update_nicheUpdate a niche profile (name, industry, language, country).
update_asset_profileCorrect the inferred asset profile — description, primary offer, benefits, differentiators, use cases. No re-crawl.
resync_asset_profileRe-read the project website and re-infer the asset profile from its current content. Rate-limited per site.
remap_assetRe-crawl the project website and refresh its owned pages. Use when mapping errored or pages look stale.
set_posting_cadenceSet how many articles per week the operator publishes (1-14). Sizes the pitch report's 90-day sequence.

Destinations

ToolWhat it does
list_destinationsList where the operator publishes — website, YouTube, TikTok, Instagram, X, LinkedIn, local business — with per-destination lint and publish capabilities.
add_destinationAdd a detected or planned destination to a project. Shapes where briefs, drafts, and lint formats anchor; up to 10 per project.

Research lifecycle

ToolWhat it does
start_research_runTrigger a research run (paid; one credit).
get_research_statusPoll the latest run — runId, status, progress percent, elapsed seconds, last error.

Keywords + opportunities

ToolWhat it does
list_keywordsList keywords tracked for a project — text, difficulty, intent, volume bucket.
get_keyword_detailGet a keyword's ranking pages and related project keywords.
list_opportunitiesList ranked content opportunity clusters. Goal filters: fast_wins, high_intent, authority_building, competitor_gap.
get_opportunity_detailGet a cluster's top-20 keywords, top-10 pages, top-5 podium, linked suggestions.
set_opportunity_statusDismiss or restore an opportunity cluster. Dismissed clusters leave list_opportunities and the content-plan harvest until the next research run.
set_excluded_termsSet project-level exclusion terms — products or topics the operator does not sell. Down-weights matching keywords and drops them from the harvest; survives re-runs.

Competitors

ToolWhat it does
list_competitorsList companies tracked as competitors for a project.
get_competitor_detailCompany detail in a project context — top pages, top keywords.
set_competitor_importanceMark a competitor important / default / ignored.
add_competitor_by_domainAdd a competitor by domain (e.g. example.com).

Pages

ToolWhat it does
list_pagesList ranked pages tracked for a project.
get_page_dossierPage dossier — title, URL, target keywords, content analysis, rankings.

Market radar

ToolWhat it does
list_radar_topicsLatest emergent-topic radar snapshot — rising narratives with momentum, novelty, drivers, evidence, and how many suggestions each already spawned.
expand_radar_topicExpand one radar topic into 3-6 candidate article angles with title, intent, and positioning. Near-duplicates in the plan are flagged. No writes.
add_radar_topicAdd chosen angles from a radar topic to the content plan as radar-born suggestions; each brief forges automatically.

Ideas

ToolWhat it does
expand_ideaScore a raw article idea against the niche — title, angle, intent, related queries, demand estimate, 0-100 niche fit. Writes nothing.
accept_ideaCommit an expanded idea to the content plan as a brief-ready suggestion and forge its brief automatically.
check_ideaAttach real search data to an existing suggestion — one live Google search per target keyword, volume bands, ranking pages. No credits; daily-capped.

Content plan + suggestions

ToolWhat it does
list_article_suggestionsList article suggestions in a project's content plan.
get_article_suggestionGet an article suggestion's details and brief availability.
add_article_suggestionAdd a bare article suggestion (title + optional intent).
create_article_suggestion_with_inputFree-tier path: create a brief-ready suggestion from the operator's own input (title, keywords, intent, audience, angle).
delete_article_suggestionDelete an article suggestion and its brief.
update_article_statusMove an article through planned → generating_brief → brief_ready → out_for_writing → monitoring.
create_content_plan_from_opportunitiesHarvest top-30 opportunity clusters from a completed research run into a content plan.

Brief generation + writer handoff

ToolWhat it does
generate_article_briefForge a writer-ready brief. Idempotent: returns the existing brief without consuming quota; pass force: true to regenerate. Free: 10 / day. Paid: unlimited.
get_article_briefGet the full brief. Pass compact=true to drop referenceArticles (informational only); editorial fields stay populated.
download_brief_markdownGet the brief assembled as inline markdown (≤8K chars) for the host agent to use as a writing prompt.
get_write_handoffOne-call writer handoff — compact payload with brief essentials, keywords, acceptance criteria, and lint instructions.

Draft verification + publishing

ToolWhat it does
get_lint_rubricVerification rubric for a suggestion — submission format per channel, required vs advisory checks, exact numeric limits. Fetch before writing.
lint_draftSubmit a draft (article, X thread, LinkedIn post, reels or YouTube script) for verification against its brief. Pass moves it to ready_to_publish; flag returns per-check detail.
get_draft_statusRe-read a suggestion's stored drafts and latest lint receipts per destination without re-linting. Free and uncapped.
mark_article_publishedRecord that an article went live at a URL — flips to published, writes the distribution ledger, pings IndexNow.
register_derived_assetRegister a derivative (carousel PDF, social post, video, image) produced from an article for per-channel distribution and content-ROI reporting.

Reports

ToolWhat it does
get_starting_point_reportFree client-facing starting-point report from setup data — positioning, content inventory, competitor set, early rising-topic signals. No research run required.
get_pitch_report_payloadClient-ready pitch report for a completed run — niche profile, competitor landscape, gap-only opportunity map, and a cadence-sized 90-day content sequence.

Agent guidance

ToolWhat it does
get_instructionsVarynForge workflow guide for the host agent (free vs paid paths, token-economy rules, walls).
get_onboarding_guideDiagnose where the operator is in their VarynForge journey — stage, setup checklist, ranked next actions. Call when list_projects is empty.
get_account_statusCurrent plan, limits, locked tools, upgrade URL, plans summary.
get_writer_system_promptWriter system prompt the host agent loads before drafting articles.
send_feedbackFile a bug, missing capability, friction point, or idea to the VarynForge team. Not for entitlement walls.
get_changelogURL of the product changelog — what shipped, newest first, in plain markdown.

The session-start ritual

A good agent diagnoses before it prescribes. Three calls open every session:

  1. get_account_status returns your plan, your quotas, and next_actions, the ranked queue of what to do next across your projects.
  2. list_projects tells the agent whether you are new. An empty list leads to the third call; a full one means the agent briefs you on where you stand.
  3. get_onboarding_guide returns your setup stage, a pitch fitted to it, and a checklist of what is done and what is pending.

Token economy rules

The server is built so your agent spends few tokens. Four habits keep it that way:

  • get_project_overview replaces get_project, list_opportunities and list_article_suggestions when the agent only needs the current state.
  • get_article_brief with compact: true returns only the fields a writer uses.
  • download_brief_markdown hands a brief to a writer as one markdown file, instead of the suggestion and brief JSON.
  • A research run takes about an hour. Your agent polls get_research_status no more than once every 30 to 60 seconds and tells you when to expect it.

What a blocked tool returns

Entitlement walls lists every wall, field by field.

A capped or paid call that cannot run returns a structured payload with the reason, what is left, when it resets, and the free tools you can use instead; Free and paid explains what each plan unlocks.

Feedback and the changelog

When your agent hits a gap, a confusing result, or hears you wish for something, it files send_feedback with one of four kinds: bug, missing_capability, friction or idea. It asks you before it sends your own words as an idea. Blocked calls are not feedback; they work as designed.

Feedback gets no reply. The changelog is where the answer shows up. get_changelog returns the address of /changelog.md, the product changelog in plain markdown, newest first, each entry tagged feature, improvement or fix. Your agent reads it when you ask what is new, and in the days after it files a report, so it can tell you a gap has closed instead of filing the same report twice.

Markdown version of this page, for your agent.