项目简介

本项目是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供 Bing 搜索引擎的访问能力。通过集成微软 Bing 搜索 API,该服务器为大型语言模型(LLM)客户端提供网页搜索、新闻搜索和图片搜索三种工具,使得 LLM 能够方便快捷地获取互联网上的实时信息,从而增强其上下文理解和信息处理能力。

主要功能点

  • 网页搜索 (bing_web_search): 提供通用的网页信息搜索,帮助 LLM 查找各类网站、文章和信息内容。
  • 新闻搜索 (bing_news_search): 专注于新闻资讯的搜索,使 LLM 能够及时获取最新的新闻事件和热点信息。
  • 图片搜索 (bing_image_search): 提供图片搜索功能,方便 LLM 查找和利用视觉内容。
  • 速率限制: 内置速率限制机制,防止 API 滥用,保障服务的稳定运行。
  • 完善的错误处理: 提供全面的错误处理机制,提升服务器的健壮性。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/leehanchung/bing-search-mcp.git
    cd bing-search-mcp
  2. 安装依赖:

    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>'。

基本使用方法

  1. 启动服务器: 在克隆的仓库目录下,激活虚拟环境后,运行以下命令启动 Bing 搜索 MCP 服务器:

    uv run -m mcp_server_bin_search

    python -m mcp_server_bing

    服务器默认使用 'stdio' (标准输入输出) 作为传输协议,并在终端输出启动信息。

  2. 配置 MCP 客户端: 打开您的 MCP 客户端(如 Claude Desktop、Cursor)的配置文件,按照 服务器配置 部分的示例,添加或修改 'mcpServers' 配置,确保配置信息正确指向您本地运行的 Bing 搜索 MCP 服务器。

  3. 在 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