关于 mcp-server-bwt
mcp-server-bwt 通过 MCP 向 AI 助手提供 Bing Webmaster Tools API 功能,涵盖站点管理、索引提交、流量、抓取、关键词和链接数据,并支持列表分页与缓存。
主要功能
- 01管理已验证站点及其角色
- 02提交 URL、Feed 和内容以供索引
- 03查看流量和关键词统计
- 04检查抓取与链接数据
- 05对列表结果分页并缓存
适用场景
- 01检查已验证站点及所有权角色
- 02提交网页以供索引
- 03排查流量、关键词或抓取问题
- 04检查链接并管理屏蔽的 URL
MCP 相关
该 MCP 服务将 Bing Webmaster Tools API 功能作为工具提供给兼容客户端。服务需要通过 BING_WEBMASTER_API_KEY 提供 Bing Webmaster Tools API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-bwt
用于 Bing Webmaster Tools 的 MCP 服务
此 MCP(Model Context Protocol)服务为 Claude 或 Cursor 等受支持的 AI 助手与 Bing Webmaster Tools API 之间提供桥接。它将 bing-webmaster-tools 提供的所有 Bing Webmaster Tools 功能以 MCP 工具的形式开放,供 AI 助手与您的 Bing Webmaster Tools 账户交互。
Claude 使用示例
配置完成后,您可以使用 Claude 与 Bing Webmaster Tools 账户交互。以下是一些提示词示例:
- “列出我在 Bing Webmaster Tools 中所有已验证的网站”
- “提交我的主页以供编入索引”
- “获取我网站的流量统计信息”
- “检查我的网站是否存在任何抓取问题”
- “获取‘我的产品’的关键词统计信息”
Claude 将使用相应的 MCP 工具来满足您的请求。
要求
- uv,它提供
uvx并为您下载合适的 Python 版本 - Bing Webmaster Tools API Key
安装
mcp-server-bwt 已发布到 PyPI。您的 MCP 客户端会通过 uvx 运行它,因此无需单独安装。以下每个配置都会通过 BING_WEBMASTER_API_KEY 传入您的 API 密钥。
Claude Desktop
"mcpServers": {
"mcp_server_bwt": {
"command": "uvx",
"args": ["mcp-server-bwt"],
"env": {
"BING_WEBMASTER_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
Claude Code
claude mcp add bwt -e BING_WEBMASTER_API_KEY=YOUR_API_KEY_HERE -- uvx mcp-server-bwt
Cursor
在 .cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(全局)中添加:
"mcpServers": {
"bwt": {
"command": "uvx",
"args": ["mcp-server-bwt"],
"env": {
"BING_WEBMASTER_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
Zed
在您的 Zed settings.json 中添加:
"context_servers": {
"bwtServer": {
"command": "uvx",
"args": ["mcp-server-bwt"],
"env": {
"BING_WEBMASTER_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
版本与升级
uvx 会缓存首次下载的版本并持续重复使用。若要获取新版本,请使用 "args": ["mcp-server-bwt@latest"],或运行一次 uv cache clean mcp-server-bwt。若要固定版本,请使用 "args": ["[email protected]"]。发行说明请见 CHANGELOG.md。
可用工具
该服务提供以下 Bing Webmaster Tools API 功能(更多信息请参阅 API 文档):
分页结果
返回列表的工具(例如 get_query_stats、get_page_stats 和 get_crawl_issues)每次调用最多返回 50 行,避免大型网站的历史记录撑满客户端的上下文窗口。它们接受两个可选参数:
limit:每次调用返回的行数(1–500,默认值为 50;参见下方的BING_WEBMASTER_PAGE_SIZE)offset:第一行的索引(默认值为 0)
每个分页结果末尾都会有一行类似 Showing 50 of 1200 rows from offset 0; next_offset=50 的内容。相同的值也会出现在结果的 _meta 中,路径为 mcp-server-bwt/pagination(total、offset、limit、next_offset)。如需获取下一页,请再次调用,并将 offset 设为 next_offset。
服务会将下载的每个列表保留 5 分钟(参见下方的 BING_WEBMASTER_CACHE_TTL)。使用相同参数(包括后续页)重复调用时,会从该副本返回数据,而不是再次下载整个列表。会更改数据的工具(例如 add_blocked_url)会清除其所属区域的缓存列表(此处为屏蔽工具),因此下一次读取时会显示更改。站点工具(例如 remove_site)会清除所有缓存列表。在其他位置进行的更改(例如在 Bing 网页界面中进行的更改)可能需要最多 5 分钟才会显示。Bing 计算的统计数据(例如流量、抓取和关键词数据)可能会延迟最多 5 分钟。
**从 0.1.x 迁移:**列表工具过去会返回所有行。若要恢复该行为,请在服务的
env中设置BING_WEBMASTER_PAGE_SIZE=0。若还要在每次调用时获取最新数据,请设置BING_WEBMASTER_CACHE_TTL=0。
站点管理
get_sites:列出 Bing Webmaster Tools 帐户中所有已验证的站点add_site:向帐户添加新站点verify_site:验证站点所有权remove_site:从帐户中移除站点get_site_roles:获取特定站点的角色add_site_roles:为站点添加角色remove_site_role:移除一个站点角色get_site_moves:获取站点迁移信息submit_site_move:提交站点迁移请求
URL 提交
submit_url:提交单个 URL 以供编入索引submit_url_batch:批量提交多个 URL 以供编入索引submit_content:提交内容以供编入索引submit_feed:提交 Feed 以供编入索引get_feeds:获取所有已提交的 Feedget_feed_details:获取特定 Feed 的详细信息remove_feed:从帐户中移除 Feedget_url_submission_quota:查看 URL 提交配额get_content_submission_quota:查看内容提交配额fetch_url:抓取 URL 以供编入索引get_fetched_urls:获取所有已抓取的 URLget_fetched_url_details:获取特定已抓取 URL 的详细信息
流量分析
get_query_stats:获取搜索查询统计数据get_query_traffic_stats:获取搜索查询流量统计数据get_query_page_stats:获取搜索查询页面统计数据get_query_page_detail_stats:获取搜索查询页面详细统计数据get_page_stats:获取页面统计数据get_page_query_stats:获取页面查询统计数据get_rank_and_traffic_stats:获取排名和流量统计数据
抓取
get_crawl_stats:获取抓取统计数据get_crawl_settings:获取抓取设置save_crawl_settings:保存抓取设置get_crawl_issues:获取抓取问题
关键词分析
get_keyword:获取关键词信息get_keyword_stats:获取关键词统计数据get_related_keywords:获取相关关键词
链接分析
get_link_counts:获取链接数量get_url_links:获取 URL 的链接get_deep_link:获取深层链接信息get_deep_link_blocks:获取深层链接屏蔽项add_deep_link_block:添加深层链接屏蔽项remove_deep_link_block:移除深层链接屏蔽项update_deep_link:更新深层链接get_deep_link_algo_urls:获取深层链接算法 URLget_connected_pages:获取关联页面add_connected_page:添加关联页面
内容管理
get_url_info:获取 URL 信息get_url_traffic_info:获取 URL 的流量信息get_children_url_info:获取子 URL 的信息get_children_url_traffic_info:获取子 URL 的流量信息
内容拦截
get_blocked_urls:获取被拦截的 URLadd_blocked_url:将 URL 添加到拦截列表remove_blocked_url:从拦截列表中移除 URLget_active_page_preview_blocks:获取生效的页面预览拦截项add_page_preview_block:添加页面预览拦截项remove_page_preview_block:移除页面预览拦截项
区域设置
get_country_region_settings:获取国家/地区设置add_country_region_settings:添加国家/地区设置remove_country_region_settings:移除国家/地区设置
URL 管理
get_query_parameters:获取查询参数add_query_parameter:添加查询参数remove_query_parameter:移除查询参数enable_disable_query_parameter:启用或禁用查询参数
开发
开发需要 Python >= 3.13 和 uv。只有运行 make mcp_inspector 时才需要 Node.js。
make install 会安装依赖项和 lefthook.yml 中的 Git 钩子:
- pre-commit 会对已暂存的
*.py文件运行ruff check --fix和ruff format。修复会暂存到同一提交中。只有遇到 ruff 无法修复的问题时,提交才会失败。 - pre-push 会运行
mypy --strict;如果推送包含*.py文件,还会运行测试套件;如果包含pyproject.toml或uv.lock,则会运行uv lock --check。
若要跳过一次钩子,请使用 git commit --no-verify 或 git push --no-verify,也可以设置 LEFTHOOK=0。
要运行所有测试:
BING_WEBMASTER_API_KEY=dummy make test
要构建应用:
make build
要检查项目:
make lint
要格式化项目:
make format
从本地检出运行
要在客户端中试用你的更改,请在运行 make install 后,将客户端指向检出的代码库中的虚拟环境。此操作仅供贡献者使用。用户应按照上文所示从 PyPI 安装。
Claude Desktop:
"mcpServers": {
"bwtServer": {
"command": "/PATH/TO/mcp-server-bwt/.venv/bin/python",
"args": ["/PATH/TO/mcp-server-bwt/mcp_server_bwt/main.py"],
"env": {
"BING_WEBMASTER_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
Zed:
"context_servers": {
"bwtServer": {
"command": "/PATH/TO/mcp-server-bwt/.venv/bin/python",
"args": ["/PATH/TO/mcp-server-bwt/mcp_server_bwt/main.py"],
"env": {
"BING_WEBMASTER_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
环境变量
以下环境变量为必需项:
BING_WEBMASTER_API_KEY:你的 Bing Webmaster Tools API 密钥
可选项:
BING_WEBMASTER_PAGE_SIZE:列表工具每次调用默认返回的行数(1–500,默认值为 50)。设为0可关闭分页:列表工具会返回所有行且不显示摘要行,除非调用方传入limit或offset,并且会取消 500 行的上限。如果该值无效,服务将无法启动。BING_WEBMASTER_CACHE_TTL:列表工具将下载的列表缓存起来,以供后续使用相同参数的调用复用的秒数(0–86400,默认值为 300)。结果的过期时间最多可达此秒数;但写入工具会清除其所属区域的缓存列表,站点工具(add_site、remove_site,……)则会清除所有缓存列表。设为0可关闭缓存,因此每次调用都会访问 Bing API。如果该值无效,服务将无法启动。
启动服务
要启动 MCP 服务:
make start
MCP Inspector
你可以使用 MCP Inspector 测试服务:
make mcp_inspector
根据模板创建
此 MCP 服务基于 cookiecutter 模板创建。要创建类似的服务,请运行:
uvx cookiecutter gh:zizzfizzix/python-base-mcp-server
许可证
mcp-server-bwt 根据 MIT License 授权。这意味着你可以自由使用、修改和分发该软件,但须遵守 MIT License 的条款和条件。更多详情请参阅项目代码库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。