使用说明
项目简介
本项目是 Bocha AI 网页搜索功能的 MCP (Model Context Protocol) 服务器实现。它提供了一个强大的网页搜索工具 'bocha_web_search',允许 LLM 客户端通过 MCP 协议调用 Bocha AI 的搜索服务,检索中国互联网内容,并获取网页内容、摘要和相关图片。
主要功能点
- 网页搜索: 提供检索网页内容、摘要和图片的功能,可以搜索最新的中文互联网信息。
- 灵活的时间范围: 支持按天、周、月、年以及不限时间范围进行搜索,满足不同的信息检索需求。
- 智能摘要: 可选生成详细的文本摘要,帮助快速理解搜索结果。
- 双重输出格式:
- Markdown: 易于人类阅读的格式,包含链接和图片预览,方便直接展示给用户。
- JSON: 结构化数据格式,方便程序化处理和进一步分析。
- 强大的错误处理: 提供全面的错误管理和清晰的错误信息,方便调试和问题排查。
安装步骤
- 克隆仓库
git clone [email protected]:yoko19191/bocha-ai-mcp-server.git cd bocha-ai-mcp-server - 配置环境变量
复制 '.env.example' 文件并重命名为 '.env',然后配置你的 Bocha AI API Key。你需要访问 Bocha AI 官网 获取 API Key。
cp .env.example .env # 编辑 .env 文件,填入你的 BOCHA_API_KEY - 安装依赖并构建
确保你已经安装了 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