> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crakseo.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## 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/<server>.
> 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` |
| Intended registry name | `com.crakseo/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

```bash Claude Code theme={null}
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](https://docs.crakseo.com/seo-mcp/connect.md).

Other clients: [ChatGPT](https://docs.crakseo.com/quickstarts/chatgpt.md), [Cursor](https://docs.crakseo.com/quickstarts/cursor.md), [Codex](https://docs.crakseo.com/quickstarts/codex.md), [VS Code](https://docs.crakseo.com/quickstarts/vscode.md), [Cline](https://docs.crakseo.com/quickstarts/cline.md), [Gemini CLI](https://docs.crakseo.com/quickstarts/gemini-cli.md), [Grok](https://docs.crakseo.com/quickstarts/grok.md) and [Muse](https://docs.crakseo.com/quickstarts/muse.md).

A remote connection does not require a marketplace listing. Registry names are distribution identifiers, not a claim of directory approval.

## Verify without spending

```text theme={null}
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/list` response, which stays authoritative. Example values are placeholders, not real measurements. Prices marked TBD are set at launch on [API credits](https://docs.crakseo.com/pricing/api-credits.md).

### `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. |

```json Request theme={null}
{
  "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"
    }
  }
}
```

```json structuredContent theme={null}
{
  "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. |

```json Request theme={null}
{
  "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"
    }
  }
}
```

```json structuredContent theme={null}
{
  "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. |

```json Request theme={null}
{
  "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"
    }
  }
}
```

```json structuredContent theme={null}
{
  "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 |
| - | - | - | - |

```json Request theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_api_credit_balance",
    "arguments": {}
  }
}
```

```json structuredContent theme={null}
{
  "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](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](mailto: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. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.