使用说明
项目简介
Search Service 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为 Cursor IDE 和 Claude Desktop 等 LLM 客户端提供强大的网络搜索能力。它集成了Brave Search, 秘塔搜索 (Metaso), 和博查搜索 (Bocha) 三种搜索引擎,允许用户根据自身需求选择合适的搜索引擎,扩展 LLM 工具的内容获取能力。
主要功能点
- 多搜索引擎支持: 支持Brave Search, 秘塔搜索 (Metaso), 博查搜索 (Bocha) 三种搜索引擎,覆盖国内外,各有特点,用户可根据需求选择。
- LLM 客户端集成: 可以无缝集成到 Cursor IDE 和 Claude Desktop,配置简单,即插即用。
- 模块化设计: 每个搜索引擎都是独立的模块,方便扩展和维护,用户可以根据需要选择启用或修改。
- 灵活配置: 支持通过环境变量或配置文件灵活配置API密钥和搜索引擎选项。
- 异步高并发: 使用Python异步框架开发,支持高并发请求,保证服务稳定性和响应速度。
安装步骤
-
环境准备:
- 确保已安装 Python 3.10+ 和 Node.js v20.15.0。
- 推荐使用 uv 0.24.0+ 作为Python包管理器,可以使用 'pip install uv' 安装。
- 如果使用秘塔搜索 (Metaso),需要安装浏览器驱动,执行命令:
pip install playwright>=1.35.0 playwright install chromium - 建议升级 Cursor 到 >=0.45.10 版本,以避免连接问题。
- 如果使用 Brave Search,需要准备科学上网环境。
-
下载代码:
git clone https://github.com/fengin/search-server.git cd search-server -
选择搜索引擎:
- 打开项目根目录下的 'server.py' 文件。
- 修改 'SEARCH_ENGINE' 变量的值,选择要启用的搜索引擎:
- '"brave"': Brave Search (国外,可能需要魔法,需API Key)
- '"metaso"': 秘塔搜索 (国内,免费,但可能受IP限制,需UID和SID)
- '"bocha"': 博查搜索 (国内,高质量,API Key收费)
- 例如,选择博查搜索,则修改为:'SEARCH_ENGINE = os.getenv("SEARCH_ENGINE", "bocha")' 或直接修改为 'SEARCH_ENGINE = "bocha"'
-
配置搜索引擎:
- 进入 'src/search/proxy/' 目录,根据选择的搜索引擎进入对应的子目录 ('brave', 'metaso', 或 'bocha')。
- 打开 'config.py' 文件,配置API密钥或认证信息。
- Brave Search: 需要申请 Brave Search API Key 并填入 'BRAVE_API_KEY'。
- 秘塔搜索 (Metaso): 需要登录 秘塔AI搜索 网站,在开发者工具 (F12) 的 Application -> Cookies 中找到 'uid' 和 'sid' 的值,并填入 'METASO_UID' 和 'METASO_SID'。
- 博查搜索 (Bocha): 需要申请 博查搜索 API Key 并填入 'BOCHA_API_KEY'。
服务器配置
Cursor 配置
在 Cursor IDE 中,打开设置 (Settings),找到 "MCP Servers" 配置项,点击 "Add Server"。
- Server Name: 'search' (自定义,例如 'search')
- Server Type: 'cmd'
- Command: 'uv'
- Arguments: '--directory <代码仓库路径> run search' (将 '<代码仓库路径>' 替换为你的 'search-server' 代码仓库的绝对路径,例如 'D:\code\search-server' 或 '/home/user/search-server')
示例配置 (JSON 格式,无需手动填写,在Cursor配置界面填写即可):
{ "name": "search", "type": "cmd", "command": "uv", "args": ["--directory", "D:\\code\\search-server", "run", "search"] }
Claude Desktop 配置
-
打开 Claude Desktop 配置文件:
- Windows: 'C:\Users{用户名}\AppData\Roaming\Claude\claude_desktop_config.json'
- macOS/Linux: 通常在用户家目录下,具体路径请参考 Claude Desktop 设置中的 "Edit Config" 选项。
-
在 'claude_desktop_config.json' 文件中,找到 '"mcpServers": {}' 部分(如果不存在则创建)。
-
在 '"mcpServers"' 中添加 "search" 服务器配置,配置 'command' 和 'args',指定代码仓库路径。
示例配置 (JSON 格式,添加到 'claude_desktop_config.json' 文件):
{ "mcpServers": { "search": { "command": "uv", "args": [ "--directory", "D:\\code\\search-server", "run", "search" ] } } }
注意: 将 '"D:\code\search-server"' 替换为你的代码仓库路径。Claude Desktop 配置后需要重启应用才能生效。
基本使用方法
配置完成后,在 Cursor IDE 或 Claude Desktop 中正常工作即可。当 LLM 需要获取网络信息时,会自动调用配置的搜索工具。例如,你可以提问 "总结一下2025年人工智能发展趋势",LLM 会自动调用搜索工具获取网络信息并进行总结。
Cursor 使用注意: 在 Cursor 中,需要启用 Composer 的 Agent 模式才能生效。调用工具时,可能需要手动点击执行。
运行提示: Cursor 启动 MCP Server 时会弹出一个黑窗口 (命令提示符窗口),请不要关闭该窗口,它是 MCP Server 的运行进程。
信息
分类
网页与API