项目简介
本项目是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供 Bing 搜索引擎的访问能力。通过集成微软 Bing 搜索 API,该服务器为大型语言模型(LLM)客户端提供网页搜索、新闻搜索和图片搜索三种工具,使得 LLM 能够方便快捷地获取互联网上的实时信息,从而增强其上下文理解和信息处理能力。
主要功能点
- 网页搜索 (bing_web_search): 提供通用的网页信息搜索,帮助 LLM 查找各类网站、文章和信息内容。
- 新闻搜索 (bing_news_search): 专注于新闻资讯的搜索,使 LLM 能够及时获取最新的新闻事件和热点信息。
- 图片搜索 (bing_image_search): 提供图片搜索功能,方便 LLM 查找和利用视觉内容。
- 速率限制: 内置速率限制机制,防止 API 滥用,保障服务的稳定运行。
- 完善的错误处理: 提供全面的错误处理机制,提升服务器的健壮性。
安装步骤
-
克隆仓库:
git clone https://github.com/leehanchung/bing-search-mcp.git cd bing-search-mcp -
安装依赖:
uv venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows uv pip install -e .
服务器配置
为了让 MCP 客户端(如 Claude Desktop、Cursor)连接到 Bing 搜索 MCP 服务器,您需要在客户端的配置文件中添加服务器的启动配置。以下是一个通用的配置示例,您需要根据您的实际环境进行调整。
{ "mcpServers": { "bing-search": { // 服务器名称,客户端通过此名称引用 "command": "uv", // 启动服务器的命令,这里使用 uv (更快的 pip 和 venv 工具) "args": [ // 启动命令的参数 "run", // uv run 子命令,用于运行 Python 模块 "-m", // -m 参数,指定运行模块 "mcp_server_bin_search" // 要运行的 Python 模块名,对应项目中的 mcp_server_bing/__init__.py ], "env": { // 环境变量配置 "BING_API_KEY": "<your-bing-api-key>" // Bing API 密钥,**请替换为您的实际密钥** } } } }
配置参数说明:
- 'server name' (bing-search): 您为该服务器指定的名称,客户端会使用这个名称来识别和调用该服务器提供的工具。您可以自定义名称。
- 'command' (uv): 启动服务器进程的命令。如果您的环境中安装了 'uv',可以直接使用。您也可以根据实际情况替换为 'python' 或 'python3',并相应调整 'args' 中的参数。
- 'args' (["run", "-m", "mcp_server_bin_search"]): 传递给 'command' 的参数。
- '"run"': 'uv run' 命令用于执行 Python 模块或脚本。
- '"-m"': Python 的 '-m' 参数,用于指定模块名称。
- '"mcp_server_bin_search"': 指定要运行的模块为 'mcp_server_bin_search',这会执行项目中的 'mcp_server_bing/init.py' 文件,从而启动 MCP 服务器。
- 'env' ({"BING_API_KEY": "<your-bing-api-key>"}): 设置服务器运行所需的环境变量。
- '"BING_API_KEY"': Bing 搜索 API 的密钥。您必须将 '<your-bing-api-key>' 替换为您在 Microsoft Azure 门户中获取的实际 API 密钥。 请参考 README 文件中 “Getting a Bing API Key” 部分获取密钥。
注意:
- '"command"' 和 '"args"' 的配置需要确保能够正确启动 'mcp_server_bin_search' 模块。请根据您的 Python 环境和 'uv' (或 'python') 命令的路径进行调整。
- '"env"' 中的 'BING_API_KEY' 是必填项。您需要先申请 Bing 搜索 API 密钥并替换 '<your-bing-api-key>'。
基本使用方法
-
启动服务器: 在克隆的仓库目录下,激活虚拟环境后,运行以下命令启动 Bing 搜索 MCP 服务器:
uv run -m mcp_server_bin_search或
python -m mcp_server_bing服务器默认使用 'stdio' (标准输入输出) 作为传输协议,并在终端输出启动信息。
-
配置 MCP 客户端: 打开您的 MCP 客户端(如 Claude Desktop、Cursor)的配置文件,按照 服务器配置 部分的示例,添加或修改 'mcpServers' 配置,确保配置信息正确指向您本地运行的 Bing 搜索 MCP 服务器。
-
在 MCP 客户端中使用工具: 在 MCP 客户端中,您可以使用以下工具名称来调用 Bing 搜索功能:
- 'bing_web_search(query: str, count: int = 10, offset: int = 0, market: str = "en-US")' - 网页搜索
- 'bing_news_search(query: str, count: int = 10, market: str = "en-US", freshness: str = "Day")' - 新闻搜索
- 'bing_image_search(query: str, count: int = 10, market: str = "en-US")' - 图片搜索
例如,在 Claude 中,您可以像这样指示 Claude 使用 Bing 网页搜索:
@bing-search/bing_web_search(query="最新的AI技术发展")客户端会将 '@bing-search/bing_web_search(...)' 解析为对名为 'bing-search' 的 MCP 服务器的 'bing_web_search' 工具的调用,并将请求发送到您配置的 Bing 搜索 MCP 服务器,服务器执行搜索并将结果返回给客户端,最终呈现给用户。
信息
分类
网页与API