使用说明
项目简介
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 容器化部署。
安装步骤
本地开发环境
-
安装 Deno: 访问 Deno 官网,按照指引安装 Deno 运行时环境。
-
克隆仓库: 使用 'git clone https://github.com/riii111/ResearchMCP' 命令克隆 GitHub 仓库到本地。
-
配置环境变量: 复制仓库根目录下的 '.env.example' 文件并重命名为 '.env',根据需要配置以下环境变量:
- 'BRAVE_API_KEY': Brave Search API 密钥 (必需,用于网络搜索)
- 'TAVILY_API_KEY': Tavily Search API 密钥 (可选,用于使用 Tavily Search 搜索引擎)
- 'CLAUDE_API_KEY': Claude API 密钥 (可选,用于启用研究分析功能)
-
运行服务器: 在仓库根目录下,根据需要运行以下命令启动服务器:
- 运行 HTTP 服务器(用于测试和非 MCP 客户端):'make dev'
- 运行 MCP 服务器(用于 Claude Desktop 等 MCP 客户端):'make mcp'
容器环境
- 安装 Docker 和 Docker Compose: 确保已安装 Docker 和 Docker Compose。
- 配置环境变量: 在仓库根目录下创建 '.env' 文件,并参照 '.env.example' 文件配置所需 API 密钥环境变量。
- 构建和运行容器: 在仓库根目录下,依次运行以下命令:
- 构建 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 仓库在您电脑上的实际存储位置进行修改。
基本使用方法
- 确保 ResearchMCP 服务器已成功运行 ('make mcp' 或 Docker 容器启动)。
- 打开支持 MCP 协议的 LLM 客户端 (如 Claude Desktop)。
- 在客户端的 MCP 服务器配置中,添加上述提供的 JSON 配置信息,并根据提示填写或替换必要信息,特别是 'command' 字段的路径。
- 在 LLM 客户端中,您应该能够看到名为 "ResearchMCP" (或您在配置中设置的名称) 的 MCP 服务器。
- 现在,您可以指示 LLM 客户端使用 "ResearchMCP" 服务器提供的 "search" 工具进行网络搜索。具体的调用方式取决于 LLM 客户端的界面和指令格式。例如,在 Claude Desktop 中,您可以使用 '@ResearchMCP search' 或类似的指令来触发搜索功能。
示例对话 (Claude Desktop):
@ResearchMCP search What is the latest news about AI?
LLM 客户端会将搜索请求发送到 ResearchMCP 服务器,服务器执行网络搜索并将结果返回给客户端。
信息
分类
网页与API