MCP server

Check AI visibility without leaving your editor

The questions these tools answer — can an engine read this site, does an engine name this brand, whose pages is the answer built from — turn up in the middle of doing something else. Usually while you are already in an editor with an agent open. The cuescout MCP server puts the five free CueScout checks there, so the answer arrives where the question did.

No account, no API key, nothing stored against you. These are the same unauthenticated endpoints the free tool pages already run.

Install

Add this to your MCP client’s config. There is no key to fill in.

{
  "mcpServers": {
    "cuescout": {
      "command": "node",
      "args": ["/absolute/path/to/cuescout/services/mcp-public/dist/index.js"]
    }
  }
}

Not installable yet. @cuescout/mcp is not on npm yet and the source is not public yet, so there is no way to run the server locally today. The config below is what you will paste when it lands. In the meantime the same five checks are available as public HTTP endpoints that need no account and no key — they are listed with each tool below, and an agent can call them directly. Once @cuescout/mcp publishes, the block above becomes a one-line npx.

Claude Code
claude mcp add cuescout -- node /absolute/path/to/cuescout/services/mcp-public/dist/index.js
Setup guide
Claude Desktop
Settings → Developer → Edit Config, then paste the block above.
Setup guide
Cursor
Settings → MCP → Add new server, then paste the block above.
Setup guide
VS Code
.vscode/mcp.json — note VS Code keys the block `servers`, not `mcpServers`.
Setup guide
Windsurf
Settings → Cascade → MCP servers, same block.
Setup guide
Zed
Zed calls them context servers: same block, different key, in settings.json.
Setup guide
ChatGPT
No stdio. Connectors need a remote server, so the public HTTP endpoints are the route that works.
Setup guide
Anything else
Any client that speaks MCP over stdio. There is nothing client-specific in the server.
Setup guide

The five tools

Every one is read-only. Four make HTTP fetches and cost nothing to run; one puts a real question to a real engine, which costs us money per call and is rate-limited because of it.

check_ai_visibilityRuns an engine query

Does an AI engine name my brand when a buyer asks?

Puts one buying question to a search-grounded engine and reports whether your brand was named, whether your domain was cited, which competitors came up instead, and every page the answer was assembled from.

Arguments: brand, question, domain?, competitors[]?, engine?
Endpoint: POST /public/geo-check

check_ai_readinessHTTP fetch only

Can the engines read my site at all?

Eight deterministic checks: crawler access, llms.txt, Organization and FAQ schema, canonical and meta tags, server-rendered copy, and whether an about and a pricing page exist.

Arguments: url
Endpoint: POST /public/ai-readiness

check_ai_crawler_accessHTTP fetch only

Am I blocking the bots I need?

Reads robots.txt and reports whether GPTBot, ClaudeBot, PerplexityBot or Google-Extended are blocked — including by a blanket rule nobody wrote deliberately.

Arguments: url
Endpoint: POST /public/ai-crawler-check

validate_structured_dataHTTP fetch only

Is my JSON-LD actually valid?

Reads the structured data on one page: which types it declares, which blocks fail to parse, and whether the sameAs links that tie a name to a known entity are filled in.

Arguments: url
Endpoint: POST /public/structured-data

check_sitemapHTTP fetch only

Would a crawler get a usable page list?

Checks whether the sitemap is reachable, parseable, declared in robots.txt, and free of cross-host entries a crawler discards.

Arguments: url
Endpoint: POST /public/sitemap-check

What it does not do

  • It queries two engines, not five. Perplexity and OpenAI, through their search-grounded APIs. Not Google AI Overviews, not Gemini, not Copilot. If a tool ever tells you otherwise, it is wrong and we want to hear about it.
  • It is not the consumer chat app. These are cold API calls: no account, no memory, no chat history, no personalization, no location. A logged-in buyer may see a different answer. What this measures is default behaviour on a cold question, which is a proxy, and worth describing as one.
  • One question is one datapoint. A brand can be absent on one phrasing and present on the next, and a single run cannot tell a real improvement from noise. Watching the same questions on a schedule, and tracing which pages the answers are built from over time, is the paid product.
  • It writes nothing, anywhere. No posting, no drafting for posting, no account to connect. Read-only is the product, not a limitation of this server.
  • It is rate-limited per network. The engine query also sits behind a daily spend cap shared across every free user. A 429 here means exactly what it says.

When one check is not the answer

These tools tell you where you stand today. They do not tell you which conversations the engines keep coming back to in your category, which of those pages you could realistically win, or whether anything moved after you published. That is what CueScout does, from $49/month.