OpenRouter深度研究协调器
一种模型上下文协议服务器,使对话式大语言模型能够将复杂的研究任务委托给由各种OpenRouter模型驱动的专用AI代理,这些代理由Claude协调器协调。
服务介绍
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 上给它点个星!您的支持有助于让这个项目变得更好。
您的反馈和贡献总是受欢迎的!
前提条件
- Node.js(建议使用 v18 或更高版本)和 npm
- Git
- 一个 OpenRouter API 密钥(请在 https://openrouter.ai/ 获取)
功能
- 使用 Claude 3.7 Sonnet(思考模式)进行研究计划
- 由各种 OpenRouter LLM 支持的多个研究代理
- 以轮询方式分配模型执行研究任务
- 可配置的成本选项(高/低),适用于不同的研究需求
- 自包含,无需外部数据库依赖
- 内存缓存以实现快速响应时间
- PGLite 带有向量扩展功能,用于持久存储和相似性搜索
工作原理
- 当您发送研究查询时,规划代理(Claude 3.7 Sonnet)会将其分解为多个专门的研究问题。
- 每个研究问题会被分配给不同的研究代理,使用高成本或低成本 LLM。
- 所有代理的结果被综合成一份全面的研究报告。
- 结果被缓存在内存中,并带有嵌入式向量搜索能力的持久存储。
- 最终的情境化报告将返回给您。
安装(Node.js / 标准)
这是推荐的方法,用于与 MCP 客户端如 VS Code 中的 Cline 集成。
-
克隆此仓库:
git clone https://github.com/wheattoast11/openrouter-deep-research-mcp.git cd openrouter-agents -
安装依赖项:
npm install -
从示例创建
.env文件:cp .env.example .env(在 Windows 上,您可能需要使用
copy .env.example .env) -
编辑
.env文件并添加您的 OpenRouter API 密钥:OPENROUTER_API_KEY=your_api_key_here(确保此文件保存在项目的根目录下)
Cline / VS Code MCP 集成(推荐)
要使用 Cline 在 VS Code 中与此服务器集成,您需要将其添加到您的 MCP 设置文件中。
-
找到你的 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。
- 通常位于:
-
编辑
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块中提供密钥可确保服务器进程始终能够访问它。
-
保存设置文件。 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 安装步骤
- 克隆此仓库(如果尚未完成):
git clone https://github.com/wheattoast11/openrouter-deep-research-mcp.git cd openrouter-agents - 按照标准安装步骤创建并配置你的
.env文件(步骤3和4)。 - 使用 npm 启动服务器:
npm start - MCP 服务器将运行,并可通过
http://localhost:3002(或你在.env中指定的端口)以 HTTP/SSE 方式访问。
Claude 桌面应用程序集成 (HTTP/SSE)
-
打开 Claude 桌面应用程序。
-
进入设置 > 开发者。
-
点击“编辑配置”。
-
在配置中的
mcpServers数组里添加以下内容:{ "type": "sse", "name": "OpenRouter Research Agents (HTTP)", // 如果同时使用 STDIO,请区分 "host": "localhost", "port": 3002, // 或你配置的端口 "streamPath": "/sse", "messagePath": "/messages" } -
保存并重启 Claude。
持久化与数据存储
该服务器使用:
- 内存缓存:为了高效的响应缓存(使用 node-cache)
- PGLite 与 pgvector:用于研究报告的持久存储和向量搜索能力
- 研究报告存储时附带向量嵌入,以便进行语义相似性搜索
- 向量搜索用于根据新的查询查找相关的过往研究
- 所有数据都存储在指定的数据目录中(默认为 './researchAgentDB')
故障排除
- 连接问题:确保 Claude 的开发者设置与服务器配置相匹配
- API 密钥错误:验证你的 OpenRouter API 密钥是否正确
- 未找到代理:如果计划失败,请确保 Claude 正确解析了 XML
- 模型错误:检查在你的 OpenRouter 账户中是否可用指定的模型
高级配置
可以在 config.js 中修改服务器配置。你可以调整:
- 可用模型
- 默认成本偏好
- 规划代理设置
- 服务器端口和配置
- 数据库和缓存设置
认证安全
截至最新更新,对于 HTTP/SSE 传输,默认情况下 API 密钥认证现在是强制性的:
-
在你的
.env文件中为生产环境设置SERVER_API_KEY环境变量:SERVER_API_KEY=your_secure_api_key_here -
仅用于开发/测试时,可以通过设置以下选项来禁用认证:
ALLOW_NO_API_KEY=true
这为生产部署提供了增强的安全性,同时保持了开发和测试的灵活性。
测试工具
该仓库包含多个测试工具,以验证实现情况:
-
基础工具测试:
test-all-tools.bat该脚本单独测试所有五个MCP工具,以验证它们是否正常工作。
-
MCP服务器测试:
test-mcp-server.js测试MCP服务器实现,包括所有传输选项。
-
研究代理测试:
test-research-agent.js使用实际的OpenRouter API调用来测试核心研究代理功能。
这些工具有助于确保在任何修改后所有组件都能正确运行。
许可证
MIT