Docs · MCP server
Your agent, four AI engines, one call.
Install once. Then ask your agent whether AI engines cite your site, and what changed.
Your agent can already write GEO advice and read robots.txt. It cannot ask Perplexity, ChatGPT, Claude and Gemini the same question and compare who they cite, and it cannot remember last month. That is what this server adds.
Install
Get a key on your account page, then:
Claude Code
claude mcp add --transport http geondex https://geondex.com/mcp --header "Authorization: Bearer gx_YOUR_KEY"
Cursor — .cursor/mcp.json
{ "mcpServers": { "geondex": { "url": "https://geondex.com/mcp", "headers": { "Authorization": "Bearer gx_YOUR_KEY" } } } }Any client, raw
The endpoint speaks streamable HTTP, so your accept header must list both application/json and text/event-stream. Sending only one gets you a 406.
curl -X POST https://geondex.com/mcp -H "Authorization: Bearer gx_YOUR_KEY" -H "content-type: application/json" -H "accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Claude Desktop needs a local bridge; it is on the roadmap. Use Claude Code or Cursor today.
Tools
check_visibility— Ask all four engines one question; cited or not per engine, position, who was cited instead, and what changed since your last identical check. 3 per engine that answers (12 for all four) · ≤ 25 shistory— Your past checks for a domain, newest first, per engine. free · ≤ 2 ssuggest_prompts— Buyer-intent questions for a domain, read from its homepage — five by default, up to ten. 1 · ≤ 10 scheck_crawlers— Whether robots.txt blocks the crawlers that cite (not the ones that only train). free · ≤ 3 saudit_page— Structured-data and answer-structure grade for one URL, with fixes. 1 · ≤ 10 sgoogle_rank— Google organic position for a keyword, plus AI Overview presence. 1 · ≤ 10 skeyword_volume— Monthly search volume for up to 1,000 keywords in one call. One call costs the same whether you send one keyword or a thousand, so batch. 1 per 10 keywords, minimum 20 · ≤ 10 s
Three prompts to try
- Check ttsensei.com for "best table tennis blade for beginners" on all four engines and tell me who is cited instead of me.
- Suggest five buyer questions for aigregator.com, check each one, and list the engines where I am missing.
- Re-run last week's checks for ttsensei.com and tell me what changed. Then look up Google rank for the ones where I lost a citation.
What comes back
Every tool returns a one-line summary first, then the full JSON. Agents act on the line and read the JSON when they need detail:
ttsensei.com cited by 1 of 4 engines that answered (openai #3). Not cited by perplexity, claude, gemini. Since 6 days ago: openai #5 → #3; claude dropped you.
positionis a page's place in that engine's own citation list, so compare it over time for one engine rather than across two different engines.
Limits
Every tool returns in under 25 seconds. An engine that does not answer within 20 seconds is reported as timed out and is not charged. Keys are limited to 1,000 requests a day. When credits run out you get a clear error with a link to upgrade or buy a pack; nothing is queued.
Prefer plain HTTP? The same seven calls are on the REST API.