多模型协议路由工具

MultiMCP是一个多模型协议路由工具,支持将MCP客户端请求路由到不同的AI模型CLI(如Codex、Claude、Gemini),并提供路由选择、回退执行和内存存储等功能。

  • by coreline-ai
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 coreline-ai/multi_llm_mcp

使用说明

🌉 MultiMCP v2

MultiMCP将模型上下文协议(MCP)客户端请求 codex / claude / gemini 用于通过CLI路由的多桥协调器。

当前存储库以单点记录的形式包含以下软件包:

  • @multimcp/core:路由、回退、协调核心逻辑
  • @multimcp/mcp-server:基于stdio的MCP服务器
  • @multimcp/cli: multimcp 命令(运行doctor+工具)
  • @multimcp/web:placeholder软件包

🏗️ 体系结构

graph TD
    client["MCP Client"] --> server["MultiMCP Server (stdio)"]
    server --> orchestrator["Orchestrator"]

    subgraph core["Core"]
        orchestrator --> selector["Router / Scorer"]
        orchestrator --> fallback["Fallback Executor"]
        orchestrator --> stores["In-memory Stores"]
    end

    selector --> codex["Codex Adapter"]
    selector --> claude["Claude Adapter"]
    selector --> gemini["Gemini Adapter"]

    codex --> codexCli["codex CLI"]
    claude --> claudeCli["claude CLI"]
    gemini --> geminiCli["gemini CLI"]

当前实施状态

  • 支持桥: codex, claude, gemini
  • 支持命令: review, plan, fix, debate, memory, cost
  • MCP工具: multimcp_review, multimcp_plan, multimcp_fix, multimcp_debate, multimcp_memory, multimcp_cost
  • 自动选择: model_selector=auto
  • 混合讨论: model_selector=hybrid + participants
  • 桥接回退:失败时重试回退链
  • 提示保护:最大长度限制+基本敏感信息掩蔽(DLP)

[!重要]

  • 会话/事件/讨论存储库当前位于 in-memory 实施。
  • MCP服务器引导带 .cowork/db 创建目录/验证权限。

🛠️ 需求

  • Node.js >=22
  • pnpm >=9
  • (使用实桥时) codex / claude / gemini 安装和验证CLI

🚀 本地安装和运行

corepack pnpm install
corepack pnpm -r build

CLI运行示例:

node packages/cli/dist/bin.js doctor
node packages/cli/dist/bin.js review --model-selector codex --prompt "review this patch"
node packages/cli/dist/bin.js debate --model-selector hybrid --participants claude,codex,gemini --question "tradeoff?"

MCP服务器运行示例:

node packages/mcp-server/dist/bin.js --list-tools

MCP设置示例

.mcp.json 或者,将本地构建结果直接连接到MCP客户端设置:

{
  "mcpServers": {
    "multimcp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/multi_llm_mcp/packages/mcp-server/dist/bin.js"],
      "env": {
        "MULTIMCP_USE_REAL_BRIDGES": "1",
        "MULTIMCP_MODEL_PROFILE": "compat"
      }
    }
  }
}

🔧 环境变量

变量 说明 默认值
MULTIMCP_USE_REAL_BRIDGES 1如果是,则使用实际CLI桥接,或使用mock桥接 0
MULTIMCP_PROJECT_DIR .cowork/db 引导带基准路径 process.cwd()
MULTIMCP_MODEL_PROFILE codex型号配置文件(default/compat) default
MULTIMCP_CODEX_MODEL 强制指定codex基本型号基于profile的自动选择
MULTIMCP_CLAUDE_MODEL 指定claude基本模型(实桥) claude-sonnet-4
MULTIMCP_GEMINI_MODEL 指定gemini基本型号(实桥) gemini-2.5-flash-lite
MULTIMCP_CODEX_FALLBACK_MODELS codex回退模型列表(逗号分隔) 自动+ gpt-5-codex
MULTIMCP_CLAUDE_FALLBACK_MODELS claude回退模式列表(逗号分隔) 无
MULTIMCP_GEMINI_FALLBACK_MODELS gemini回退型号列表(逗号分隔) 无
MULTIMCP_REAL_BRIDGE_E2E 实桥集成测试激活标志 仅用于测试
MULTIMCP_REAL_BRIDGE_TEST_TIMEOUT_MS 实桥测试超时(ms) 240000

📡 stdio协议(MCP服务器内部)

服务器以stdin接收一行JSON命令,并以stdout输出一行JSON响应。

请求示例:

{ "action": "list_tools" }
{ "action": "call_tool", "tool": "multimcp_review", "input": { "model_selector": "auto", "prompt": "..." } }

测试

corepack pnpm lint
corepack pnpm -r typecheck
corepack pnpm test
corepack pnpm test:mcp-gate

实桥集成测试:

corepack pnpm test:real-bridges

📄 文件

⚖ENT许可证

麻省理工学院(LICENSE)