O

OpenRouter深度研究协调器

@wheattoast11/openrouter-deep-research-mcp
0 Stars 118 次浏览 wheattoast11 更新于 2026-08-23

一种模型上下文协议服务器,使对话式大语言模型能够将复杂的研究任务委托给由各种OpenRouter模型驱动的专用AI代理,这些代理由Claude协调器协调。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

OpenRouter 代理 MCP 服务器

为 OpenRouter 提供的一个实现了模型上下文协议 (MCP) 的服务器,它提供了先进的研究代理功能。此服务器允许您的对话式 LLM 将研究任务委托给一个使用各种 OpenRouter 模型驱动的不同专业代理的 Claude 研究协调器。

🚀 新 Beta 分支 (03-29-2025)

OpenRouter 代理 MCP 服务器技术概览

OpenRouter 代理 MCP 服务器实现了一个由 AI 驱动的研究复杂编排系统。该摘要重点介绍了最新 beta 版本 (03-29-2025) 中的关键技术组件和能力。

核心架构

  • 模型上下文协议 (MCP): 完整实现了 STDIO 和 HTTP/SSE 传输方式
  • 多代理编排: 包含规划、研究和上下文代理角色的层次化系统
  • 向量嵌入数据库: 使用 pgvector 的 PGLite 用于语义知识存储
  • 轮询负载均衡: 将研究任务分发到不同模型以获得最佳结果
  • 自适应回退系统: 当主要研究失败时,从高成本模型降级到低成本模型

研究能力

  • 多阶段规划: Claude 3.7 Sonnet 将复杂查询分解为专门的子问题
  • 并行执行: 在多个 LLM 上并发进行研究以获取全面的结果
  • 上下文感知优化: 第二阶段规划识别并填补初始研究中的空白
  • 语义知识库: 向量搜索找到相关的过去研究成果来增强新查询
  • 自适应合成: 上下文代理将发现与可定制的受众水平和格式相结合

最近的改进

  • 跨模型韧性: 全面的错误处理确保即使个别模型出现故障也能继续研究
  • 动态缓存: 基于查询复杂性的智能 TTL 和缓存优化
  • 数据库韧性: 数据库操作的指数退避重试逻辑
  • 防御性编程: 整个代码库中都采用了空安全操作
  • 增强用户反馈: 带有详细错误恢复的评分系统
  • 全面测试: 在所有五个 MCP 工具上验证了功能

这个 beta 版通过架构上的改进提高了可靠性和研究质量,同时保持了原始实现的即插即用简便性。该系统可以无缝集成到 VS Code 中的 Cline 和 Claude 桌面应用程序,提供企业级的研究能力在一个独立的包内。

这些改进在保持服务器易用性的同时,提供了更可靠且强大的研究体验。要尝试 beta 版本:

git clone https://github.com/wheattoast11/openrouter-deep-research-mcp.git
cd openrouter-agents
git checkout beta
npm install

🌟 支持这个项目

如果您觉得这个项目有用,请考虑在 GitHub 上给它点个星!您的支持有助于让这个项目变得更好。

GitHub stars
GitHub forks
GitHub issues

您的反馈和贡献总是受欢迎的!

前提条件

  • Node.js(建议使用 v18 或更高版本)和 npm
  • Git
  • 一个 OpenRouter API 密钥(请在 https://openrouter.ai/ 获取)

功能

  • 使用 Claude 3.7 Sonnet(思考模式)进行研究计划
  • 由各种 OpenRouter LLM 支持的多个研究代理
  • 以轮询方式分配模型执行研究任务
  • 可配置的成本选项(高/低),适用于不同的研究需求
  • 自包含,无需外部数据库依赖
  • 内存缓存以实现快速响应时间
  • PGLite 带有向量扩展功能,用于持久存储和相似性搜索

工作原理

  1. 当您发送研究查询时,规划代理(Claude 3.7 Sonnet)会将其分解为多个专门的研究问题。
  2. 每个研究问题会被分配给不同的研究代理,使用高成本或低成本 LLM。
  3. 所有代理的结果被综合成一份全面的研究报告。
  4. 结果被缓存在内存中,并带有嵌入式向量搜索能力的持久存储。
  5. 最终的情境化报告将返回给您。

安装(Node.js / 标准)

这是推荐的方法,用于与 MCP 客户端如 VS Code 中的 Cline 集成。

  1. 克隆此仓库:

    git clone https://github.com/wheattoast11/openrouter-deep-research-mcp.git
    cd openrouter-agents
    
  2. 安装依赖项:

    npm install
    
  3. 从示例创建 .env 文件:

    cp .env.example .env
    

    (在 Windows 上,您可能需要使用 copy .env.example .env)

  4. 编辑 .env 文件并添加您的 OpenRouter API 密钥:

    OPENROUTER_API_KEY=your_api_key_here
    

    (确保此文件保存在项目的根目录下)

Cline / VS Code MCP 集成(推荐)

要使用 Cline 在 VS Code 中与此服务器集成,您需要将其添加到您的 MCP 设置文件中。

  1. 找到你的 Cline MCP 设置文件:

    • 通常位于:c:\Users\YOUR_USERNAME\AppData\Roaming\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json(Windows)或 ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json(macOS)。请根据实际情况替换 YOUR_USERNAME
  2. 编辑 cline_mcp_settings.json 文件: 在主 mcpServers 对象内添加以下配置对象。确保将 "YOUR_PROJECT_PATH_HERE" 替换为你克隆此仓库的绝对路径,并将 "YOUR_OPENROUTER_API_KEY_HERE" 替换为你的实际 API 密钥。

    {
      "mcpServers": {
        // ... 可能存在的其他服务器 ...
    
        "openrouter-research-agents": {
          "command": "cmd.exe", 
          "args": [
            "/c", 
            "YOUR_PROJECT_PATH_HERE/start-mcp-server.bat"
          ], 
          "env": {
            // 重要:替换为你的实际 OpenRouter API 密钥
            "OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY_HERE" 
          },
          "disabled": false, // 确保服务器已启用
          "autoApprove": [
            "conduct_research",
            "research_follow_up",
            "get_past_research",
            "rate_research_report",
            "list_research_history"
          ]
        }
    
        // ... 可能存在的其他服务器 ...
      }
    }
    
    • 为什么使用批处理文件? 使用批处理文件可以确保服务器以正确的环境和目录上下文启动。
    • 为什么在 env 中包含 API 密钥? 虽然服务器使用 dotenv 加载 .env 文件,但在 env 块中提供密钥可确保服务器进程始终能够访问它。
  3. 保存设置文件。 Cline 应该会自动检测新的服务器配置。如果新配置没有立即显示,你可能需要重启 VS Code 或 Cline 扩展。

配置完成后,你将在 Cline 中看到 conduct_research 和其他研究工具。你可以像这样使用它们:

Can you research the latest advancements in quantum computing?

或者指定成本偏好:

Can you conduct a high-cost research on climate change mitigation strategies?

可用模型

高成本模型

  • perplexity/sonar-deep-research
  • perplexity/sonar-pro
  • perplexity/sonar-reasoning-pro
  • openai/gpt-4o-search-preview

低成本模型

  • perplexity/sonar-reasoning
  • openai/gpt-4o-mini-search-preview
  • google/gemini-2.0-flash-001

自定义

你可以通过编辑 .env 文件来自定义可用模型:

HIGH_COST_MODELS=perplexity/sonar-deep-research,perplexity/sonar-pro,other-model
LOW_COST_MODELS=perplexity/sonar-reasoning,openai/gpt-4o-mini-search-preview,other-model

你还可以在 .env 文件中自定义数据库和缓存设置:

PGLITE_DATA_DIR=./researchAgentDB
CACHE_TTL_SECONDS=3600

替代安装方法:HTTP/SSE 用于 Claude 桌面应用程序

该服务器也可以作为独立的 HTTP/SSE 服务运行,以便与 Claude 桌面应用程序集成。

HTTP/SSE 安装步骤

  1. 克隆此仓库(如果尚未完成):
    git clone https://github.com/wheattoast11/openrouter-deep-research-mcp.git
    cd openrouter-agents
    
  2. 按照标准安装步骤创建并配置你的 .env 文件(步骤3和4)。
  3. 使用 npm 启动服务器:
    npm start
    
  4. MCP 服务器将运行,并可通过 http://localhost:3002(或你在 .env 中指定的端口)以 HTTP/SSE 方式访问。

Claude 桌面应用程序集成 (HTTP/SSE)

  1. 打开 Claude 桌面应用程序。

  2. 进入设置 > 开发者。

  3. 点击“编辑配置”。

  4. 在配置中的 mcpServers 数组里添加以下内容:

    {
      "type": "sse",
      "name": "OpenRouter Research Agents (HTTP)", // 如果同时使用 STDIO,请区分
      "host": "localhost",
      "port": 3002, // 或你配置的端口
      "streamPath": "/sse",
      "messagePath": "/messages"
    }
    
  5. 保存并重启 Claude。

持久化与数据存储

该服务器使用:

  • 内存缓存:为了高效的响应缓存(使用 node-cache)
  • PGLite 与 pgvector:用于研究报告的持久存储和向量搜索能力
    • 研究报告存储时附带向量嵌入,以便进行语义相似性搜索
    • 向量搜索用于根据新的查询查找相关的过往研究
    • 所有数据都存储在指定的数据目录中(默认为 './researchAgentDB')

故障排除

  • 连接问题:确保 Claude 的开发者设置与服务器配置相匹配
  • API 密钥错误:验证你的 OpenRouter API 密钥是否正确
  • 未找到代理:如果计划失败,请确保 Claude 正确解析了 XML
  • 模型错误:检查在你的 OpenRouter 账户中是否可用指定的模型

高级配置

可以在 config.js 中修改服务器配置。你可以调整:

  • 可用模型
  • 默认成本偏好
  • 规划代理设置
  • 服务器端口和配置
  • 数据库和缓存设置

认证安全

截至最新更新,对于 HTTP/SSE 传输,默认情况下 API 密钥认证现在是强制性的

  1. 在你的 .env 文件中为生产环境设置 SERVER_API_KEY 环境变量:

    SERVER_API_KEY=your_secure_api_key_here
    
  2. 仅用于开发/测试时,可以通过设置以下选项来禁用认证:

    ALLOW_NO_API_KEY=true
    

这为生产部署提供了增强的安全性,同时保持了开发和测试的灵活性。

测试工具

该仓库包含多个测试工具,以验证实现情况:

  1. 基础工具测试:

    test-all-tools.bat
    

    该脚本单独测试所有五个MCP工具,以验证它们是否正常工作。

  2. MCP服务器测试:

    test-mcp-server.js
    

    测试MCP服务器实现,包括所有传输选项。

  3. 研究代理测试:

    test-research-agent.js
    

    使用实际的OpenRouter API调用来测试核心研究代理功能。

这些工具有助于确保在任何修改后所有组件都能正确运行。

许可证

MIT