Pull your measured visibility anywhere.
Everything the dashboard shows is readable over HTTPS with an API key, and the same surface is exposed as a 24-tool MCP server for Claude and other agents: 20 reads plus 4 writes covering only the reversible configuration surface (prompts, competitors, the outreach worklist). An agent can never publish, send, or spend through MCP. API and MCP access are included from the Growth plan up.
Authentication
Create a key under Settings, API in the dashboard. Send it as a Bearer token. Keys are org-scoped: a brand id from another org reads as not found, never as someone else’s data.
curl https://api-production-a87a.up.railway.app /brands/BRAND_ID/prompt-performance \ -H "Authorization: Bearer ak_your_key"
Reads
Reads never spend measurement budget. Rates come with their sample sizes; a value that was not measured is null, never zero.
| GET /brands/:brandId/prompt-performance | Pooled named/cited/supported rates per tracked prompt, with sample sizes. |
| GET /brands/:brandId/serp-positions | The two lanes per prompt: classic Google position beside AI presence, plus the authority gaps. |
| GET /brands/:brandId/visibility-trend | Daily pooled rates over time, from dated snapshots. |
| GET /brands/:brandId/source-graph | Which domains each engine pulls from, per engine. |
| GET /brands/:brandId/competitive-report | Per buyer question: your standing, who wins instead, and their sources. |
| GET /brands/:brandId/google-competitors | Who shares your ranked keywords on classic Google, classified rival vs platform. |
| GET /brands/:brandId/citation-targets | The pages engines cite for your category, ranked by leverage, with domain authority. |
| GET /brands/:brandId/link-gaps | Pages linking to the cited sources and not to you. |
| GET /brands/:brandId/crawl-truth | Bot-UA probe verdicts, readability diffs, robots findings. |
| GET /brands/:brandId/onpage | The site-scale retrievability report with offending URLs per category. |
| GET /brands/:brandId/revenue-pages | Revenue by landing page in three lanes: organic, AI referral, paid. |
| GET /brands/:brandId/search-wins | GSC drops, CTR quick wins, and demand without a page. |
| GET /brands/:brandId/leads | The lead ledger with the measured-window evidence join, plus the influenced tier. ?format=csv exports. |
| GET /brands/:brandId/outreach | The publisher pitch pipeline: targets, leverage, contact state, outcomes. |
Triggers
Triggers queue work and return immediately; poll the matching read. Each is rate-limited and stops at your plan’s monthly measurement budget. Anything public or irreversible still goes through the human approval gate in the app; the API never places content.
| POST /brands/:brandId/serp-track | Queue the Google position lane for the tracked prompts. |
| POST /brands/:brandId/crawl-truth | Queue the probe + readability capture. |
| POST /brands/:brandId/onpage | Queue the site crawl (page caps are the cost cap). |
| POST /brands/:brandId/citation-authority | Queue the authority refresh and link-gap expansion. |
| POST /brands/:brandId/google-competitors | Queue the Google competitor capture. |
| POST /brands/:brandId/outreach/seed | Promote measured citation targets into the outreach pipeline. |
| POST /brands/:brandId/outreach/:targetId/contact | Find the public contact behind one cited page (scraped, verified, encrypted). |
| POST /brands/:brandId/outreach/:targetId/draft | Draft the pitch, grounded only in your verified brand facts. Nothing sends. |
| POST /brands/:brandId/leads/:leadId/crm | Push one lead into your connected CRM (HubSpot or Salesforce; pass target when both). Idempotent. |
| POST /brands/:brandId/leads/sheets | Append the lead ledger to your own Google Sheet, evidence included. |
| POST /brands/:brandId/search/sitemap | Submit your sitemap to Google Search Console through your own connection. |
| POST /brands/:brandId/search/inspect | Google's own index verdict for one URL, verbatim (their data can lag by days). |
| POST /brands/:brandId/search/indexnow | Notify Bing, Yandex and IndexNow partners about changed URLs on your domains. |
The MCP server
The same reads, as tools an agent can call. Two are free and need no account (the crawler check and pricing); the other twenty-two use your API key. The server card at/.well-known/mcp/server-card.jsonon the MCP host describes the full catalog. Connect from Claude Code:
claude mcp add ansengine --transport http \ https://mcp-production-2403.up.railway.app/mcp \ --header "Authorization: Bearer ak_your_key"
All 24 tools. The last four are the only writes, and they touch configuration you can undo (prompts, competitors, the outreach worklist). Nothing an agent calls can publish, send, or spend.
Questions or a missing read you need: kailesk@houseofmvps.com.
