MCP2026-08-104 min read

AI Visibility MCP for Zed

Zed is fast because it never asks you to leave it. Add one entry to settings.json and the same becomes true of your AI-visibility checks: the assistant can pull the raw answers ChatGPT, Perplexity, Google AI Overviews, Google AI Mode, Copilot and Gemini actually give for a query — answer text plus every cited source — without a browser tab, a dashboard login or a context switch. One server, one deliberately narrow tool: fetch_raw_answers. AgentGEO hands back provider records unchanged; the ranking, the diffing and the rewrite stay in Zed, next to the file that needs the edit — and in a shared session, next to whoever is editing it with you.

In Zed, the raw answers six AI engines give are a question away from the assistant — ChatGPT, Perplexity, Google AI Overviews, Google AI Mode, Copilot and Gemini. Answer text and structured citations arrive as a tool result, in the same lightweight window as the docs and marketing copy those citations are about. One server, one narrow tool, no editor to switch to.

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

Start for free

Connect AgentGEO to Zed

Zed configures MCP servers in its settings.json, under a context_servers key. Add an agentgeo entry:

{
  "context_servers": {
    "agentgeo": {
      "command": {
        "path": "npx",
        "args": ["-y", "agentgeo-mcp", "--key", "ag_live_..."]
      }
    }
  }
}

That's the whole install — the server is a zero-dependency npm package that speaks MCP over stdio on Node.js 18+, so there is nothing to compile and nothing to keep updated by hand. Create your ag_live_ key at /onboarding — free tier, no credit card. Want to prove the wiring before you spend anything? An ag_test_ key always returns clearly labelled demo records at zero credits. Save settings.json and the agentgeo tool becomes available to the assistant.

Every call returns one record per requested surface — the provider's answer, verbatim, with each source it cited as structured data:

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

What to ask once it's connected

There are no arguments to memorize — say what you want in plain language. Country defaults to US and language to en; name a market and the assistant passes it through.

  • "Fetch what chatgpt and perplexity answer for our main category query, and tell me whether any cited domain is ours." The baseline visibility check, start to finish, without opening a browser.
  • "Pull all six surfaces for the query this landing page targets and append the citation lists to geo-log.md." The evidence lands in the repo it describes.
  • "Compare Perplexity's cited sources against the pages under docs/ and tell me which three are closest to earning a citation." Then edit them in the same window.
  • "Does google_ai_overview cite our pricing page for our product-plus-pricing query? If not, rewrite the opening paragraph so it answers the question directly."
  • "Diff gemini against copilot for this query and list the competitor domains both of them cite."
  • After the copy change ships, re-fetch the same query and diff answerText and sources[] against last week's record — the check and the fix live in one file tree.

Zed's collaborative sessions make this a team move, not a solo one. A writer and an engineer in the same buffer can watch a citation set come back, argue about the headline it implies, and edit the page together — the GEO evidence and the copy change share a window instead of an email thread.

What the MCP server gives you

Deliberately small. A native, fast editor deserves a data layer that doesn't drag an analytics platform in behind it.

  • One narrow toolfetch_raw_answers, and nothing else. No tool sprawl in the assistant's context, one contract to learn.
  • Six engines behind one contract — ChatGPT, Perplexity, Gemini, Google AI Overviews, Google AI Mode and Copilot share an identical record shape, so widening a check is one more key in surfaces.
  • Structured `sources[]` — title, URL and position for every citation, ready to diff, count or grep. Nothing regexed out of prose.
  • Raw records only — no rankings, no sentiment, no visibility score. The judgment stays with the assistant that can see your actual pages.
  • Managed-scraper engine, maintained for you — the server posts to https://api.agentgeo.org/v1/fetches; keeping six collection paths healthy is AgentGEO's problem, not a headless browser in your project directory.
  • Usage billing with a spend cap — free tier, no credit card, one credit per delivered record, failed records cost zero, never per-seat.

What it doesn't do

AgentGEO is a GEO data layer, not a platform, and the narrowness is deliberate. Conclusions drawn outside your repo are worth less than raw records analyzed inside it.

  • No dashboards, no scores, no recommendations engine. Records arrive as a tool result; the report is whatever the assistant writes into a file you can commit.
  • Not instant. Live surfaces are slow. Requests wait up to 180 seconds, and an AI Overview SERP round-trip alone runs 40–90s — a call spanning several surfaces will sit on the slow ones. Let it finish.
  • Some fetches finish async. A slow chatbot scrape can exceed the sync budget and come back failed with a providerFields.snapshot_id. Retry with that id and the same single surface to collect the finished answer without paying for a re-scrape (not valid for google_ai_overview).
Zed without AgentGEOZed + AgentGEO MCP
How answers get inCopy-pasted from six browser tabsOne fetch_raw_answers tool call
CitationsRetyped by hand, positions lostStructured sources[] — title, URL, position
FreshnessWhatever was pasted lastFetched live, stamped fetchedAt
CoverageOne engine at a timeUp to six surfaces in one call
Working with a teammateScreenshots in a threadSame buffer, same records, same edit

AgentGEO is the answer-access layer, full stop. The analysis, the alerts and the copy fixes you build on it — in Zed, in scripts, in your own product — belong to you.

Prefer the REST API?

The MCP server is a thin wrapper over one endpoint: POST https://api.agentgeo.org/v1/fetches. The Python and curl pages show the same request shape — handy when a check you first asked for in the editor graduates into a script that runs on a schedule.

Who builds on this

Developers who chose Zed because it starts instantly and stays out of the way, and who keep their docs and marketing copy in the same repo as the product. If your GEO work is really a stack of markdown files, wiring the six engines into the editor beats logging into someone else's dashboard to be told which file to open. Kick the tyres in the no-signup playground first if you like.

Ready to ask your first question? Start free → · 5-minute quickstart →

Start for free

Frequently asked questions

How do I add the AgentGEO MCP server to Zed?
Open Zed's settings.json and add an agentgeo entry under context_servers, with a command object whose path is npx and whose args are ["-y", "agentgeo-mcp", "--key", "ag_live_..."]. The server is a zero-dependency npm package that speaks MCP over stdio on Node.js 18+; save the file and the agentgeo tool becomes available to the assistant.
What does fetch_raw_answers return in Zed?
One record per requested surface, unchanged from the provider: surfaceKey, status (delivered or failed), the full answerText, sources[] with title, URL and position, plus fetchedAt, latencyMs, providerRecordId and the raw providerFields. No rankings or scores are added — the assistant does that part, with your files in view.
Does my code or analysis leave my machine?
The MCP server runs locally inside Zed over stdio. What goes out is the query text, sent to AgentGEO's managed scrapers so they can fetch each engine's answer; the raw records come back into your session. Your repo, your prompts and whatever the assistant concludes from the records stay where they already are.
What does it cost?
One delivered record costs one credit; failed records cost zero. The free tier needs no credit card, and paid usage is billed by consumption with a spend cap — never per-seat, which matters if your whole team runs Zed. ag_test_ keys return clearly labelled demo records at zero credits, useful for verifying the install.
Which AI engines can Zed's assistant query through it?
Six: ChatGPT, Perplexity, Google AI Overviews, Google AI Mode, Copilot and Gemini — surface keys chatgpt, perplexity, gemini, google_ai_overview, google_ai_mode and copilot. Request one to six per call; the record shape is identical for all of them, so comparing engines needs no special-casing.

Keep reading