Skip to content
Application notes · 4 min read

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

ToolWhat it returns or doesScope
list_websitesWebsites the key can see, with verification, IndexNow and Search Console stateread
get_indexing_statusGoogle's verbatim inspection result for a URL, or a site summaryread
get_unindexed_pagesPages Google inspected and reported as not indexedread
get_indexing_issuesOpen technical and indexing issues, with evidenceread
check_technical_seoLatest technical check for a URL; can queue a new oneread
generate_indexing_reportInventory, status breakdown, coverage and open issuesread
get_google_indexing_requestsToday's Request indexing budget, queue and Google's answersread
discover_urlsQueue a sitemap scannotify
notify_search_enginesQueue an IndexNow notification for up to 1,000 URLsnotify
request_google_indexingQueue URLs for Request indexing via the Chrome extensionnotify

4. Ask normal questions

  • “Which pages on example.com does Google not index, and what reason does it give?” The agent calls get_unindexed_pages and 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.