关于 mcp-server-indexnow
mcp-server-indexnow 通过 IndexNow 协议向搜索引擎提交 URL,适用于希望通知内容变更的网站运营者。MCP 客户端可用它提交单个或多个 URL。
主要功能
- 01提交单个或多个 URL
- 02支持自定义 IndexNow 端点
- 03可通过环境变量配置密钥
适用场景
- 01通知搜索引擎新页面上线
- 02提交更新或删除的页面
- 03为网站内容变更发送索引请求
MCP 相关
该 MCP 服务向兼容客户端提供 IndexNow URL 提交工具,可将请求转发至 IndexNow API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-indexnow
一个基于模型上下文协议(MCP)的服务,可通过 IndexNow 协议提交 URL 索引请求。
此服务充当桥梁,让兼容 MCP 的客户端(如 IDE 或 AI 助手)能够使用 IndexNow 协议向搜索引擎提交 URL,从而有望更快地发现和索引内容。
什么是 IndexNow?
IndexNow 是一种简单的协议,网站可借此轻松通知搜索引擎其内容何时创建、更新或删除。通过 IndexNow 提交 URL 后,参与其中的搜索引擎(如 Bing、Yandex、Seznam.cz、Naver、Yep)会优先抓取这些 URL,从而有望加快变更在搜索结果中的反映速度。
什么是 MCP?
模型上下文协议(MCP) 是一项标准,可通过专用服务将语言模型(LLM)和 AI 助手连接到各种工具、数据源和功能。此服务实现了 MCP,以工具的形式提供 IndexNow 功能。
功能
- 提供一个 MCP 工具,可向 IndexNow API 提交单个或多个 URL。
- 支持通过 MCP 客户端使用 IndexNow 协议。
- 在主机上设置好 IndexNow 密钥后,只需进行最少的配置。
安装
使用 uvx(推荐)
使用 uvx 时,无需进行专门安装。我们将使用它直接从客户端应用运行 mcp_server_indexnow。
使用 uvx 添加到 Claude 桌面应用
"mcpServers": {
"mcp_server_indexnow": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/zizzfizzix/mcp-server-indexnow",
"mcp_server_indexnow"
]
}
}
使用 uvx 添加到 Zed
在 Zed 的 settings.json 中添加:
"context_servers": [
"mcp_server_indexnow": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/zizzfizzix/mcp-server-indexnow",
"mcp_server_indexnow"
]
}
],
使用 make
你也可以使用 make 安装 mcp_server_indexnow:
make install
使用 make 添加到 Claude 桌面应用
"mcpServers": {
"mcp_server_indexnow": {
"command": "/path/to/mcp-server-indexnow/.venv/bin/python",
"args": ["/path/to/mcp-server-indexnow/mcp_server_indexnow/main.py"]
}
}
使用 make 添加到 Zed
在 Zed 的 settings.json 中添加:
"context_servers": {
"mcp_server_indexnow": {
"command": "/path/to/mcp-server-indexnow/.venv/bin/python",
"args": ["/path/to/mcp-server-indexnow/mcp_server_indexnow/main.py"]
}
}
使用方法
成功将此 MCP 服务添加到你的助手应用后,请按照以下步骤操作。
1. 设置 IndexNow 密钥(必需)
使用此服务前,必须为网站主机设置 IndexNow 密钥。具体来说,需要生成一个密钥,并将特定的文本文件({your-key}.txt)放置在 Web 服务上。此过程用于向 IndexNow 验证你对该主机的所有权。
- 请遵循 IndexNow 官方说明:通过密钥验证所有权
- 调用此服务提供的 URL 提交工具时,需要使用该密钥。请妥善保管。
2. 环境变量(可选)
此服务支持以下环境变量进行配置:
INDEXNOW_SECRET_KEY:如果将此环境变量设为你的 IndexNow 密钥,服务在提交 URL 时将默认使用该密钥。这样 AI 助手就不会知道密钥。调用工具时,你仍可以通过提供key参数来覆盖它,例如:
"mcpServers": {
"mcp_server_indexnow": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/zizzfizzix/mcp-server-indexnow",
"mcp_server_indexnow"
],
"env": {
"INDEXNOW_SECRET_KEY": "https://example.com/2134131231.txt"
}
}
}
INDEXNOW_API_BASE:允许指定其他 IndexNow API 端点。默认值为https://api.indexnow.org/indexnow,完整列表见 indexnow.com。通常只有在关注网络延迟或特定的参与搜索引擎时才需要设置此项——它们会在后台相互共享提交的事件,但共享过程可能会有一定延迟。
"mcpServers": {
"mcp_server_indexnow": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/zizzfizzix/mcp-server-indexnow",
"mcp_server_indexnow"
],
"env": {
"INDEXNOW_API_BASE": "https://www.bing.com/indexnow"
}
}
}
INDEXNOW_KEY_LOCATION:可选。如果密钥文件未托管在根目录(/keyfilename.txt),可指定其完整 URL。如果你按照 IndexNow 文档中的选项 2 操作,请使用此项。
"mcpServers": {
"mcp_server_indexnow": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/zizzfizzix/mcp-server-indexnow",
"mcp_server_indexnow"
],
"env": {
"INDEXNOW_KEY_LOCATION": "https://example.com/some/path/myIndexNowKey63638.txt"
}
}
}
示例
与您的 MCP 客户端(例如 AI 助手)交互以调用该工具。具体命令可能取决于客户端,但概念上可以这样说:
助手,请使用 IndexNow 服务提交 URL
https://your-website.com/updated-page,密钥为 'your-indexnow-key'。
或者提交多个 URL:
助手,请使用 IndexNow 服务提交以下 URL,密钥为 'your-indexnow-key':
https://your-website.com/new-article-1https://your-website.com/new-article-2https://your-website.com/deleted-page
请参阅您所用 MCP 客户端的文档,了解如何调用服务工具。随后,该服务会向 IndexNow API 端点发出相应请求,默认端点为 https://api.indexnow.org/indexnow。
开发
开发时,您可以使用以下命令:
# Install dependencies
make install
# Start the server
make start
# Run tests
make test
# Run linting
make lint
# Format code
make format
调试
您可以使用 MCP inspector 调试服务。
make mcp_inspector
根据模板创建
此 MCP 服务基于 cookiecutter 模板创建。要创建类似的服务,请运行:
uvx cookiecutter gh:zizzfizzix/python-base-mcp-server
许可证
mcp-server-indexnow 根据 MIT License 授权。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT License 的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。