What MCP gives you
The Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools. LLMMetrix ships an MCP server at https://llmmetrix.com/mcp, which means you can ask Claude:
“List my tracked prompts for acme.com and run a fresh scan”
…and have it actually happen, with the same permissions, plan caps and audit trail as the dashboard. Everything the assistant reports back comes from the same stored scans that power your visibility score, so a number quoted in chat is the number the product would show.
Two tiers of tools are available:
- Read:
list_projects,list_scans,get_scan,get_job,list_prompts,get_webhook - Write:
trigger_scan,create_prompt,set_prompt_active,delete_prompt,set_webhook,clear_webhook,retry_job
Write tools only appear when your credential carries the write scope. A read-only credential never sees them at all, so there is nothing to refuse and no way to misuse one by accident.
This pairs naturally with the surfaces you already use. Pull scan results into a weekly review the way citation intelligence presents them. Wire trigger_scan into your release pipeline so every deploy is followed by a fresh check of how engines describe the new pages. Agencies running client work through multi-engine monitoring typically mint one scoped key per retainer and keep it read-only until the automation has earned trust.
Getting a credential
Option 1: personal access key (fastest). In LLMMetrix, open Account → API keys, create a key, and copy it once; it is never retrievable again. Keys look like llmx_…. On paid plans you can also choose:
- Read-only: leave “Allow write access” off for monitoring-only integrations.
- Expiry: 30 days / 90 days / 1 year / never. An expired key stops working exactly like a revoked one.
- Project scope: limit the key to specific projects.
Option 2: OAuth 2.1. MCP clients that support OAuth discovery can connect without you pasting anything: point them at https://llmmetrix.com/.well-known/oauth-protected-resource, sign in, approve the consent dialog, done. You can revoke that grant later from your account. OAuth is rolling out gradually; if the discovery document lists no authorization server yet, use a personal key.
Connecting Claude Desktop
Add the server to claude_desktop_config.json:
{
"mcpServers": {
"llmmetrix": {
"type": "http",
"url": "https://llmmetrix.com/mcp",
"headers": {
"Authorization": "Bearer llmx_YOUR_KEY"
}
}
}
}
Restart Claude Desktop and ask it to list_projects; you should see your workspaces.
Connecting ChatGPT (and other clients)
Any client that speaks MCP over Streamable HTTP works the same way: POST JSON-RPC to https://llmmetrix.com/mcp with the bearer header. The server is stateless, every request is self-contained, so there is no handshake to keep alive and no session affinity for a load balancer to lose.
Rate limits and plans
API/MCP access requires a paid plan. Throttling is per key per direction at your plan’s tier: Business gets 120 reads and 60 writes per minute, Agency gets 600 reads and 300 writes. Every throttled response carries a Retry-After header, so scripts should back off on it rather than hammering.
A scan triggered over MCP runs through exactly the same gates as one clicked in the dashboard: cooldowns, prompt budgets, credit metering. Nothing about the API path is a second, cheaper lane, which is also why results land in the same places: rankings feed answer engine ranking views and alerts fire through real-time alerts exactly as if the scan had been started by hand.
Troubleshooting
- 401 on every call: the key was revoked or expired. Create a new one; there is no “disable” state that keeps a dead key half-alive.
- 403 insufficient_scope on REST calls (or missing tools over MCP): your key is read-only but you asked for a write action. Mint a key with write enabled, or keep the read-only one and do the write from the dashboard.
- 402 api_access_requires_paid_plan: the workspace’s plan does not include API access. Upgrade from billing.
- 429 responses: you are over the per-key rate tier. Honor
Retry-After. - Tool list looks empty: your credential carries no scopes it can exercise, or the request never authenticated. Re-run with a fresh key and check the header is being sent at all; most clients log outgoing requests with a debug flag.
Good hygiene
- Treat keys like passwords. Prefer a scoped, expiring key over an all-access eternal one.
- Use read-only credentials for dashboards and monitoring; reserve write for automation you review.
- Rotating a key is create-new-then-revoke-old: the old key dies the moment you revoke it, not when its expiry passes.
- If a teammate leaves, their personal keys die with their account. Shared automation should use a workspace service key, which belongs to the workspace itself and keeps working under new ownership while remaining revocable by its owners and admins.
- Audit periodically. The settings page shows each key’s last-used timestamp alongside its scopes and expiry, so an integration that quietly stopped talking is visible before anyone misses its data.
- Name keys for their job (“staging-deploy”, “weekly-report”). When something misbehaves at 3am, the name is the fastest way to remember what a credential was allowed to do.
