indexnow-toolkit
Build and validate IndexNow payloads, check key files, and diff sitemaps into a submission list.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"indexnow-toolkit": {
"url": "https://indexnow-toolkit-mcp.lipmichal.workers.dev/mcp"
}
}
}远程端点
https://indexnow-toolkit-mcp.lipmichal.workers.dev/mcpstreamable-http它能做什么
工具清单
工具(3)
🟡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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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"
]
}社区
证据