MCP2026-08-174 min read

AI Visibility MCP for Claude Code

In Claude Code, your agent can pull the raw answers ChatGPT, Perplexity, Google AI Overviews, Google AI Mode, Copilot and Gemini actually give. Ask in plain language in the terminal; the answer text and every cited source come back as a tool result. One MCP server, one deliberately narrow tool: fetch_raw_answers. AgentGEO is the answer-access layer for AI agents. The MCP server hands Claude Code raw records — no scores, no conclusions — and Claude Code, which already holds your repo and your context, runs the GEO analysis. When a citation is missing, the same session can read the page, draft the fix and open the PR.

In Claude Code, the raw answers the six engines actually give are one ask away: type a plain-language request and fetch_raw_answers returns the answer text plus every cited source as a tool result. One MCP server, one deliberately narrow tool — and the analysis happens where your context already lives: in the agent, in your terminal, in the repo that ships your site.

Get your free API key → · Read the quickstart → — Free tier, no credit card required.

Start for free

Connect AgentGEO to Claude Code

claude mcp add agentgeo -- npx -y agentgeo-mcp --key ag_live_...

That is the whole install. claude mcp add registers the server, npx pulls agentgeo-mcp from npm (stdio transport, zero npm dependencies, Node.js 18+), and on your next session the agentgeo tools appear in Claude Code's tool list. Create your ag_live_ key in the quickstart — free tier, no credit card. Want to test the wiring before fetching anything real? An ag_test_ key always returns clearly labelled demo records at zero credits.

When Claude Code calls fetch_raw_answers, each engine comes back as its own per-surface record — the raw answer, its sources in cited order, timing and provider metadata (the full record also carries the raw providerFields):

{
  "surfaceKey": "perplexity",
  "status": "delivered",
  "answerText": "...",
  "sources": [
    { "title": "...", "url": "https://...", "position": 1 }
  ],
  "fetchedAt": "2026-08-17T09:12:04Z",
  "latencyMs": 8412,
  "providerRecordId": "..."
}

What to ask once it's connected

No arguments to memorize — describe the check and Claude Code shapes the call (country defaults to US and language to en; say "in Germany, in German" to change that). Asks that do real GEO work:

  • "Fetch what ChatGPT and Gemini answer for 'best invoicing software for freelancers' and list which domains each cites."
  • "Run 'how to add a payment link to an invoice' across all six surfaces and tell me which engines cite docs.ourdomain.com — and at what position."
  • "Pull Perplexity's answer for our main category query. If our docs aren't cited, read docs/, propose changes that would earn the citation, and open a PR."
  • "Diff the citation sets between google_ai_overview and google_ai_mode for 'best proposal software' and summarize what AI Mode adds."
  • "Fetch Copilot's answer for 'best alternatives to QuickBooks' — do we appear in the answer text, or only in the sources?"
  • "Pull Perplexity's answer for our category, compare it against last week's fetch in geo-log.md, and append what changed." Put that instruction in CLAUDE.md and the sweep becomes part of the loop.

Six engines, one contract: the same ask diffs citation sets across chatgpt, perplexity, gemini, google_ai_overview, google_ai_mode and copilot. Who gets cited, where, and who doesn't — that diff is the core of GEO/AEO analysis, and here the agent runs it in-context instead of you eyeballing six browser tabs.

What the MCP server gives you

Deliberately thin — an answer-access layer for your agent, not an analytics product bolted onto your terminal.

  • One narrow toolfetch_raw_answers posts to AgentGEO's API and returns the run envelope verbatim. Nothing else to learn, nothing else to break.
  • Six engines behind one contract — ChatGPT, Perplexity, Gemini, Google AI Overviews, Google AI Mode and Copilot with an identical record shape, so adding an engine to a check is one more word in the ask.
  • Structured `sources[]` — every citation with its title, URL and position, ready for the agent to diff, count or grep against your domain. No links regexed out of prose.
  • Raw records only — no rankings, sentiment or visibility scores. The conclusions come from your agent, which knows your site, your competitors and your history.
  • Managed-scraper engine, maintained for you — under the hood the server talks to POST https://api.agentgeo.org/v1/fetches; keeping six collection paths healthy is AgentGEO's job, not a headless browser living in your repo.
  • Usage-based billing with a spend cap — one credit per delivered record, failed records cost zero, free tier with no credit card, never per-seat.

What it doesn't do

The narrowness is the point. Claude Code holds your repo, your positioning and your judgment; conclusions computed outside that context would be worth less than raw records analyzed inside it — that is the whole GEO data layer argument. So, honestly:

  • No dashboards. Records arrive as tool results; the report is whatever your agent writes from them, in your repo.
  • No visibility scores or sentiment. Raw answerText and sources[] only — the judgment layer is deliberately left to your agent.
  • No recommendations engine. Claude Code drafts fixes with your actual pages in context, which beats generic advice every time.
  • Not instant. Requests wait up to 180 seconds — live surfaces are slow. An AI Overview SERP round-trip runs 40–90s, and some chatbot scrapes exceed the sync budget entirely: those records come back failed with a providerFields.snapshot_id, and a follow-up call with that id and the same single surface redeems the finished answer without paying for a re-scrape (not valid for google_ai_overview).
Claude Code without AgentGEOClaude Code + AgentGEO MCP
How answers get inScreenshots and pasted blobsA tool call mid-session
CitationsRetyped by hand, positions guessedStructured sources[] — title, URL, position
FreshnessWhatever you last pastedFetched live, inside the task
CoverageOne engine per browser tabUp to six engines in one call
Cost of checkingYour time, every timeOne credit per delivered record; failed = 0

AgentGEO is the answer-access layer, nothing more. The analysis Claude Code runs on the records — the reports it writes, the doc fixes it opens PRs for — is yours, versioned in your repo, not locked in a vendor dashboard.

Prefer the REST API?

The MCP server is a thin wrapper over the same endpoint your code can hit directly: POST https://api.agentgeo.org/v1/fetches. Script the sweep in Python or curl and you get the identical contract — same surfaces, same records, same credits — so a check born in Claude Code can graduate to CI unchanged.

Who builds on this

Developers who live in the terminal and ship the marketing site from the same repo as the product. If Claude Code already builds your features, it can also check how the six engines answer for your category, notice your docs missing from a citation list, and close the loop — read the page, draft the fix, open the PR — in one session. Some teams wire a recurring sweep into CLAUDE.md so every release gets a citation check. Kick the tires first in the no-signup playground, or see how the approaches compare.

Ready for your first six-engine sweep? Start free → · Follow the 5-minute quickstart →

Start for free

Frequently asked questions

How do I install the AgentGEO MCP server in Claude Code?
Run claude mcp add agentgeo -- npx -y agentgeo-mcp --key ag_live_... with your own key. The agentgeo-mcp package speaks MCP over stdio, has zero npm dependencies and needs Node.js 18+. Restart the session and the agentgeo tools appear in the tool list. Keys come from the onboarding quickstart; --api-url defaults to https://api.agentgeo.org.
What does fetch_raw_answers return in Claude Code?
One per-surface record for each engine you asked for: surfaceKey, status (delivered or failed), the full answerText, sources with title, URL and position, fetchedAt, latencyMs, providerRecordId and the raw providerFields. Records are returned unchanged — no rankings, sentiment or visibility scores are added.
Does my code or analysis leave my machine?
The analysis stays in Claude Code: raw answer records come in as tool results, and everything derived from them — diffs, reports, doc edits, PRs — happens in your agent with your context. What does go out is the query text itself: it is sent to AgentGEO's managed scrapers so they can fetch each engine's answer.
What does it cost to use with Claude Code?
One credit per delivered record; failed records cost zero. An ag_test_ key always returns clearly labelled demo records at zero credits — handy for verifying the install — while ag_live_ keys fetch real data. The free tier needs no credit card, and paid usage is billed by consumption with a spend cap, never per-seat.
Which AI engines can Claude Code query through this MCP?
Six: ChatGPT, Perplexity, Gemini, Google AI Overviews, Google AI Mode and Copilot — surface keys chatgpt, perplexity, gemini, google_ai_overview, google_ai_mode and copilot. Ask for one to six of them per call; the record shape is identical across all of them.

Keep reading