Deep Research MCP Server 使用说明
项目简介
Deep Research MCP Server 是一个基于 Model Context Protocol (MCP) 构建的轻量级研究助手后端服务。它利用 Gemini LLMs 和 Firecrawl 搜索引擎,帮助用户进行深入、迭代式的研究。此项目旨在提供一个简单而有效的深度研究代理实现,方便用户理解、修改和扩展。通过 MCP 协议,它可以无缝集成到各种 AI agent 生态系统中,作为工具被调用,为 agent 提供强大的研究能力。
主要功能点
- MCP 协议集成: 作为 MCP 服务器,可以轻松集成到任何兼容 MCP 协议的 AI agent 平台。
- 迭代式深度研究: 通过迭代生成搜索查询、处理结果,并根据发现深入挖掘研究主题。
- 智能查询生成: 利用 Gemini LLMs 生成有针对性的搜索查询,基于研究目标和先前的发现。
- 可配置的研究深度和广度: 通过参数控制研究的范围(广度)和深入程度(深度)。
- 生成全面的 Markdown 报告: 输出包含研究发现和来源的详细 Markdown 格式报告。
- 并发处理: 高效地并行处理多个搜索和结果,提升研究速度。
安装步骤
-
克隆仓库:
git clone https://github.com/ssdeanx/deep-research-mcp-server cd deep-research-mcp-server -
安装依赖: 确保已安装 Node.js v22.x 或更高版本。
npm install -
配置环境变量: 在项目根目录下创建 '.env.local' 文件,并添加以下 API 密钥:
GEMINI_API_KEY="你的 Gemini API 密钥" FIRECRAWL_KEY="你的 Firecrawl API 密钥" # (可选) 如果你想使用自托管的 Firecrawl 实例 # FIRECRAWL_BASE_URL=http://localhost:3002请访问 Gemini API 和 Firecrawl API 获取 API 密钥。
-
构建项目:
npm run build
服务器配置
以下 JSON 配置信息用于 MCP 客户端连接 Deep Research MCP Server。请将以下配置添加到您的 MCP 客户端配置中。
{ "serverName": "deep-research", "command": "node", "args": [ "--env-file", ".env.local", "dist/mcp-server.js" ], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,设置为 "deep-research"。
- 'command': 启动服务器的命令,这里使用 'node'。
- 'args': 启动命令的参数列表:
- '--env-file .env.local': 指定加载环境变量的文件为 '.env.local',其中包含了 API 密钥等配置。
- 'dist/mcp-server.js': MCP 服务器的入口文件路径。
- 'transport': 使用的传输协议,这里使用 'stdio' (标准输入输出)。
基本使用方法
-
启动 MCP 服务器: 在项目根目录下,运行以下命令启动 Deep Research MCP Server:
node --env-file .env.local dist/mcp-server.js服务器成功启动后,会输出 "MCP server running" 的信息。
-
在 MCP 客户端中调用工具: 在您的 MCP 客户端应用中,可以使用 'deep-research' 工具进行研究。以下是一个 TypeScript 示例,展示如何调用 'deep-research' 工具:
const mcp = new ModelContextProtocolClient(); // 假设 MCP 客户端已初始化 async function invokeDeepResearchTool() { try { const result = await mcp.invoke("deep-research", { query: "区块链技术原理", // 你的研究查询 depth: 2, // 研究深度 (可选, 1-5, 默认: 中等) breadth: 4 // 研究广度 (可选, 1-5, 默认: 中等) }); if (result.isError) { console.error("MCP 工具错误:", result.content[0].text); } else { console.log("研究报告:\n", result.content[0].text); console.log("来源:\n", result.metadata.sources); } } catch (error) { console.error("MCP 调用错误:", error); } } invokeDeepResearchTool();在 'mcp.invoke' 方法中,第一个参数 '"deep-research"' 是要调用的工具名称,第二个参数是工具的输入参数,例如 'query'(研究查询)、'depth'(研究深度)、'breadth'(研究广度)等。
调用成功后,'result.content[0].text' 中将包含 Markdown 格式的研究报告,'result.metadata.sources' 中包含报告中引用的来源链接。
更多信息
- 您可以通过修改 '.env.local' 文件来配置 Gemini API 和 Firecrawl API 的密钥。
- 可以通过调整 'depth' 和 'breadth' 参数来控制研究的深度和广度。
- 详细信息请参考 仓库 README。
信息
分类
AI与计算