AI网关协调服务

Nexus MCP是一个通用AI网关,用于协调27个AI提供商的任务,支持多代理计划和决策会议,通过单一服务器实现。

  • by 0-Gaurav-0
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 0-Gaurav-0/nexus-mcp

使用说明

Nexus MCP

克劳德的通用人工智能网关 --将任务委托给27家人工智能提供商。协调多代理计划。管理决策委员会。所有这些都来自单个MCP服务器。


什么是Nexus MCP?

Nexus MCP是一款 模型上下文协议(MCP)服务器 这使Claude成为多AI系统的编排引擎。Nexus代理执行任务,而不是克劳德做所有事情,而克劳德则计划、决定、监控和干预。

范式:Opus计划,Nexus执行

  • 克劳德/Opus:战略思维、规划、最终决策
  • Nexus代理:自主执行、研究、推理、工具使用、代码生成
  • 27家人工智能提供商:GPT-5.4、Gemini、Nemotron、Claude、Ollama、本地模型等

主要特点

  • 27供应商:22云(OpenAI、Google Gemini、Anthropic、Mistral、Cohere、Groq、Together、Perplexity、DeepSeek、xAI、HuggingFace、Replicate、Nvidia等)+5本地(Ollama、LM Studio、llama.cpp、LocalAI、vLLM)
  • 15个MCP工具:快速提问、子代理、自主代理、计划执行、多代理委员会
  • 3种编排模式:
    • 代理:使用file/bash/web工具自主执行(ReAct循环)
    • 计划:具有依赖关系和上下文注入的结构化DAG工作流
    • 议会:多模式审议(讨论/辩论/研究模式)
  • 3种身份验证模式:API密钥,浏览器会话(剧作家),无Auth(本地模型)
  • Web仪表板:视觉配置位于 http://localhost:9777 --无JSON编辑
  • 多轮审议:代理人看到彼此的输出。Opus做出最终决定
  • 零AI SDK:所有供应商通过raw fetch() --最小依赖性
  • 浏览器身份验证:通过Chromium登录-不需要API密钥

快速开始

1.安装

git clone https://github.com/your-username/nexus-mcp.git
cd nexus-mcp
npm install
npx playwright install chromium

2.构建和运行

npm run build    # Compile TypeScript
npm start        # Run the server

或用于开发:

npm run dev      # Run with tsx (hot reload)

3.添加到克劳德桌面

编辑您的Claude桌面配置(%APPDATA%\Claude\claude_desktop_config.json 在Windows上):

{
  "mcpServers": {
    "nexus": {
      "command": "node",
      "args": ["C:/path/to/nexus-mcp/dist/index.js"]
    }
  }
}

重新启动克劳德桌面。您应该在MCP工具列表中看到Nexus工具。

4.添加到克劳德代码

claude mcp add nexus -- node /path/to/nexus-mcp/dist/index.js

5.配置

打开 http://localhost:9777 在浏览器中:

  • 启用提供者
  • 添加API密钥
  • 切换模型
  • 设置浏览器身份验证

或者通过聊天进行配置:

Use nexus_configure to set up OpenAI with API key sk-...
Use nexus_switch_model to switch to openai / gpt-4o
Use nexus_ask to ask: What is the meaning of life?

MCP工具(共15个)

核心工具

工具 说明
nexus_ask 向任何供应商/模型提问——快速意见
nexus_switch_model 更改活动提供商和型号
nexus_list_models 列出所有27家供应商和217+型号
nexus_status 对所有提供者进行健康检查
nexus_configure 添加/更新聊天中的API密钥和设置
nexus_reauth 重新验证OAuth提供者

子代理--并行文本任务

工具 说明
nexus_subagent_spawn 创建一批仅支持并行文本的任务
nexus_subagent_run 运行子代理并收集结果
nexus_subagent_collab 链模型:A草稿→ B评论→ C合成
nexus_subagent_status 检查批次/任务状态

代理人——自主执行

工具 说明
nexus_agent_run 使用file/bash/web工具运行单个代理(ReAct循环)
nexus_agent_multi 使用工具并行运行多个代理

编排——复杂的工作

工具 说明
nexus_plan_execute DAG计划执行器——具有依赖关系的步骤,并行执行
nexus_plan_status 按ID检查计划状态
nexus_council 多模式理事会——讨论/辩论/研究模式,多轮

支持的提供商(共27个)

云提供商(22)

提供者 身份验证模式 关键模型
开放人工智能 API密钥,OAuth gpt-4或,gpt-5.4或1或3-mini
谷歌双子座 API密钥,OAuth gemini-2.0-闪存,gemini-2.0-p
Anthropic API密钥 claude-opus-4-6,claude-sonnet-4-6
英伟达 API密钥(免费) Nemotron-120B,NV-嵌入式
米斯特拉尔 API密钥 无效-大型,代码字符串
凝聚 API密钥 命令-r-plus,命令-r
Groq API密钥 Llama-3.3-70B,混合物-8x7B
共同AI API密钥 Llama-3.3-70B,Qwen2.5-72B
困惑度 API密钥 sonar-pro,sonar-reasoning
深度求索 API密钥 深度搜索聊天,深度搜索推理器
xAI(格罗克) API密钥 grok-2,grok-2-mini
拥抱脸 API密钥 Llama-3.3-70B,混合物-8x7B
复制 API密钥 100多种开源模型
开放路由 API密钥 多供应商路由
烟花 API密钥 快速推理
DeepInfra API密钥 100多种型号,价格便宜
思瑞博 API密钥 快速推理
SambaNova API密钥 CoE体系结构
算盘。人工智能 API密钥 自定义模型
AI21实验室 API密钥 侏罗纪模型
OpenCode禅 API密钥 自定义网关
自定义 API密钥,OAuth 任何与OpenAI兼容的终结点

本地供应商(5)

提供程序 默认端口 注释
奥拉玛 11434 自动发现已安装的型号
LM 工作室 1234 OpenAI兼容的API
llama.cpp 8080 OpenAI兼容的API
LocalAI 8080 OpenAI兼容的API
vLLM 8000 兼容OpenAI的API

浏览器身份验证

对于支持它的提供商,您可以使用现有的浏览器登录,而不是API密钥:

  1. 使用 nexus_reauth 工具或单击🔑 仪表板上的按钮
  2. Chromium浏览器窗口在提供商的登录页面打开
  3. 正常登录
  4. 关闭浏览器--您的会话已保存
  5. 未来的请求将使用已保存的会话(无头)

会话存储在 ~/.nexus/sessions/.


建筑

Claude Desktop/Code
    │
    ├──stdio──> Nexus MCP Server
    │              ├─ MCP Handler (15 tools)
    │              ├─ Orchestrator
    │              │   ├─ Agent Executor (ReAct loop, tools)
    │              │   ├─ Plan Executor (DAG scheduler, dependency injection)
    │              │   ├─ Council Manager (multi-round deliberation)
    │              │   └─ Subagent Manager (parallel text tasks)
    │              ├─ Provider Router (27 providers, auto-failover)
    │              ├─ Auth Manager (API Key, OAuth PKCE, Sessions)
    │              └─ Web Dashboard (:9777)
    │
    ├──http──> Dashboard UI (http://localhost:9777)
    │
    └──APIs──> 27 AI Providers
                 ├─ 22 Cloud APIs
                 └─ 5 Local Servers

单个Node.js进程。 MCP的Stdio(Claude通信),仪表板UI的HTTP,出站到提供商API。配置在 ~/.nexus/config.json.


范式:Opus计划,Nexus执行

克劳德/奥普斯是 战略大脑它从不直接执行。相反:

  1. 克劳德计划 --将复杂的工作结构化为DAG,通过理事会协调决策
  2. Nexus代理执行 --使用工具(文件读/写、bash、网络搜索)自主执行
  3. 克劳德评论并决定 --监控所有输出,在需要时进行干预,进行最后通话

何时使用每种工具

场景 工具 为什么
快速提问 nexus_ask 从任何模特那里获得即时意见
平行研究 nexus_subagent_run 5个代理并行研究
代码/文件工作 nexus_agent_run 带有工具(读、写、bash)的代理
多步骤项目 nexus_plan_execute 有依赖关系的DAG,并行执行
架构选择 nexus_council (辩论) 模特们互相挑战,Opus决定
安全审计 nexus_council (研究) 代理人使用工具进行调查

计划示例

一个三步代码生成项目:

{
  title: "Add JWT Auth",
  steps: [
    {
      id: "analyze",
      mode: "agent",
      description: "Read codebase and find auth patterns"
    },
    {
      id: "code",
      depends_on: ["analyze"],
      inject_context_from: ["analyze"],
      mode: "agent",
      description: "Generate JWT implementation"
    },
    {
      id: "test",
      depends_on: ["code"],
      inject_context_from: ["code"],
      mode: "agent",
      description: "Write and run tests"
    }
  ]
}

步骤 code 自动看到步骤 analyze的输出。步骤尽可能并行运行。


配置

所有配置都通过web仪表板或MCP工具进行管理。配置文件位于 ~/.nexus/config.json 但你永远不需要手动编辑它。

环境变量

变量 描述
NEXUS_DEBUG 设置为任何值以启用调试日志记录

发展

npm run dev          # Run with tsx
npm run build        # Compile TypeScript
npm run typecheck    # Type check without emitting

建筑深潜

核心子系统

  • 代理执行人 (src/agent/executor.ts)--采用OpenAI函数调用格式的ReAct循环。代理可以读/写文件、运行bash、搜索网络。
  • 计划执行人 (src/orchestrator/plan-executor.ts)——使用拓扑排序的DAG调度器(Kahn算法)。检测循环,并行运行步骤,从依赖关系中注入上下文。
  • 理事会经理 (src/orchestrator/council.ts)——多轮审议。三种模式:
    • 讨论 --模型协作
    • 辩论 --模特们互相挑战
    • 研究 --特工使用工具进行调查
  • 核心路由器 (src/providers/router.ts)--故障切换逻辑。如果一个提供商关闭,则自动切换到下一个可用的提供商。
  • 身份验证管理器 (src/auth/)-API密钥、OAuth PKCE(Chromium浏览器)、会话存储。
  • Web仪表板 (src/web/server.ts)--端口9777处的可视化配置UI。

文件结构

src/
├── index.ts                    # Entry point
├── mcp-server.ts               # MCP tool handlers
├── agent/
│   ├── executor.ts             # ReAct agent loop
│   ├── sandbox.ts              # Tool execution sandbox
│   └── tools.ts                # File/bash/web/search tools
├── orchestrator/
│   ├── plan-executor.ts        # DAG scheduler
│   ├── plan-types.ts           # PlanStep, PlanRecord interfaces
│   ├── council.ts              # Multi-agent councils
│   └── council-types.ts        # Council interfaces
├── providers/                  # 27 provider adapters
│   ├── router.ts               # Main routing logic
│   ├── registry.ts             # Provider registration
│   ├── cloud/                  # OpenAI, Gemini, Anthropic, etc.
│   └── local/                  # Ollama, LM Studio, etc.
├── auth/                       # Authentication strategies
├── config/                     # Config schema & defaults
├── tools/                      # 15 MCP tool definitions
├── utils/                      # Logging, errors, HTTP
└── web/                        # Dashboard frontend + server

dist/                           # Compiled JS (after npm run build)

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/my-feature)
  3. 进行更改
  4. 运行测试和类型检查(npm run typecheck)
  5. 提交拉取请求

添加新提供者

  1. 在中创建新文件 src/providers/cloud/ 或 src/providers/local/
  2. 实施 ProviderAdapter 接口(或扩展 OpenAICompatibleProvider)
  3. 在中注册 src/providers/registry.ts
  4. 在中添加默认配置 src/config/defaults.ts
  5. 与其他供应商进行类型检查和测试

添加新的MCP工具

  1. 在中创建新文件 src/tools/my-tool.ts
  2. 导出与工具界面匹配的函数
  3. 添加 ALL_TOOLS 在 src/mcp-server.ts
  4. 添加开关案例处理程序

许可证

MIT许可证。看 许可证 了解详情。