使用说明

项目简介

ResearchMCP 服务器是一个研究工具,它实现了 Model Context Protocol (MCP),旨在为大型语言模型 (LLM) 客户端(如 Claude Desktop)提供上下文信息和外部功能。通过集成 Brave Search, Tavily Search 等搜索引擎,以及可选的 Claude API,ResearchMCP 服务器可以扩展 LLM 的研究能力,使其能够进行更深入的网络搜索和信息分析。

主要功能点

  • MCP 协议兼容: 完全遵循 Model Context Protocol 协议,可以作为 MCP 服务器与支持 MCP 协议的 LLM 客户端进行通信。
  • 网络搜索: 支持通过 Brave Search API 和 Tavily Search API 进行网络搜索,为 LLM 提供最新的网络信息。
  • 搜索结果缓存: 缓存搜索结果以提高性能并减少 API 调用次数,优化使用体验。
  • 研究能力增强: 可选集成 Claude API,对搜索结果进行深入分析和总结,提供更结构化的研究报告(需要配置 Claude API 密钥)。
  • 多种部署方式: 支持本地开发运行和 Docker 容器化部署。

安装步骤

本地开发环境

  1. 安装 Deno: 访问 Deno 官网,按照指引安装 Deno 运行时环境。

  2. 克隆仓库: 使用 'git clone https://github.com/riii111/ResearchMCP' 命令克隆 GitHub 仓库到本地。

  3. 配置环境变量: 复制仓库根目录下的 '.env.example' 文件并重命名为 '.env',根据需要配置以下环境变量:

    • 'BRAVE_API_KEY': Brave Search API 密钥 (必需,用于网络搜索)
    • 'TAVILY_API_KEY': Tavily Search API 密钥 (可选,用于使用 Tavily Search 搜索引擎)
    • 'CLAUDE_API_KEY': Claude API 密钥 (可选,用于启用研究分析功能)
  4. 运行服务器: 在仓库根目录下,根据需要运行以下命令启动服务器:

    • 运行 HTTP 服务器(用于测试和非 MCP 客户端):'make dev'
    • 运行 MCP 服务器(用于 Claude Desktop 等 MCP 客户端):'make mcp'

容器环境

  1. 安装 Docker 和 Docker Compose: 确保已安装 Docker 和 Docker Compose。
  2. 配置环境变量: 在仓库根目录下创建 '.env' 文件,并参照 '.env.example' 文件配置所需 API 密钥环境变量。
  3. 构建和运行容器: 在仓库根目录下,依次运行以下命令:
    • 构建 Docker 镜像:'make d-build'
    • 启动 Docker 容器:'make d-up' (后台运行) 或 'make d-dev' (前台运行,方便查看日志)

服务器配置 (MCP 客户端)

以下 JSON 配置信息用于在 MCP 客户端(例如 Claude Desktop)中添加 ResearchMCP 服务器。请根据实际情况修改 'command' 字段中的路径。

{
  "mcpServers": {
    "ResearchMCP": {
      "description": "Web search powered by ResearchMCP Server",
      "command": "/absolute/path/to/ResearchMCP/cli.ts",  // 请替换为 cli.ts 文件的绝对路径
      "args": [],
      "transport": "stdio",
      "env": {
        "BRAVE_API_KEY": "your_brave_api_key_here",      // 可在此处配置 API 密钥,也可在 .env 文件中配置
        "TAVILY_API_KEY": "your_tavily_api_key_here"       // 可选:Tavily API 密钥
      }
    }
  }
}

配置参数说明:

  • '"ResearchMCP"': 服务器名称,可以自定义。
  • '"description"': 服务器描述,用于在客户端界面显示。
  • '"command"': 重要: 指向 'cli.ts' 文件的绝对路径。需要将 '/absolute/path/to/ResearchMCP/cli.ts' 替换为实际的 'cli.ts' 文件在您系统中的完整路径。
  • '"args"': 启动 'cli.ts' 脚本的命令行参数,此处为空数组,表示不传递额外参数。
  • '"transport"': MCP 服务器使用的传输协议,'"stdio"' 表示标准输入输出流,Claude Desktop 通常使用此协议。
  • '"env"': 环境变量配置。
    • '"BRAVE_API_KEY"': Brave Search API 密钥,必需。 可以直接填写在 JSON 中,但更推荐在 '.env' 文件中统一管理,此处留空即可。
    • '"TAVILY_API_KEY"': Tavily Search API 密钥,可选。 如果需要使用 Tavily Search 作为搜索引擎,则需要配置。同样推荐在 '.env' 文件中配置。

请注意: 'command' 字段中的路径必须是 'cli.ts' 文件的绝对路径。您需要根据 ResearchMCP 仓库在您电脑上的实际存储位置进行修改。

基本使用方法

  1. 确保 ResearchMCP 服务器已成功运行 ('make mcp' 或 Docker 容器启动)。
  2. 打开支持 MCP 协议的 LLM 客户端 (如 Claude Desktop)。
  3. 在客户端的 MCP 服务器配置中,添加上述提供的 JSON 配置信息,并根据提示填写或替换必要信息,特别是 'command' 字段的路径。
  4. 在 LLM 客户端中,您应该能够看到名为 "ResearchMCP" (或您在配置中设置的名称) 的 MCP 服务器。
  5. 现在,您可以指示 LLM 客户端使用 "ResearchMCP" 服务器提供的 "search" 工具进行网络搜索。具体的调用方式取决于 LLM 客户端的界面和指令格式。例如,在 Claude Desktop 中,您可以使用 '@ResearchMCP search' 或类似的指令来触发搜索功能。

示例对话 (Claude Desktop):

@ResearchMCP search What is the latest news about AI?

LLM 客户端会将搜索请求发送到 ResearchMCP 服务器,服务器执行网络搜索并将结果返回给客户端。

信息

分类

网页与API