# Multi-MCP

MCP-сервер, который отправляет один и тот же вопрос или файл нескольким ИИ-моделям и собирает их ответы. Пригодится, когда одно ревью кажется недостаточным.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 37
- Автор: religa
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/religa/multi_mcp
- Обновлён: 2026-10-19
- HTML: https://affpapa.org/nevibecode/mcp/multi-mcp

## Что делает

Multi-MCP ставится между вашей средой разработки и провайдерами моделей. Внутри четыре инструмента: код-ревью с проверкой по OWASP Top 10 и разбором производительности, обычный чат по репозиторию, параллельное сравнение моделей и «дебаты» — модели отвечают независимо, потом критикуют друг друга.

Модели можно смешивать: рядом с API-провайдерами работают CLI-варианты вроде Gemini CLI и Codex CLI. Короткие псевдонимы вроде `mini` или `sonnet` избавляют от длинных имён. Запросы идут параллельно через asyncio, поэтому общее время равно ответу самой медленной модели, а не сумме всех. Между шагами ревью сохраняется контекст.

Заранее нужен Python 3.11 и ключ хотя бы одного провайдера: OpenAI, Anthropic, Google или OpenRouter. Без него инструменты не заработают. Настройки читаются из `.env` — сначала переменные оболочки, затем `.env` проекта, затем `~/.multi_mcp/.env`. Свои модели описываются в `~/.multi_mcp/config.yaml`, и этот файл перекрывает встроенный набор.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, `OPENROUTER_API_KEY`, `DEFAULT_MODEL`, `DEFAULT_MODEL_LIST` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env OPENAI_API_KEY=<OPENAI_API_KEY> --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env GEMINI_API_KEY=<GEMINI_API_KEY> --env OPENROUTER_API_KEY=<OPENROUTER_API_KEY> --env DEFAULT_MODEL=<DEFAULT_MODEL> --transport stdio multi-mcp -- uvx multi-mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from multi-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add multi-mcp --env OPENAI_API_KEY=<OPENAI_API_KEY> --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env GEMINI_API_KEY=<GEMINI_API_KEY> --env OPENROUTER_API_KEY=<OPENROUTER_API_KEY> --env DEFAULT_MODEL=<DEFAULT_MODEL> -- uvx multi-mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from multi-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "multi-mcp": {
            "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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from multi-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "multi-mcp": {
            "type": "stdio",
            "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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from multi-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OPENAI_API_KEY=<OPENAI_API_KEY> -e ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> -e GEMINI_API_KEY=<GEMINI_API_KEY> -e OPENROUTER_API_KEY=<OPENROUTER_API_KEY> -e DEFAULT_MODEL=<DEFAULT_MODEL> multi-mcp uvx multi-mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from multi-mcp <команда>

## Когда брать
- прогнать файл через несколько моделей и сравнить замечания
- проверить код на дыры из OWASP Top 10
- посмотреть, как разные модели решают архитектурный вопрос
- получить критику ответа другой модели, а не только её вывод
- подключить локальную модель через Ollama наравне с облачными

## Примеры запросов агенту
- Спроси Multi chat, что делает функция `parse_config` в этом репозитории
- Сделай multi codereview этого модуля на качество и поддерживаемость через gemini-3 и Claude
- Сравни через multi compare, какой подход к состоянию лучше для этого React-приложения

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
