indexnow-toolkit

Build and validate IndexNow payloads, check key files, and diff sitemaps into a submission list.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~581Tokens (tool definitions)
~1.4 KBTypical response size
Minimal attention impact (0.45% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "indexnow-toolkit": {
      "url": "https://indexnow-toolkit-mcp.lipmichal.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://indexnow-toolkit-mcp.lipmichal.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡build_indexnow_payload(key, urlList, host, keyLocation, engine)

Validates a key and URL list against the IndexNow spec and returns the exact JSON POST body, the endpoint, a ready-to-run curl command, and the reason for every URL it dropped. Enforces the same-host rule, the 10000-URL batch limit, https/http consistency, fragment stripping and de-duplication.

Input Schema

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "The IndexNow key, 8-128 characters of [a-zA-Z0-9-]."
    },
    "urlList": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Absolute URLs to submit. All must be on the same host."
    },
    "host": {
      "type": "string",
      "description": "The host, e.g. example.com. Inferred from the first URL if omitted."
    },
    "keyLocation": {
      "type": "string",
      "description": "Optional URL of the key file if it is not at https://host/<key>.txt."
    },
    "engine": {
      "type": "string",
      "description": "indexnow (default), bing, yandex, seznam or naver."
    }
  },
  "required": [
    "key",
    "urlList"
  ]
}
⚪validate_indexnow_key(key, host)

Checks an IndexNow key against the protocol schema (length, character set) and, given a host, returns the exact URL the key file must be served from, the exact contents it must have, and the curl command to verify it. Most 403 rejections are a key file that returns an HTML 404 page with a 200 status.

Input Schema

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "The key to check."
    },
    "host": {
      "type": "string",
      "description": "Optional host, e.g. example.com, to compute the key file URL."
    }
  },
  "required": [
    "key"
  ]
}
🟡diff_sitemaps(previous_sitemap, current_sitemap, key, keyLocation, engine, ...)

Parses two sitemap documents (urlset XML, sitemapindex XML, or a newline-delimited URL list) and reports added, removed and lastmod-changed URLs. Returns only the URLs worth submitting to IndexNow. Pass a key to also get the finished, validated POST body.

Input Schema

{
  "type": "object",
  "properties": {
    "previous_sitemap": {
      "type": "string",
      "description": "The earlier sitemap document."
    },
    "current_sitemap": {
      "type": "string",
      "description": "The current sitemap document."
    },
    "key": {
      "type": "string",
      "description": "Optional IndexNow key; supplying it returns a ready-to-send payload."
    },
    "keyLocation": {
      "type": "string",
      "description": "Optional key file URL."
    },
    "engine": {
      "type": "string",
      "description": "Optional target endpoint name."
    },
    "include_removed": {
      "type": "boolean",
      "description": "Include removed URLs in the submission list. Default false."
    }
  },
  "required": [
    "previous_sitemap",
    "current_sitemap"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools