CrakSEO AI Search Visibility MCP
Brand mentions in ChatGPT and Perplexity plus Google AI Overview citations. Hosted Streamable HTTP with OAuth or a scoped API key. Check availability and pricing before paid calls.
Hosted MCP Server
npx add-mcp 'https://crakseo.com/mcp/ai-visibility'Installs into Claude Code, Codex, Cursor and more
Documentation
Agent Instructions
For SEO data and indexing, start with /seo-mcp/overview.md and /seo-mcp/connect.md, then read the focused server reference. The documentation search MCP at https://docs.crakseo.com/mcp searches documentation only. Product tools use https://crakseo.com/mcp/. Check tool availability and API credit balance before paid calls. Request owner approval for paid indexing. Never invent prices, indexing guarantees or directory approval.
AI Search Visibility MCP: ChatGPT and AI Overview Citations
AI search visibility MCP: brand mentions in ChatGPT and Perplexity, Google AI Overview citations.
Whether ChatGPT and Perplexity mention a brand for a buyer's question and which sources they cite, and which pages Google's AI Overview cites for a keyword.
| Endpoint | https://crakseo.com/mcp/ai-visibility |
| Transport | Streamable HTTP |
| Sign-in | OAuth, or an API key as a bearer token |
| Scopes | seo-data:read |
| Billing | Pay as you go (API credits) |
When to use
Use when measuring generative engine optimization (GEO) or answer engine optimization (AEO) work.
Connect
claude mcp add --transport http crakseo-ai-visibility https://crakseo.com/mcp/ai-visibility
Use crakseo-ai-visibility as the server name and https://crakseo.com/mcp/ai-visibility as the URL. Run /mcp in Claude Code to authenticate. For OAuth, scoped API keys and a free test, follow Connect and test.
Other clients: ChatGPT, Cursor, Codex, VS Code, Cline, Gemini CLI, Grok and Muse.
Connect using the URL above; no registry ID or marketplace listing is required.
Verify without spending
Use CrakSEO get_api_credit_balance to report my balance and dataCallsEnabled. Do not buy credits or make a paid call.
Tools
| Tool | What it does | Price per call |
|---|---|---|
get_ai_overview_sources | Google AI Overview sources | TBD (placeholder) |
check_chatgpt_brand_mentions | ChatGPT brand mentions | TBD (placeholder) |
check_perplexity_brand_mentions | Perplexity brand mentions | TBD (placeholder) |
get_api_credit_balance | API credit balance | Free |
[!NOTE]
Tool names, titles and parameters on this page match the server's
tools/listresponse, which stays authoritative. Example values are placeholders, not real measurements. Prices marked TBD are set at launch on API credits.
get_ai_overview_sources
Google AI Overview sources. AI Overview sources: whether Google shows an AI Overview for a keyword, its text, every page it cites, and whether a given domain is cited. Costs API credits per call.
- Price per call: TBD (placeholder)
- Annotations: read-only, idempotent
- Limits: Results are cached for 24 hours. Failed calls are free.
| Parameter | Type | Required | Description |
|---|---|---|---|
keyword | string | Yes | Search query exactly as a user would type it. |
country | string | No | Two-letter country code of the search market, for example US, GB, DE or IN. Default US. |
language | string | No | Language code of the search market, for example en, de or pt-BR. Default en. |
location | string | No | Optional exact DataForSEO location name for city-level results, for example "Austin,Texas,United States". Overrides country. |
device | "desktop" | "mobile" | No | Device to emulate. Default desktop. |
domain | string | No | Optional domain to check for a citation, for example example.com. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_ai_overview_sources",
"arguments": {
"keyword": "how to submit a sitemap to google",
"country": "US",
"domain": "example.com"
}
}
}
{
"result": {
"keyword": "how to submit a sitemap to google",
"present": true,
"text": "AI Overview text, truncated.",
"references": [
{
"title": "Example source title",
"url": "https://example.com/guide",
"domain": "example.com"
}
],
"domainCited": true
},
"billing": {
"channel": "credits",
"chargedMicros": 0,
"chargedUsd": 0,
"cacheHit": false,
"balanceMicros": 0
}
}
check_chatgpt_brand_mentions
ChatGPT brand mentions. ChatGPT brand mentions: ask ChatGPT (with web search) a buyer's question and report whether it mentions your brand, which sources it cites, and whether your domain is cited. Costs API credits per call.
- Price per call: TBD (placeholder)
- Annotations: read-only, idempotent
- Limits: Results are cached for 24 hours. Failed calls are free.
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | The question a buyer would ask, for example "best seo tools for agencies". |
brand | string | Yes | Brand name to look for in the answer. |
domain | string | No | Optional brand domain to look for among cited sources. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "check_chatgpt_brand_mentions",
"arguments": {
"prompt": "best trail running shoes",
"brand": "Example",
"domain": "example.com"
}
}
}
{
"result": {
"prompt": "best trail running shoes",
"brand": "Example",
"engine": "chatgpt",
"mentioned": false,
"domainCited": false,
"answer": "Answer text, truncated.",
"citedUrls": [
"https://competitor.example/review"
]
},
"billing": {
"channel": "credits",
"chargedMicros": 0,
"chargedUsd": 0,
"cacheHit": false,
"balanceMicros": 0
}
}
check_perplexity_brand_mentions
Perplexity brand mentions. Perplexity brand mentions: ask Perplexity a buyer's question and report whether it mentions your brand, which sources it cites, and whether your domain is cited. Costs API credits per call.
- Price per call: TBD (placeholder)
- Annotations: read-only, idempotent
- Limits: Results are cached for 24 hours. Failed calls are free.
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | The question a buyer would ask, for example "best seo tools for agencies". |
brand | string | Yes | Brand name to look for in the answer. |
domain | string | No | Optional brand domain to look for among cited sources. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "check_perplexity_brand_mentions",
"arguments": {
"prompt": "best trail running shoes",
"brand": "Example",
"domain": "example.com"
}
}
}
{
"result": {
"prompt": "best trail running shoes",
"brand": "Example",
"engine": "perplexity",
"mentioned": false,
"domainCited": false,
"answer": "Answer text, truncated.",
"citedUrls": [
"https://competitor.example/review"
]
},
"billing": {
"channel": "credits",
"chargedMicros": 0,
"chargedUsd": 0,
"cacheHit": false,
"balanceMicros": 0
}
}
get_api_credit_balance
API credit balance. API credit balance: prepaid credits left for SEO data calls, amount spent, whether spending is suspended, and the per-call pricing rule. Free; no supplier call.
- Price per call: Free
- Annotations: read-only, idempotent
- Limits: Free; reads the wallet only.
| Parameter | Type | Required | Description |
|---|
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_api_credit_balance",
"arguments": {}
}
}
{
"availableMicros": 0,
"availableUsd": 0,
"spentMicros": 0,
"frozen": false,
"dataCallsEnabled": true,
"pricing": {
"creditMarkup": 0,
"minimumPerCallUsd": 0
}
}
Errors
| Code | Meaning | What to do |
|---|---|---|
insufficient_credits | The API credits wallet can't cover the call's maximum price. | Add credits at https://crakseo.com/app/indexing/credits, then retry the same call. The failed call isn't charged. |
forbidden | The connection doesn't have the scope this tool needs, for example seo-data:read or console:write. | Reconnect and grant the scope named in the message, or use an API key that has it. |
not_connected | Google Search Console or Bing Webmaster Tools isn't connected, or no connected property covers the URL. | Open the connect link in the message and sign in with the account that owns the property. |
invalid_input | A parameter is missing or out of range. | Read the message, which names the field, fix the argument and retry. |
confirmation_required | A paid indexing submission doesn't have the account owner's approval for this exact quote. | submit_indexing_urls returns status: "needs_confirmation" with a confirmationUrl. Send the owner there to approve, then retry with the same quoteId and idempotencyKey. The agent can't approve spend. |
wallet_frozen | API credit spending is suspended on this account after a refund or dispute. | Contact support@crakseo.com. |
budget_exceeded | The account's daily API credit spending limit, or the service's daily data budget, is used up. | Retry tomorrow. |
disabled | SEO data calls aren't switched on for this deployment yet. | Use the free Search Console and URL indexing tools meanwhile. get_api_credit_balance reports dataCallsEnabled. |
supplier_unavailable | The data supplier couldn't be reached or is rate limiting. | Retry later. Failed data calls are free. |
supplier_unknown | The data supplier didn't answer in time or sent an unreadable response. | Retry later. Failed data calls are free. |
supplier_error | The data supplier refused the request or returned no data. | Check the arguments (for example the location name) and retry. Failed data calls are free. |
Technical registry details
Intended MCP Registry ID:
com.crakseo/ai-visibility.The namespace
com.crakseois the reverse-domain form ofcrakseo.com, used to identify the publisher. It is not a website address, product name or connection URL. You do not need it to connect.This identifier is recorded in our publishing drafts, not a claim of registry acceptance or directory approval.
This documentation is built and hosted on Mintlify, a developer documentation platform.