MCP server

Tool reference

Every MCP tool, the inputs it takes and the gateway read or action it maps to.

Planned design

The MCP server described here is the planned design layered on top of the agency REST gateway, which is live today. Until the server ships, everything on this page can be done with the REST endpoints in the API section.

Tools come in two families. **Read tools** wrap GET ?resource=…&client_id=… and return rows plus a pagination cursor. **Action tools** wrap POST with an action field and either return a result or a job reference for work that runs in the background.

Read tools

ToolInputsReturns
list_clientslimit, cursorClients the key can reach, with website and status.
get_clientclient_idOne client record with its settings and connected integrations.
list_keywordsclient_id, limit, cursorTracked keywords with volume, difficulty and intent.
list_rankingsclient_id, keyword, from, toRanking history rows for charting or comparison.
list_auditsclient_id, limitAudit runs with score, issue counts and timestamps.
get_audit_issuesclient_id, audit_idIndividual issues with severity, page and recommendation.
list_backlinksclient_id, limit, cursorReferring domains with authority and first-seen date.
list_citationsclient_idLocal directory listings and their accuracy status.
list_articlesclient_id, statusGenerated articles with status and deployment target.
list_callsclient_id, from, toTracked calls with source, transcript and lead grade.
list_reportsclient_idGenerated client reports and share links.

Discoverability

The gateway ships a discovery endpoint listing every readable resource. The MCP server uses it at start-up, so new resources become available without a client update.

Action tools

ToolRequired inputsScopeBehaviour
run_seo_auditclient_id, urlwriteQueues a crawl; returns an audit_id to poll.
refresh_backlinksclient_idwriteRefetches referring domains for the client.
generate_keyword_ideasclient_id, seedwriteReturns ideas with volume and difficulty.
generate_topical_mapclient_id, topicwriteBuilds a pillar-and-cluster content map.
generate_articleclient_id, keywordwriteDrafts an article; returns an article_id.
deploy_articleclient_id, article_idwritePublishes to the connected site. Confirm first.
optimize_pageclient_id, urlwriteReturns on-page fixes for title, meta and headings.
index_urlclient_id, urlwriteSubmits a URL for indexing.
generate_press_releaseclient_id, topicwriteDrafts a release for review.
generate_gbp_postclient_id, topicwriteDrafts a Google Business Profile post.
run_local_grid_scanclient_id, keywordwriteRuns a geo-grid rank scan around the location.
analyze_llm_visibilityclient_idwriteChecks how assistants describe the brand.
generate_outreach_emailclient_id, prospectwriteDrafts an outreach email. Does not send.
send_prospect_emailclient_id, email_idwriteSends a drafted email. Confirm first.

Shape of a tool call

json
{
  "name": "generate_article",
  "arguments": {
    "client_id": "c_8f21…",
    "keyword": "emergency dentist leeds",
    "word_count": 1400,
    "tone": "reassuring"
  }
}

Errors the assistant will see

StatusMeaningWhat the assistant should do
400Missing or invalid fieldAsk you for the missing value; do not retry unchanged.
401Bad or revoked keyStop and report the auth failure.
403Scope or client not permittedReport the limit instead of trying another client.
429Rate limitedBack off and retry with increasing delay.
500Upstream job failureRetry once, then report.

Was this page helpful?