使用说明

项目简介

本项目是 Bocha AI 网页搜索功能的 MCP (Model Context Protocol) 服务器实现。它提供了一个强大的网页搜索工具 'bocha_web_search',允许 LLM 客户端通过 MCP 协议调用 Bocha AI 的搜索服务,检索中国互联网内容,并获取网页内容、摘要和相关图片。

主要功能点

  • 网页搜索: 提供检索网页内容、摘要和图片的功能,可以搜索最新的中文互联网信息。
  • 灵活的时间范围: 支持按天、周、月、年以及不限时间范围进行搜索,满足不同的信息检索需求。
  • 智能摘要: 可选生成详细的文本摘要,帮助快速理解搜索结果。
  • 双重输出格式:
    • Markdown: 易于人类阅读的格式,包含链接和图片预览,方便直接展示给用户。
    • JSON: 结构化数据格式,方便程序化处理和进一步分析。
  • 强大的错误处理: 提供全面的错误管理和清晰的错误信息,方便调试和问题排查。

安装步骤

  1. 克隆仓库
    git clone [email protected]:yoko19191/bocha-ai-mcp-server.git
    cd bocha-ai-mcp-server
  2. 配置环境变量 复制 '.env.example' 文件并重命名为 '.env',然后配置你的 Bocha AI API Key。你需要访问 Bocha AI 官网 获取 API Key。
    cp .env.example .env
    # 编辑 .env 文件,填入你的 BOCHA_API_KEY
  3. 安装依赖并构建 确保你已经安装了 Node.js 和 npm。运行以下命令安装项目依赖并构建项目:
    npm install
    npm run build

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令才能连接到 'bocha-ai-search' 服务器。以下是配置信息,请添加到你的 MCP 客户端的 'mcp.json' 配置文件中。请注意将 '/ABSOLUTE/PATH/bocha-ai-mcp-server' 替换为你的 'bocha-ai-mcp-server' 仓库的绝对路径。

{
  "mcpServers": {
    "bocha-ai-search": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/bocha-ai-mcp-server/build/index.js"
      ],
      "env": {
        "BOCHA_API_KEY": "<YOUR_BOCHA_API_KEY>"
      }
    }
  }
}

配置参数说明:

  • 'server name': 'bocha-ai-search' - 服务器名称,用于 MCP 客户端识别和调用。
  • 'command': 'node' - 启动服务器的命令,这里使用 Node.js 运行 JavaScript 代码。
  • 'args':
    • '/ABSOLUTE/PATH/bocha-ai-mcp-server/build/index.js' - 服务器入口文件路径,指向编译后的 'index.js' 文件。请务必替换为你的实际路径。
  • 'env':
    • 'BOCHA_API_KEY': '<YOUR_BOCHA_API_KEY>' - Bocha AI API 密钥,请替换为你在 Bocha AI 官网申请的 API Key。 这个密钥将作为环境变量传递给服务器程序。

基本使用方法

配置完成后,MCP 客户端可以通过 'bocha_web_search' 工具调用 Bocha AI 网页搜索功能。

工具名称: 'bocha_web_search'

工具描述: 使用 Bocha AI 进行网页搜索,搜索结果的详细信息,包括网页标题、网页URL、网页摘要、网站名称、网站Icon、网页发布时间等。支持 Markdown 格式的易读输出或原始 JSON 数据。

工具参数:

  • 'query' (必填, 字符串): 搜索关键词。
  • 'freshness' (可选, 枚举: "OneDay", "OneWeek", "OneMonth", "OneYear", "noLimit"): 搜索时间范围,默认为 "noLimit" (不限时间)。
  • 'summary' (可选, 布尔值): 是否显示详细文本摘要,默认为 'false' (不显示)。
  • 'count' (可选, 数字, 范围: 1-50): 返回结果数量,默认为 '10' 条。
  • 'raw_json' (可选, 布尔值): 是否返回原始 JSON 数据而不是格式化的 Markdown,默认为 'false' (返回 Markdown)。

示例调用 (假设使用 JSON-RPC 客户端):

{
  "jsonrpc": "2.0",
  "method": "tool_call",
  "params": {
    "tool_name": "bocha_web_search",
    "tool_arguments": {
      "query": "北京天气",
      "freshness": "OneDay",
      "summary": true,
      "count": 5,
      "raw_json": false
    }
  },
  "id": "123"
}

这个 JSON-RPC 请求会调用 'bocha_web_search' 工具,搜索关键词为 "北京天气",时间范围为最近一天,返回摘要,返回 5 条结果,并以 Markdown 格式返回。

信息

分类

网页与API