小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
3
最近更新:1个月前

MCP Server 自动协调与 Claude 和 Perplexity/GPT/Gemini 的研究工作

OpenRouter Agents MCP 服务器

一个为 OpenRouter 实现的模型上下文协议 (MCP) 服务器,提供复杂的研究代理能力。该服务器允许您的对话式 LLM 将研究工作委托给 Claude 研究协调器,该协调器使用由各种 OpenRouter 模型驱动的不同专业代理。

🚀 新测试分支 (2025-03-29)

OpenRouter Agents MCP 服务器技术概述

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

核心架构

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

研究能力

  • 多阶段规划: Claude 3.7 Sonnet 将复杂查询分解为专业子问题
  • 并行执行: 跨多个 LLM 进行并行研究以获得全面结果
  • 上下文感知优化: 第二阶段规划识别并填补初始研究中的空白
  • 语义知识库: 向量搜索查找相关历史研究以增强新查询
  • 自适应综合: 上下文代理整合发现结果,支持可定制的受众级别和格式

最新改进

  • 跨模型韧性: 全面的错误处理确保研究流程不受单个模型故障影响
  • 动态缓存: 基于查询复杂度的智能 TTL 和缓存优化
  • 数据库韧性: 数据库操作采用指数退避重试逻辑
  • 防御性编程: 整个代码库实施空值安全操作
  • 增强的用户反馈: 包含详细错误恢复的评分系统
  • 全面测试: 验证所有五个 MCP 工具的功能

测试版通过架构改进提高了可靠性和研究质量,同时保持了原始实现的即插即用简单性。该系统无缝集成 VS Code 中的 Cline 和 Claude 桌面应用,在自包含包中提供企业级研究能力。

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

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

🌟 支持本项目

如果您觉得这个项目有帮助,请在 GitHub 上给它一个 star!您的支持有助于改进这个项目。

GitHub stars
GitHub forks
GitHub issues

我们始终欢迎您的反馈和贡献!

先决条件

功能特性

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

工作原理

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

安装 (Node.js / 标准方式)

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

  1. 克隆此仓库:

    bash 复制代码
    git clone https://github.com/wheattoast11/openrouter-deep-research-mcp.git
    cd openrouter-agents
  2. 安装依赖:

    bash 复制代码
    npm install
  3. 从示例创建 .env 文件:

    bash 复制代码
    cp .env.example .env

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

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

    dotenv 复制代码
    OPENROUTER_API_KEY=您的API密钥

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

Cline / VS Code MCP 集成 (推荐)

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

  1. 定位您的 Cline MCP 设置文件:

    • 通常位于:c:\Users\您的用户名\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)。请替换 您的用户名
  2. 编辑 cline_mcp_settings.json 文件: 在主 mcpServers 对象中添加以下配置对象。确保将 "YOUR_PROJECT_PATH_HERE" 替换为您克隆此仓库的绝对路径,将 "YOUR_OPENROUTER_API_KEY_HERE" 替换为您的实际 API 密钥。

    json 复制代码
    {
      "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 和其他研究工具可用。您可以这样使用它们:

复制代码
你能研究量子计算的最新进展吗?

或指定成本偏好:

复制代码
你能对气候变化缓解策略进行高成本研究吗?

可用模型

高成本模型

  • 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,其他模型
LOW_COST_MODELS=perplexity/sonar-reasoning,openai/gpt-4o-mini-search-preview,其他模型

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

复制代码
PGLITE_DATA_DIR=./researchAgentDB
CACHE_TTL_SECONDS=3600

替代安装:用于 Claude 桌面应用的 HTTP/SSE

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

HTTP/SSE 安装步骤

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

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

  1. 打开 Claude 桌面应用。

  2. 转到 设置 > 开发者。

  3. 点击 "编辑配置"。

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

    json 复制代码
    {
      "type": "sse",
      "name": "OpenRouter Research Agents (HTTP)", // 如果也使用 STDIO 则区分
      "host": "localhost",
      "port": 3002, // 或您配置的端口
      "streamPath": "/sse",
      "messagePath": "/messages"
    }
  5. 保存并重启 Claude。

持久性与数据存储

本服务器使用:

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

故障排除

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

高级配置

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

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

认证安全

根据最新更新,HTTP/SSE 传输现在默认强制 API 密钥认证

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

    复制代码
    SERVER_API_KEY=您的安全API密钥
  2. 仅用于开发/测试,您可以通过设置禁用认证:

    复制代码
    ALLOW_NO_API_KEY=true

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

测试工具

仓库包含多个测试工具来验证实现:

  1. 基本工具测试

    bash 复制代码
    test-all-tools.bat

    此脚本隔离测试所有五个 MCP 工具以验证它们是否正常工作。

  2. MCP 服务器测试

    bash 复制代码
    test-mcp-server.js

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

  3. 研究代理测试

    bash 复制代码
    test-research-agent.js

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

这些工具有助于确保所有组件在修改后都能正常工作。

许可证

MIT