mcpField
M
mcp-server-bwt

mcp-server-bwt

本地服务
github.com/zizzfizzix商业与营销75 周前更新

关于 mcp-server-bwt

mcp-server-bwt 通过 MCP 向 AI 助手提供 Bing Webmaster Tools API 功能,涵盖站点管理、索引提交、流量、抓取、关键词和链接数据,并支持列表分页与缓存。

主要功能

  1. 01管理已验证站点及其角色
  2. 02提交 URL、Feed 和内容以供索引
  3. 03查看流量和关键词统计
  4. 04检查抓取与链接数据
  5. 05对列表结果分页并缓存

适用场景

  1. 01检查已验证站点及所有权角色
  2. 02提交网页以供索引
  3. 03排查流量、关键词或抓取问题
  4. 04检查链接并管理屏蔽的 URL

MCP 相关

该 MCP 服务将 Bing Webmaster Tools API 功能作为工具提供给兼容客户端。服务需要通过 BING_WEBMASTER_API_KEY 提供 Bing Webmaster Tools API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bwt": {
"command": "uvx",
"args": [
"cookiecutter"
]
}
}
}
启动命令uvx cookiecutter

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicookiecutter

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-bwt

PyPI Python

用于 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 工具来满足您的请求。

要求

安装

mcp-server-bwt 已发布到 PyPI。您的 MCP 客户端会通过 uvx 运行它,因此无需单独安装。以下每个配置都会通过 BING_WEBMASTER_API_KEY 传入您的 API 密钥。

Claude Desktop

在您的 Claude 配置中指定:

"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:获取所有已提交的 Feed
  • get_feed_details:获取特定 Feed 的详细信息
  • remove_feed:从帐户中移除 Feed
  • get_url_submission_quota:查看 URL 提交配额
  • get_content_submission_quota:查看内容提交配额
  • fetch_url:抓取 URL 以供编入索引
  • get_fetched_urls:获取所有已抓取的 URL
  • get_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:获取深层链接算法 URL
  • get_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:获取被拦截的 URL
  • add_blocked_url:将 URL 添加到拦截列表
  • remove_blocked_url:从拦截列表中移除 URL
  • get_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 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。