MCP server for the IndexNow protocol - let AI agents submit URLs to Bing, Yandex, Seznam and Naver instantly
IndexNow MCP has clear, well-structured tool definitions with complete schemas and descriptions. All 4 tools are properly registered with input schemas, descriptions, and parameter types. Naming follows verb_noun convention (generate_key, verify_key, submit_urls, submit_sitemap). However, descriptions lack depth on error recovery, prerequisites, and when to use each tool. Parameter descriptions are present but minimal (e.g., 'site hostname' could explain format expectations). Output schemas are documented via JSON responses but not formally declared in the tool metadata. Error handling returns structured JSON but lacks actionable recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles.
Generate a new 32-character IndexNow key. Host the returned key as a text file at https://<your-site>/<key>.txt (file content = the key itself), then call verify_key.
Fetch a sitemap.xml and submit every <loc> URL it contains via IndexNow. Args: host: site hostname, e.g. example.com key: your IndexNow key sitemap_url: full URL of the sitemap, e.g. https://example.com/sitemap.xml key_location: optional explicit key file URL
Submit up to 10,000 URLs to all IndexNow search engines in one call. Args: host: site hostname the URLs belong to, e.g. example.com key: your IndexNow key (see generate_key / verify_key) urls: absolute URLs to submit, all on the same host key_location: optional explicit key file URL, defaults to https://<host>/<key>.txt
Check that the IndexNow key file is reachable at https://<host>/<key>.txt. Args: host: site hostname, e.g. example.com (a full URL also works) key: the IndexNow key
Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint). submit_urls and submit_sitemap are WRITE operations but lack destructiveHint annotation. generate_key and verify_key are READ_ONLY but lack readOnlyHint.
Error responses lack actionable recovery guidance. When submit_urls fails (e.g., 'URLs not on host'), the response includes the error but does not guide the LLM on next steps (e.g., 'Verify all URLs belong to the same host').
Parameter descriptions are minimal and lack format/constraint details. 'host' is described as 'site hostname, e.g. example.com' but does not clarify whether www. prefix is required, whether IP addresses are accepted, or what happens with subdomains.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Output schemas are not formally declared in tool metadata. Tools return JSON strings with structured content, but the MCP tool definition does not include an explicit 'output' schema field, forcing LLMs to infer response structure from examples.
No dry-run or confirmation step for destructive operations. submit_urls and submit_sitemap immediately submit URLs to search engines without a preview or confirmation mechanism, risking accidental submissions.