Deep Research MCP 服务器使用说明

项目简介

Deep Research MCP 服务器是一个轻量级的后端应用,它实现了模型上下文协议 (MCP),旨在为AI Agent提供强大的深度研究能力。该服务器集成了搜索引擎、网页抓取工具 (Firecrawl) 和 Gemini LLM,能够根据用户查询进行迭代式的深入研究,并生成详细的 Markdown 报告。

主要功能点

  • MCP 工具集成: 无缝集成到支持模型上下文协议 (MCP) 的 AI Agent 生态系统中,作为一个工具被调用。
  • 迭代式深度研究: 通过迭代生成搜索查询、处理搜索结果和深入挖掘,实现对主题的深度探索。
  • Gemini 驱动的智能查询: 利用 Gemini LLM 生成有针对性的搜索查询,提高研究的效率和准确性。
  • 可配置的研究范围: 允许用户通过调整深度 (depth) 和广度 (breadth) 参数,精确控制研究的范围和详细程度。
  • 智能后续问题生成: 能够生成后续问题,帮助用户更清晰地表达研究需求,从而优化研究方向。
  • 全面的 Markdown 报告: 生成包含研究发现、来源链接和结构清晰的 Markdown 格式报告,方便用户直接使用。

安装步骤

  1. 克隆仓库: 使用 'git clone [仓库URL]' 命令将 Deep Research 仓库克隆到本地。
  2. 安装依赖: 进入项目目录,运行 'npm install' 命令安装项目所需的依赖包。
  3. 配置环境变量: 在项目根目录下创建 '.env.local' 文件,并根据需要添加以下 API 密钥:
    • 'GEMINI_API_KEY="你的 Gemini API 密钥"' (必需)
    • 'FIRECRAWL_KEY="你的 Firecrawl API 密钥"' (如果需要使用网页抓取功能)
  4. 构建项目: 运行 'npm run build' 命令编译 TypeScript 代码。

服务器配置

Deep Research MCP 服务器可以通过以下 JSON 配置信息集成到 MCP 客户端中。请将以下配置添加到您的 MCP 客户端的工具配置中:

{
  "serverName": "deep-research-mcp-server",  // MCP 服务器名称,用于标识和管理连接
  "command": "node",                           // 启动 MCP 服务器的命令,这里使用 Node.js 运行时
  "args": [                                    // 启动命令的参数
    "dist/mcp-server.js",                      // MCP 服务器的入口文件路径
    "--env-file",                             // 指定加载环境变量的文件
    ".env.local"                              // 环境变量文件路径,包含 API 密钥等配置
  ]
}

配置参数说明:

  • 'serverName': 自定义的服务器名称,在 MCP 客户端中用于唯一标识该服务器连接。
  • 'command': 运行服务器程序的可执行命令,通常是 'node' 或 'python' 等运行时环境。
  • 'args': 传递给 'command' 的参数列表,用于指定服务器脚本路径、配置文件等。
    • 'dist/mcp-server.js': 编译后的 MCP 服务器主程序文件路径。
    • '--env-file .env.local': Node.js 特有的参数,用于从 '.env.local' 文件加载环境变量,例如 API 密钥。

基本使用方法

  1. 启动 MCP 服务器: 在项目根目录下运行 'node --env-file .env.local dist/mcp-server.js' 命令启动 Deep Research MCP 服务器。
  2. 在 MCP 客户端中调用工具: 在任何兼容 MCP 的 AI Agent 客户端中,您可以使用 'deep-research' 工具进行研究。调用时需要提供以下参数:
    • 'query' (string, 必需): 研究查询语句。
    • 'depth' (number, 可选, 1-5): 研究深度,默认为 2。
    • 'breadth' (number, 可选, 1-5): 研究广度,默认为 4。
    • 'existingLearnings' (string[], 可选): 已有的研究发现,用于在此基础上继续研究。

示例 MCP 客户端调用 (TypeScript):

const mcp = new ModelContextProtocolClient(); // 假设 MCP 客户端已初始化

async function invokeDeepResearchTool() {
  try {
    const result = await mcp.invoke("deep-research", {
      query: "区块链技术原理",
      depth: 2,
      breadth: 4
    });

    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 客户端即可通过配置的连接信息与 Deep Research MCP 服务器通信,并调用 'deep-research' 工具执行研究任务。

信息

分类

网页与API