IndexMachine MCP server: index pages from Claude, Cursor and any AI assistant
Ask your AI assistant "is my new post on Google?" and get the real answer from your own Search Console data. Ask it to request indexing and it requests indexing through Google's own Request Indexing, or a re-index of a page you just updated, plus IndexNow for Bing.
Works with Claude Code, Claude Desktop, claude.ai, Cursor, VS Code and any MCP client, and runs next to the Submitator connector in the same chat.
What you can ask
- Which pages on example.com aren't on Google yet?
- Is https://example.com/pricing indexed? Check it live.
- Request indexing for the post I just published.
- I rewrote the pricing page. Re-index it.
- Send these 20 new URLs to IndexNow.
- How many requests does example.com have left today?
What happens when you ask
IndexMachine uses Request Indexing in your own Google Search Console and IndexNow, no link farms. So a request is not instant, and the server says so every time:
Your request goes to IndexMachine
With an honest ETA, never a promise that the page is already on Google.
Google's own Request Indexing, in your Search Console
Your IndexMachine Chrome extension sends it from the Google account that owns the property, usually within minutes while Chrome is running.
Within Google's daily quota
Google takes about 10 requests per site per day, resetting at midnight Pacific.
Google decides
The ETA is for the request, never for indexing, and only check_url says a page is indexed.
Install
You need an IndexMachine account with your sites connected (sign-up is free; requesting indexing needs a paid plan for the site), the Chrome extension, and an API key: open Settings in the dashboard, press Create key under API keys, choose Full or Read only, and copy the key that starts with im_live_. Keep it in your user-level config, never in a repository.
Claude Code
claude mcp add --scope user indexmachine --env INDEXMACHINE_API_KEY=im_live_... -- npx -y indexmachine-mcpCursor (~/.cursor/mcp.json) and Claude Desktop
{
"mcpServers": {
"indexmachine": {
"command": "npx",
"args": ["-y", "indexmachine-mcp"],
"env": { "INDEXMACHINE_API_KEY": "im_live_..." }
}
}
}VS Code (.vscode/mcp.json)
VS Code asks for the key and keeps it out of the file.
{
"inputs": [
{ "type": "promptString", "id": "indexmachine-key", "description": "IndexMachine API key", "password": true }
],
"servers": {
"indexmachine": {
"type": "stdio",
"command": "npx",
"args": ["-y", "indexmachine-mcp"],
"env": { "INDEXMACHINE_API_KEY": "${input:indexmachine-key}" }
}
}
}Remote server, no install
URL: https://mcp.indexmachine.co/mcp
Header: Authorization: Bearer <your key> (X-API-Key: <your key> works too)For example, in Claude Code:
claude mcp add --transport http indexmachine https://mcp.indexmachine.co/mcp \
--header "Authorization: Bearer $INDEXMACHINE_API_KEY"claude.ai custom connector
- In claude.ai, open Customize, then Connectors, press + Add, then Add custom connector.
- Enter the name IndexMachine and the URL https://mcp.indexmachine.co/mcp.
- Under Request headers add Authorization with the value Bearer im_live_..., then press Add.
- In a chat, open +, then Connectors, and switch IndexMachine on.
Tools
| Tool | What it does |
|---|---|
| account_status | Your plan, the key's permissions, whether the Chrome extension is online, and today's requests per site against Google's daily quota. |
| list_sites | Your connected Search Console properties with page counts, indexing status, plan coverage and IndexNow readiness. |
| site_summary | One site: today's Request indexing quota, the median days from a first request to indexing, and 30 days of counts. |
| list_pages | A site's pages by status (indexed, not indexed, requested, rejected, needs fix and more) or by part of the URL. |
| check_url | Whether a URL is indexed, and as of when; a live check asks Google right now. |
| request_indexing | Requests indexing for any URL, also one that isn't in your sitemap yet, or a re-index of a page already on Google. Answers with an honest ETA. |
| get_indexing_request, list_indexing_requests | Follow your requests: open ones with their ETA, finished ones with Google's answer. |
| cancel_indexing_request | Cancels a request that hasn't gone out yet. |
| submit_indexnow | Notifies Bing, Yandex and the other IndexNow engines of up to 100 URLs of one site. |
The index_url prompt checks a URL, requests indexing when it isn't indexed, and reports the ETA as it is.
Every tool runs on the public IndexMachine API, so your own scripts, CMS and CI can do the same with the same key.
Works next to the Submitator connector
IndexMachine and the Submitator connector can be on in the same chat: no tool name is shared. Submit your launch to directories with Submitator, then ask IndexMachine to get your own new pages on Google and Bing, without leaving the conversation.
Safe by default
- request_indexing previews first, and asks you before a re-index of a page already on Google, a URL that isn't in your sitemap, or your site's last request of the day.
- submit_indexnow asks the same way above 10 URLs.
- Read-only keys fit assistants that only check: sites, pages, URL checks and requests.
- Your key is used only to talk to IndexMachine, and you can revoke any key on the Settings page.
FAQ
What is the IndexMachine MCP server?
An MCP server that lets AI assistants such as Claude, Cursor and VS Code work with the sites you connected to IndexMachine: list your pages, check whether a URL is on Google, request indexing or a re-index, and notify IndexNow engines.
Does requesting indexing from Claude reach Google instantly?
No, and the server says so. Your IndexMachine Chrome extension sends the request through Google's own Request Indexing in your Search Console, within Google's daily quota of about 10 requests per site. The ETA it gives is for the request, and only check_url says a page is indexed.
Can I use it together with the Submitator connector?
Yes. IndexMachine and Submitator can be on in the same chat because no tool name is shared: submit your launch to directories with Submitator and get your own pages indexed with IndexMachine.
What do I need to use it?
An IndexMachine account with your sites connected, the Chrome extension installed, and an API key from the Settings page. Signing up is free; requesting indexing needs a paid plan for the site.
Is my API key safe?
Your key stays in your own config and is used only to talk to IndexMachine. Use a read-only key for an assistant that only checks, and revoke any key on the Settings page.
Connect your sites, then ask your assistant
Sign up free, connect Search Console, and see which pages Google hasn't indexed. Daily indexing from $12.50 once with code BETA50; see pricing.
Free account. Import may take a while for big sites, Google rate-limits Search Console.