使用说明

项目简介

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异步框架开发,支持高并发请求,保证服务稳定性和响应速度。

安装步骤

  1. 环境准备:

    • 确保已安装 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,需要准备科学上网环境。
  2. 下载代码:

    git clone https://github.com/fengin/search-server.git
    cd search-server
  3. 选择搜索引擎:

    • 打开项目根目录下的 '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"'
  4. 配置搜索引擎:

    • 进入 '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 配置

  1. 打开 Claude Desktop 配置文件:

    • Windows: 'C:\Users{用户名}\AppData\Roaming\Claude\claude_desktop_config.json'
    • macOS/Linux: 通常在用户家目录下,具体路径请参考 Claude Desktop 设置中的 "Edit Config" 选项。
  2. 在 'claude_desktop_config.json' 文件中,找到 '"mcpServers": {}' 部分(如果不存在则创建)。

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