返回 MCP 目录
public公开dns本地运行

DeepResearch

DeepResearch MCP是一个基于模型上下文协议(MCP)的智能研究助手,通过自动网络搜索、内容分析和结构化报告生成,提供全面的研究支持。

article

README

🚀 深度研究MCP项目文档

深度研究MCP(深度研究模型上下文协议)是一个智能研究平台,它基于模型上下文协议构建,支持与Claude Desktop等工具集成。该系统借助调用OpenAI和Firecrawl API,为用户提供强大的研究功能。

🚀 快速开始

本项目是一个基于模型上下文协议构建的智能研究平台,支持与Claude Desktop等工具集成,通过调用OpenAI和Firecrawl API提供强大的研究功能。下面为你介绍如何快速开启使用。

✨ 主要特性

  • 基于模型上下文协议构建,具有良好的扩展性和兼容性。
  • 支持与Claude Desktop等工具集成,丰富研究手段。
  • 调用OpenAI和Firecrawl API,提供强大的研究功能。

📦 安装指南

克隆仓库

将项目仓库克隆到本地,并安装所需依赖。

git clone https://github.com/yourusername/deep-research-mcp.git
cd deep-research-mcp
npm install

启动服务

安装完成后,启动项目服务。

node dist/index.js

📚 详细文档

配置说明

研究初始化工具

interface ResearchInitialization {
  query: string;
  depth: number;
}

研究步骤执行工具

interface ResearchStepExecution {
  sessionId: string;
}

最终报告生成工具

interface ReportGeneration {
  sessionId: string;
  timeout?: number;
}

💻 使用示例

基础用法

以下是使用客户端与服务端进行交互的示例代码,展示了如何初始化研究、执行研究步骤以及生成最终报告。

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

async function main() {
  // 连接到服务端
  const transport = new StdioClientTransport({
    command: "node",
    args: ["dist/index.js"]
  });

  const client = new Client({ name: "deep-research-client", version: "1.0.0" });
  await client.connect(transport);

  // 初始化研究
  const initResult = await client.callTool({
    name: "initialize-research",
    arguments: {
      query: "人工智能对医疗保健的影响",
      depth: 3
    }
  });
  
  // 解析响应以获取 sessionId
  const { sessionId } = JSON.parse(initResult.content[0].text);
  
  // 执行步骤直到完成
  let currentDepth = 0;
  while (currentDepth < 3) {
    const stepResult = await client.callTool({
      name: "execute-research-step",
      arguments: { sessionId }
    });
    
    const stepInfo = JSON.parse(stepResult.content[0].text);
    currentDepth = stepInfo.currentDepth;
    
    console.log(`完成步骤 ${stepInfo.currentDepth}/${stepInfo.maxDepth}`);
  }
  
  // 生成最终报告带有超时设置
  const report = await client.callTool({
    name: "generate-report",
    arguments: { 
      sessionId,
      timeout: 180000 // 设置3分钟的超时时间
    }
  });
  
  console.log("最终报告:");
  console.log(report.content[0].text);
}

main().catch(console.error);

🔧 技术细节

故障排除

常见问题

  • 超出令牌限制:对于非常大的研究主题,可能会遇到OpenAI令牌限制错误。解决方法:

    • 减少研究深度
    • 使用更具体的查询
    • 将复杂主题分解为较小的子主题
  • 超时错误:对于复杂的研究,过程可能会超时。解决方案:

    • 增加工具调用的超时参数
    • 使用complete-research工具并设置更长的超时时间
    • 分阶段处理研究内容
  • API速率限制:如果遇到OpenAI或Firecrawl的速率限制错误:

    • 在研究步骤之间添加延迟
    • 使用具有更高速率限制的API密钥
    • 批量处理请求

📄 许可证

项目采用MIT许可证,具体请参考LICENSE文件。

贡献指南

欢迎贡献!请参阅CONTRIBUTING.md了解如何为项目做出贡献。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端