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

# SEO MCP servers for AI agents

> CrakSEO's pay-as-you-go MCP servers for SERP data, keyword research, backlinks, rank tracking, site audits, local SEO, AI visibility, URL indexing and Search Console.

CrakSEO runs focused, remote Model Context Protocol (MCP) servers that give Claude, ChatGPT, Cursor, Codex, Grok, Gemini CLI and any other MCP client live SEO data and URL indexing. Each server covers one job, so your AI loads only the tools it needs. You pay per call from prepaid API credits, with no subscription or minimum deposit. The Search Console server is free.

## Servers

| Server | Endpoint | Tools | Billing |
| - | - | - | - |
| [SEO MCP](https://docs.crakseo.com/mcp-servers/seo.md) | `https://crakseo.com/mcp/seo` | 20 | Pay as you go (API credits) |
| [Google SERP API MCP](https://docs.crakseo.com/mcp-servers/serp-api.md) | `https://crakseo.com/mcp/serp-api` | 6 | Pay as you go (API credits) |
| [Keyword Research MCP](https://docs.crakseo.com/mcp-servers/keyword-research.md) | `https://crakseo.com/mcp/keyword-research` | 5 | Pay as you go (API credits) |
| [Backlink Checker MCP](https://docs.crakseo.com/mcp-servers/backlinks.md) | `https://crakseo.com/mcp/backlinks` | 4 | Pay as you go (API credits) |
| [Google Rank Tracker MCP](https://docs.crakseo.com/mcp-servers/rank-tracker.md) | `https://crakseo.com/mcp/rank-tracker` | 5 | Pay as you go (API credits) |
| [SEO Site Audit MCP](https://docs.crakseo.com/mcp-servers/site-audit.md) | `https://crakseo.com/mcp/site-audit` | 3 | Pay as you go (API credits) |
| [Local SEO MCP](https://docs.crakseo.com/mcp-servers/local-seo.md) | `https://crakseo.com/mcp/local-seo` | 3 | Pay as you go (API credits) |
| [AI Search Visibility MCP](https://docs.crakseo.com/mcp-servers/ai-visibility.md) | `https://crakseo.com/mcp/ai-visibility` | 4 | Pay as you go (API credits) |
| [URL Indexing MCP](https://docs.crakseo.com/mcp-servers/url-indexing.md) | `https://crakseo.com/mcp/url-indexing` | 5 | Free IndexNow and Bing; paid Google submission |
| [Google Search Console MCP](https://docs.crakseo.com/mcp-servers/search-console.md) | `https://crakseo.com/mcp/search-console` | 8 | Free |

All servers use Streamable HTTP. Point your client at the endpoint and sign in with OAuth, or send an API key as a bearer token. Start with [Connect and test](https://docs.crakseo.com/seo-mcp/connect.md) to verify a free call before spending credits.

## Pick a server

* **Not sure?** Start with the [SEO MCP](https://docs.crakseo.com/mcp-servers/seo.md). It bundles the most-used data tools.
* **Your client limits tool count** (some clients cap tools per session): connect only the focused server you need, such as [Keyword Research MCP](https://docs.crakseo.com/mcp-servers/keyword-research.md).
* **Your own sites:** the free [Google Search Console MCP + Bing Webmaster Tools](https://docs.crakseo.com/mcp-servers/search-console.md) reads your own data at no cost.
* **New or updated pages:** [URL Indexing MCP](https://docs.crakseo.com/mcp-servers/url-indexing.md) submits them through IndexNow, Bing and Search Console sitemaps, with paid Google submission as an option.

## Sign-in

* **OAuth (recommended).** Add the server URL with no key. Your client opens a CrakSEO sign-in page the first time. Signing in creates an API account if you don't have one.
* **API key.** Create a key at **Settings > API keys** (`/app/settings/keys`) and send it as `Authorization: Bearer <key>`. Keep keys in your client's secret store or an environment variable, never in a repository.

Scopes: `seo-data:read` for the data servers, `indexing:read` and `indexing:submit` for URL indexing, `console:read` and `console:write` for Search Console and Bing. `indexing:submit` never approves spend on its own.

## Quickstarts

> **[Claude Code](https://docs.crakseo.com/quickstarts/claude-code.md)**

> **[Cursor](https://docs.crakseo.com/quickstarts/cursor.md)**

> **[Codex](https://docs.crakseo.com/quickstarts/codex.md)**

> **[Grok and Grok Bot](https://docs.crakseo.com/quickstarts/grok.md)**

> **[ChatGPT](https://docs.crakseo.com/quickstarts/chatgpt.md)**

> **[Muse](https://docs.crakseo.com/quickstarts/muse.md)**

> **[VS Code and Copilot](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)**

## Pricing in one paragraph

Data calls and paid indexing draw from one prepaid **API credits** wallet, topped up with small one-off packs. Tools that only read your own Search Console or Bing data, IndexNow submission and index status checks are free. Agents without an account can pay per call through MPP or x402 where enabled. See [API credits](https://docs.crakseo.com/pricing/api-credits.md). The monthly subscription is the [Link Network](https://docs.crakseo.com/pricing/link-network.md), for site owners who want links from other member sites.

## Rules your AI should follow

* Show the user the price before a paid call. Don't buy credits without explicit approval.
* Paid indexing starts with `quote_indexing_submission`. `submit_indexing_urls` then returns a `confirmationUrl` until the account owner approves the quote in the dashboard; only the owner can approve it.
* Retry `submit_indexing_urls` with the same `quoteId` and `idempotencyKey`, never a new key.
* CrakSEO never uses the Google Indexing API for general pages. See [Google Indexing API alternative](https://docs.crakseo.com/google-indexing-api-alternative.md).

## Errors

Errors come back as a tool result with `isError: true` and one text block holding JSON `{ "code": "...", "message": "..." }`, so the AI can tell you the next step. Too many requests on one connection get HTTP 429 with a `Retry-After` header instead.

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