Check indexing from your coding agent with MCP
Connect Claude Code, Cursor or any MCP client to IndexCyborg and ask which pages Google hasn't indexed, why, and what to do next.
If an agent writes and ships your pages, it can also check whether search engines picked them up. IndexCyborg runs an MCP server with the same data and the same rules as the dashboard, so the agent sees what you would see.
1. Create a key
In Settings → API keys, create a key with the scopes the agent needs: read to look, notify to queue scans, notifications and indexing requests, manage to register new URLs. You can limit a key to specific websites. The key is shown once and stored hashed.
2. Connect your client
The server speaks Streamable HTTP. In Claude Code:
claude mcp add --transport http indexcyborg https://indexcyborg.com/api/mcp \
--header "Authorization: Bearer ic_your_key"Clients configured with JSON, such as Cursor's mcp.json, take the same URL and header:
{
"mcpServers": {
"indexcyborg": {
"url": "https://indexcyborg.com/api/mcp",
"headers": { "Authorization": "Bearer ic_your_key" }
}
}
}3. The tools
| Tool | What it returns or does | Scope |
|---|---|---|
list_websites | Websites the key can see, with verification, IndexNow and Search Console state | read |
get_indexing_status | Google's verbatim inspection result for a URL, or a site summary | read |
get_unindexed_pages | Pages Google inspected and reported as not indexed | read |
get_indexing_issues | Open technical and indexing issues, with evidence | read |
check_technical_seo | Latest technical check for a URL; can queue a new one | read |
generate_indexing_report | Inventory, status breakdown, coverage and open issues | read |
get_google_indexing_requests | Today's Request indexing budget, queue and Google's answers | read |
discover_urls | Queue a sitemap scan | notify |
notify_search_engines | Queue an IndexNow notification for up to 1,000 URLs | notify |
request_google_indexing | Queue URLs for Request indexing via the Chrome extension | notify |
4. Ask normal questions
- “Which pages on example.com does Google not index, and what reason does it give?” The agent calls
get_unindexed_pagesand quotes Google's wording. - “I removed the noindex from /docs/webhooks. Ask Google to index it.” The agent calls
request_google_indexing, and the Chrome extension clicks the button on its next run. - “Summarise indexing for last week.” The agent calls
generate_indexing_report.
Same gates as the dashboard
An agent can't do anything the dashboard wouldn't let you do. No IndexNow notifications before the domain and key are verified. No inspections without a linked Search Console property. No more than 10 Request indexing clicks per property per day. And every tool description tells the agent that an accepted notification or a requested URL is not an indexed page, so it doesn't tell you otherwise.