项目简介

本项目是基于 Model Context Protocol (MCP) 标准实现的百度搜索服务器。它作为一个独立的后端服务,可以与任何兼容 MCP 协议的 LLM 客户端集成,为 LLM 提供强大的百度搜索能力。通过此服务器,LLM 可以调用 'baidu_search' 工具,利用百度文心 API 进行智能搜索,并获取结构化的搜索结果和参考来源,从而增强 LLM 在信息检索和问答方面的能力。

主要功能点

  • 智能搜索: 利用百度文心 API 提供高质量的搜索服务。
  • 多模型支持: 支持 'ernie-3.5-8k', 'ernie-4.0-8k', 'deepseek-r1', 'deepseek-v3' 等多种模型,用户可以根据需求选择合适的模型。
  • 结果结构化: 返回包含搜索结果和详细参考来源的结构化数据,方便 LLM 理解和利用搜索信息。
  • 多种搜索模式: 支持 'auto', 'required', 'disabled' 等搜索模式,以及深度搜索和时效性过滤等高级选项。
  • 易于集成: 遵循 MCP 协议,可以轻松集成到任何支持 MCP 的 LLM 客户端中。

安装步骤

  1. 安装依赖: 确保你的环境中已安装 Node.js 和 npm。在命令行中执行以下命令安装项目依赖:

    npm install @modelcontextprotocol/sdk axios
  2. 配置环境变量: 你需要拥有百度文心 API 的密钥才能使用此服务器。

    • 访问 百度智能云 创建应用并获取 API 密钥。
    • 设置名为 'BAIDU_API_KEY' 的环境变量,将其值设置为你的 API 密钥。例如,在 Linux 或 macOS 系统中,你可以使用以下命令:
      export BAIDU_API_KEY=你的API密钥

服务器配置

要将此 MCP 服务器添加到你的 MCP 客户端配置中,你需要提供以下 JSON 配置信息。请注意,以下配置中的路径 '/path/to/baidu-search-mcp/build/index.js' 需要替换为你的实际项目路径。

{
  "mcpServers": {
    "baidu-search": {  // 服务器名称,在客户端配置中用于标识和引用
      "command": "node", // 启动服务器的命令,这里使用 Node.js 运行时
      "args": ["/path/to/baidu-search-mcp/build/index.js"], // 启动命令的参数,指向编译后的服务器入口文件
      "env": { // 环境变量配置
        "BAIDU_API_KEY": "你的API密钥" //  百度文心 API 密钥,请替换为你的实际密钥,也可以设置为系统环境变量
      },
      "disabled": false, //  设置为 false 表示启用该服务器,设置为 true 则禁用
      "autoApprove": [] //  自动批准的工具列表,这里为空表示需要手动批准所有工具调用
    }
  }
}

配置说明:

  • '"baidu-search"': MCP 服务器的名称,你可以自定义,客户端会使用这个名称来引用该服务器。
  • '"command": "node"': 指定用于启动服务器的命令是 'node',表示使用 Node.js 运行时环境。
  • '"args": ["/path/to/baidu-search-mcp/build/index.js"]': 'args' 数组包含了传递给 'node' 命令的参数。这里 '/path/to/baidu-search-mcp/build/index.js' 是服务器入口文件 'index.js' 编译后的路径。你需要根据你的实际项目部署位置修改这个路径。
  • '"env": { "BAIDU_API_KEY": "你的API密钥" }': 'env' 对象用于设置服务器运行时的环境变量。 'BAIDU_API_KEY' 是百度文心 API 的密钥,请务必替换为你在百度智能云申请的密钥。为了安全起见,推荐将 'BAIDU_API_KEY' 设置为系统环境变量,而不是直接写在配置文件中。
  • '"disabled": false': 'disabled' 字段设置为 'false' 表示启用此 MCP 服务器。如果设置为 'true',客户端将不会连接此服务器。
  • '"autoApprove": []': 'autoApprove' 数组用于配置自动批准的工具列表。当客户端请求调用列表中的工具时,无需用户手动批准,将自动执行。这里设置为空数组 '[]' 表示禁用自动批准,所有的工具调用都需要手动确认。

基本使用方法

  1. 启动服务器: 在项目根目录下,执行以下命令编译并启动服务器:

    npm run build
    node build/index.js

    服务器成功启动后,会在控制台输出 '百度AI搜索MCP服务器已启动'。

  2. 在 MCP 客户端中使用: 将上述服务器配置添加到你的 MCP 客户端配置文件中。客户端启动后,应该能够自动连接到此百度搜索 MCP 服务器。

  3. 调用 'baidu_search' 工具: 在 LLM 应用中,你可以指示 LLM 调用 'baidu_search' 工具来执行搜索。例如,你可以向 LLM 发送指令:“请使用百度搜索工具查找关于 Model Context Protocol 的最新信息”。

  4. 参数说明: 'baidu_search' 工具支持以下参数:

    • 'query' (必需): 搜索查询文本,例如 "Model Context Protocol"。
    • 'model': 使用的模型名称,可选值包括 "ernie-3.5-8k", "ernie-4.0-8k", "deepseek-r1", "deepseek-v3",默认为 "ernie-3.5-8k"。
    • 'search_mode': 搜索模式,可选值包括 "auto", "required", "disabled",默认为 "auto"。
    • 'enable_deep_search': 是否开启深度搜索,布尔值,默认为 'false'。
    • 'search_recency_filter': 搜索结果的时效性范围,可选值包括 "week", "month", "semiyear", "year"。

    例如,一个完整的工具调用请求可能如下所示:

    {
      "tool_calls": [
        {
          "id": "call_123",
          "type": "function",
          "function": {
            "name": "baidu_search",
            "arguments": {
              "query": "Model Context Protocol 最新进展",
              "model": "ernie-4.0-8k",
              "search_recency_filter": "month"
            }
          }
        }
      ]
    }

通过以上步骤,你就可以在你的 MCP 客户端中使用百度搜索 MCP 服务器提供的搜索能力了。

信息

分类

网页与API