mcpField
M
Multi-MCP

Multi-MCP

本地服务
github.comAI 与智能体374 周前更新

关于 Multi-MCP

Multi-MCP 是一个多模型 AI 编排 MCP 服务,可在 Claude Code 和 OpenCode 中使用。它并行调用 OpenAI、Anthropic、Google 等多个模型,用于代码审查、对比和辩论式共识分析,适合 Python 开发者和 DevOps 团队。

主要功能

  1. 01多模型并行代码审查
  2. 02OWASP Top 10 安全检查
  3. 03多模型对比分析
  4. 04多 Agent 辩论与共识流程
  5. 05CLI 与 API 模型混合使用
  6. 06模型别名与会话线程

适用场景

  1. 01使用多个模型审查模块的代码质量与可维护性
  2. 02对架构决策进行多模型对比
  3. 03对命名等主观问题发起模型辩论

MCP 相关

Multi-MCP 是一个 MCP 服务,向 Claude Code 或 OpenCode 等 MCP 客户端暴露 codereview、chat、compare 和 debate 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"religa-multi": {
"command": "uvx",
"args": [
"multi-mcp"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>",
"DEFAULT_MODEL": "<DEFAULT_MODEL>",
"DEFAULT_MODEL_LIST": "<DEFAULT_MODEL_LIST>"
}
}
}
}
启动命令uvx multi-mcp
需要配置的环境变量
OPENAI_API_KEY密钥OpenAI API key for GPT models (optional - at least one provider required)
ANTHROPIC_API_KEY密钥Anthropic API key for Claude models (optional - at least one provider required)
GEMINI_API_KEY密钥Google API key for Gemini models (optional - at least one provider required)
OPENROUTER_API_KEY密钥OpenRouter API key for additional models (optional)
DEFAULT_MODELDefault model to use (defaults to gpt-5-mini)
DEFAULT_MODEL_LISTDefault models for multi-model comparison (comma-separated, defaults to gpt-5-mini,gemini-3-flash)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimulti-mcp0.1.1

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
namestring是步骤名称(例如,'Initial Analysis'、'Security Review')
modelsarray否要并行运行的 LLM 模型列表(至少 1 个)(如果未指定,则使用默认模型(['gpt-5-mini', 'gemini-3-flash']))
contentstring是提交给专家审阅者的代码审查请求。步骤 1:描述项目并定义审查目标和重点领域。步骤 2+:按质量、安全性、性能和架构整理并报告发现。包括:审查内容、重点领域(安全性/并发/逻辑)、具体问题、置信度。排除:代码片段(使用 `relevant_files`)、问题列表(使用 `issues_found`)。
base_pathstring是用于识别项目和加载项目文件的项目根目录绝对路径
thread_idany否用于继续之前的对话并保留上下文的 Thread ID。使用时机: - None/omit:开始全新的审查或聊天会话(step_number=1) - Provide thread_id:继续之前响应中的多步骤工作流(step_number>1) 每个响应都会返回 thread_id;请保存并在后续步骤中重复使用。
next_actionenum是建议的后续操作:使用 'continue' 继续,使用 'stop' 结束continue | stop
step_numberinteger是当前步骤
issues_foundany否必填:按严重级别、位置和详细说明列出已识别的问题。重要:此列表会在各步骤间累积。包括之前步骤中发现的所有问题以及新问题。每个字典必须包含以下键:'severity'(必填,取值之一:'critical'、'high'、'medium'、'low')、'location'(必填,格式为:'filename:line_number',如果行号未知则为 'filename')、'description'(必填,问题的详细说明)。示例:[{'severity': 'high', 'location': 'auth.py:45', 'description': 'SQL injection vulnerability in login query - user input not sanitized'}]。如果尚未发现问题,可以使用空列表。
relevant_filesany否与此问题相关的所有文件的绝对路径(最多 100 个文件)。重要:对于项目级问题(功能、架构、设计),必须包含项目文档(README.md、docs/、架构图)。对于特定代码的问题,请包含实现文件、相关模块、测试和配置。示例 1:'我们应该构建什么功能?' → 包含 README.md、src/server.py、config/*.*、tests/。示例 2:'审查此函数' → 包含包含该函数的文件、相关模块、测试和文档。

详细介绍

Multi-MCP:面向 Claude Code 的多模型代码审查与分析 MCP 服务

CI PyPI Downloads License: MIT Python 3.11+ GitHub stars

一款多模型 AI 编排 MCP 服务,用于自动代码审查和由大模型驱动的分析。Multi-MCP 集成了 Claude Code CLI 和 OpenCode,可编排多个 AI 模型(OpenAI GPT、Anthropic Claude、Google Gemini),用于代码质量检查、安全分析(OWASP Top 10)和多 Agent 共识。此工具基于 Model Context Protocol (MCP) 构建,帮助 Python 开发者和 DevOps 团队在开发工作流中直接借助 AI 提供的洞见,自动执行代码审查。

演示视频

功能特性

  • 🔍 代码审查 - 系统化工作流,包含 OWASP Top 10 安全检查和性能分析
  • 💬 聊天 - 可感知代码仓库上下文的交互式开发辅助
  • 🔄 比较 - 并行多模型分析,为架构决策提供支持
  • 🎭 辩论 - 多 Agent 共识工作流(独立回答 + 评议)
  • 🤖 多模型支持 - OpenAI GPT、Anthropic Claude、Google Gemini 和 OpenRouter
  • 🖥️ CLI 和 API 模型 - 混合使用基于 CLI 的模型(Gemini CLI、Codex CLI)和 API 模型
  • 🏷️ 模型别名 - 使用 mini、sonnet、gemini 等简短名称
  • 🧵 线程 - 在多步骤审查中保持上下文

工作原理

Multi-MCP 作为 MCP 服务运行,Claude Code 或 OpenCode 可连接到该服务,以使用 AI 驱动的代码分析工具:

  1. 安装 MCP 服务并配置 AI 模型 API 密钥
  2. 通过 make install 自动与 Claude Code 或 OpenCode 集成
  3. 使用自然语言调用工具(例如:“multi codereview this file”)
  4. 获取多个并行编排的 AI 模型返回的结果

性能

快速多模型分析:

  • ⚡ 并行执行 - 约 10 秒运行 3 个模型(顺序执行约需 30 秒)
  • 🔄 异步架构 - 非阻塞 Python asyncio
  • 💾 对话线程 - 在多步骤审查中保持上下文
  • 📊 低延迟 - 响应时间取决于最慢的模型,而非所有模型耗时之和

快速开始

前置条件:

  • Python 3.11+
  • 至少一个提供商的 API 密钥(OpenAI、Anthropic、Google 或 OpenRouter)
安装
选项 1:从源代码安装
# Clone and install
git clone https://github.com/religa/multi_mcp.git
cd multi_mcp
# Execute ./scripts/install.sh
make install

# The installer will:
# 1. Install dependencies (uv sync)
# 2. Generate your .env file
# 3. Automatically add to Claude Code / OpenCode config (requires jq)
# 4. Test the installation
选项 2:手动配置

如果不想运行 make install:

# Install dependencies
uv sync

# Copy and configure .env
cp .env.example .env
# Edit .env with your API keys

将以下内容添加到 Claude Code(~/.claude.json)或 OpenCode(~/.opencode/opencode.json)中,并将 /path/to/multi_mcp 替换为实际的克隆路径:

Claude Code:

{
  "mcpServers": {
    "multi": {
      "type": "stdio",
      "command": "/path/to/multi_mcp/.venv/bin/python",
      "args": ["-m", "multi_mcp.server"]
    }
  }
}

OpenCode:

{
  "mcp": {
    "multi": {
      "type": "local",
      "command": ["/path/to/multi_mcp/.venv/bin/python", "-m", "multi_mcp.server"],
      "enabled": true
    }
  }
}

配置

环境配置(API 密钥和设置)

Multi-MCP 按以下顺序从 .env 文件加载设置(优先级从高到低):

  1. 环境变量(已在 shell 中设置)
  2. 项目 .env(当前目录或项目根目录)
  3. 用户 .env(~/.multi_mcp/.env)——pip 安装时的回退选项

编辑 .env 并填写 API 密钥:

# API Keys (configure at least one)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=...
OPENROUTER_API_KEY=sk-or-...

# Azure OpenAI (optional)
AZURE_API_KEY=...
AZURE_API_BASE=https://your-resource.openai.azure.com/

# AWS Bedrock (optional)
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION_NAME=us-east-1

# Model Configuration
DEFAULT_MODEL=gpt-5-mini
DEFAULT_MODEL_LIST=gpt-5-mini,gemini-3-flash
模型配置(添加自定义模型)

模型在 YAML 配置文件中定义(用户配置优先):

  1. 软件包默认配置:multi_mcp/config/config.yaml(随软件包一同提供)
  2. 用户覆盖配置:~/.multi_mcp/config.yaml(可选,优先级更高)

如需添加自己的模型,请创建 ~/.multi_mcp/config.yaml(示例请参阅 config.yaml 和 config.override.example.yaml):

version: "1.0"

models:
  # Add a new API model
  my-custom-gpt:
    litellm_model: openai/gpt-4o
    aliases:
      - custom
    notes: "My custom GPT-4o configuration"

  # Add a custom CLI model
  my-local-llm:
    provider: cli
    cli_command: ollama
    cli_args:
      - "run"
      - "llama3.2"
    cli_parser: text
    aliases:
      - local
    notes: "Local LLaMA via Ollama"

  # Override an existing model's settings
  gpt-5-mini:
    constraints:
      temperature: 0.5  # Override default temperature

合并行为:

  • 新模型会与软件包默认模型并存
  • 已有模型会进行合并(你的设置会覆盖软件包默认设置)
  • 可以将软件包模型的别名“转给”自定义模型

使用示例

在 MCP 客户端(Claude Code 或 OpenCode)中安装后,可使用以下命令:

💬 聊天 - 交互式开发辅助:

Can you ask Multi chat what's the answer to life, universe and everything?

🔍 代码审查 - 使用指定模型分析代码:

Can you multi codereview this module for code quality and maintainability using gemini-3 and codex?

🔄 比较 - 获取多种观点(使用默认模型):

Can you multi compare the best state management approach for this React app?

🎭 辩论 - 通过批判进行深入分析:

Can you multi debate the best project code name for this project?

启用允许列表

编辑 ~/.claude/settings.json,并将以下行添加到 permissions.allow,以允许 Claude Code 使用 Multi MCP,而不会因用户权限确认而受阻:

{
  "permissions": {
    "allow": [
      ...
      "mcp__multi__chat",
      "mcp__multi__codereview",
      "mcp__multi__compare",
      "mcp__multi__debate",
      "mcp__multi__models"
    ],
  },
  "env": {
    "MCP_TIMEOUT": "300000",
    "MCP_TOOL_TIMEOUT": "300000"
  },
}

模型别名

使用简短别名代替完整模型名称:

别名模型提供商
minigpt-5.6-lunaOpenAI
nanogpt-5.6-lunaOpenAI
gptgpt-6-astraOpenAI
astragpt-6-astraOpenAI
solgpt-5.6-solOpenAI
terragpt-5.6-terraOpenAI
lunagpt-5.6-lunaOpenAI
codexgpt-5.3-codexOpenAI
fableclaude-fable-5-1Anthropic
opusclaude-opus-5Anthropic
sonnetclaude-sonnet-5Anthropic
haikuclaude-haiku-4.5Anthropic
geminigemini-3.1-pro-previewGoogle
gemini-3gemini-3.1-pro-previewGoogle
flashgemini-3.8-flashGoogle
flash-litegemini-3.5-flash-liteGoogle
azure-miniazure-gpt-5-miniAzure
bedrock-sonnetbedrock-claude-4-5-sonnetAWS

运行 multi:models 查看所有可用模型和别名。

CLI 模型

Multi-MCP 可以执行 基于 CLI 的 AI 模型(例如 Gemini CLI、Codex CLI 或 Claude CLI),并与 API 模型配合使用。CLI 模型以子进程形式运行,可与所有现有工具无缝协作。

优势:

  • 使用具有完整工具访问权限的模型(文件操作、Shell 命令)
  • 在 compare 和 debate 工作流中混合使用 API 和 CLI 模型
  • 利用本地 CLI,避免 API 开销

内置 CLI 模型:

  • gemini-cli(别名:gem-cli)- Gemini CLI,采用自动编辑模式
  • codex-cli(别名:cx-cli)- Codex CLI,采用全自动模式
  • claude-cli(别名:cl-cli)- Claude CLI,采用 acceptEdits 模式

添加自定义 CLI 模型:

添加到 ~/.multi_mcp/config.yaml(请参阅模型配置):

version: "1.0"

models:
  my-ollama:
    provider: cli
    cli_command: ollama
    cli_args:
      - "run"
      - "codellama"
    cli_parser: text  # "json", "jsonl", or "text"
    aliases:
      - ollama
    notes: "Local CodeLlama via Ollama"

前置条件:

CLI 模型需要安装相应的 CLI 工具:

# Gemini CLI
npm install -g @anthropic-ai/gemini-cli

# Codex CLI
npm install -g @openai/codex

# Claude CLI
npm install -g @anthropic-ai/claude-code

CLI 用法(实验性)

Multi-MCP 提供了一个独立的 CLI,可在无需 MCP 客户端的情况下进行代码审查。

⚠️ 注意: CLI 仍处于实验阶段,正在积极开发中。

# Review a directory
multi src/

# Review specific files
multi src/server.py src/config.py

# Use a different model
multi --model mini src/

# JSON output for CI/pipelines
multi --json src/ > results.json

# Verbose logging
multi -v src/

# Specify project root (for CLAUDE.md loading)
multi --base-path /path/to/project src/

为什么选择 Multi-MCP?

功能Multi-MCP单模型工具
并行执行模型✅❌
多模型共识✅不定
模型辩论✅❌
支持 CLI 和 API 模型✅❌
OWASP 安全分析✅不定

故障排除

“未找到 API 密钥”

  • 在 .env 文件中至少添加一个 API 密钥
  • 验证密钥是否已加载:uv run python -c "from multi_mcp.settings import settings; print(settings.openai_api_key)"

集成测试失败

  • 设置 RUN_E2E=1 环境变量
  • 验证 API 密钥有效且额度充足

调试模式:

export LOG_LEVEL=DEBUG # INFO is default
uv run python -m multi_mcp.server

查看 logs/server.log 中的日志,了解详细信息。

常见问题

问:我需要这三个 AI 提供商吗? 答:不需要,只需一个 API 密钥(OpenAI、Anthropic 或 Google)即可开始使用。

问:它真的会并行运行吗? 答:是的!使用 codereview、compare 或 debate 工具时,所有模型都会通过 Python 的 asyncio.gather() 并发执行。这意味着,你只需等待响应最慢的模型,就能同时收到多个模型的回复,而不必等待所有模型的响应时间之和。

问:我可以同时运行多少个模型? 答:没有硬性限制!你可以按需并行运行任意数量的模型。实际上,2-5 个模型适用于大多数用例。所有工具都会使用你配置的默认模型(通常为 2-3 个),但你可以指定任意数量的模型。

参与贡献

欢迎贡献!请参阅 CONTRIBUTING.md,了解:

  • 开发环境设置
  • 代码规范
  • 测试指南
  • 拉取请求流程

快速开始:

git clone https://github.com/YOUR_USERNAME/multi_mcp.git
cd multi_mcp
uv sync --extra dev
make check && make test

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。