1
Create an API key
Open Settings and find the API keys card, below two-factor and your active sessions. Select Create API key and give it a name you’ll recognise later.The full key is shown once, at creation. FixAEO stores only a SHA-256 hash of it, so nobody — including support — can read it back. Copy it somewhere safe before you close the dialog. Keys start with
fixaeo_.How many active keys you can hold depends on your plan: one on Free, three on Lite and Growth, fifty on Enterprise. Revoking a key frees the slot.2
Add the server to your client
Pick your client below, paste the config, restart the client.
3
Check that it worked
Ask your assistant: “list my brands in FixAEO”. You should get back your brands with their slugs. That slug is the input to every brand-specific tool, so it’s the right first call anyway.
Client configuration
--scope project if you’d rather commit it to a project .mcp.json than keep it local.
Claude Desktop needs the mcp-remote bridge, which runs through npx and needs Node installed. FixAEO’s server authenticates with a bearer header and doesn’t implement OAuth, so the built-in connector flow has no way to send your key. Note the header value has no space in the args array — some clients mangle spaces there, which is why the token lives in env instead. Config file lives at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS.
Cursor reads ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one. Cursor also expands ${env:VAR} inside header values, so you can keep the key out of the file.
Why does the server look unreachable?
Almost always the plan. The paid gate runs before the MCP protocol does, so a free account gets a 403 on the handshake itself — your client reports “failed to connect” rather than “connected with zero tools”.401 — invalid API key
401 — invalid API key
The key is wrong, or it’s been revoked. Keys are shown once, so a truncated copy-paste is the common cause. Create a fresh one in Settings and swap it in.
403 — the FixAEO MCP server requires a paid plan
403 — the FixAEO MCP server requires a paid plan
Exactly what it says. This also fires if a subscription lapsed: your effective plan drops back to Free, and MCP goes with it. The public REST API keeps working on Free.
400 — JSON-RPC batching is not supported
400 — JSON-RPC batching is not supported
Your client tried to send several calls in one HTTP request. The server rejects batches on purpose, so one request can never fan out into several database reads. Turn batching off in the client.
429 — rate limit exceeded
429 — rate limit exceeded
The public surface allows 120 requests a minute per IP, shared between the REST API and MCP. The response carries a
Retry-After header. Normal conversational use never comes close.A tool call times out
A tool call times out
Each call gets a 30-second budget. If a wide query hits it, narrow the window — ask for
7d instead of 90d, or filter to one engine.Related pages
- Tools reference — every parameter each tool accepts
- Use cases — questions to try once you’re connected
- Plans and limits — what each tier includes
- Security — how keys are stored and what deleting your account removes