# rubber-duck

MCP-сервер для запуска дискуссий, голосований и совместной работы нескольких нейросетей или CLI-агентов прямо во время отладки кода.

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

## Что делает

Сервер связывает редактор кода с несколькими внешними моделями одновременно. Он умеет опрашивать сразу группу нейросетей, организовывать дебаты по Оксфордским или сократовским правилам и собирать мнения моделей через голосование. Поддерживаются как HTTP-эндпоинты с протоколом OpenAI, так и локальные консольные агенты вроде Aider или Codex.

Внутри работают инструменты сравнения ответов, отслеживание расхода токенов и встроенные фильтры безопасности для скрытия персональных данных. Для клиентов с поддержкой расширения MCP Apps сервер формирует наглядные HTML-панели с графиками голосов и раундами споров.

Для запуска необходимы Node.js 20 и рабочие токены доступа либо установленная локальная консольная утилита. Без переменных окружения запросы завершатся ошибкой.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, `DEFAULT_PROVIDER` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env OPENAI_API_KEY=<OPENAI_API_KEY> --env GEMINI_API_KEY=<GEMINI_API_KEY> --env GROQ_API_KEY=<GROQ_API_KEY> --env DEFAULT_PROVIDER=<DEFAULT_PROVIDER> --transport stdio rubber-duck -- npx -y mcp-rubber-duck
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add rubber-duck --env OPENAI_API_KEY=<OPENAI_API_KEY> --env GEMINI_API_KEY=<GEMINI_API_KEY> --env GROQ_API_KEY=<GROQ_API_KEY> --env DEFAULT_PROVIDER=<DEFAULT_PROVIDER> -- npx -y mcp-rubber-duck
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "rubber-duck": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-rubber-duck"
            ],
            "env": {
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "GEMINI_API_KEY": "<GEMINI_API_KEY>",
                "GROQ_API_KEY": "<GROQ_API_KEY>",
                "DEFAULT_PROVIDER": "<DEFAULT_PROVIDER>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "rubber-duck": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-rubber-duck"
            ],
            "env": {
                "OPENAI_API_KEY": "<OPENAI_API_KEY>",
                "GEMINI_API_KEY": "<GEMINI_API_KEY>",
                "GROQ_API_KEY": "<GROQ_API_KEY>",
                "DEFAULT_PROVIDER": "<DEFAULT_PROVIDER>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OPENAI_API_KEY=<OPENAI_API_KEY> -e GEMINI_API_KEY=<GEMINI_API_KEY> -e GROQ_API_KEY=<GROQ_API_KEY> -e DEFAULT_PROVIDER=<DEFAULT_PROVIDER> rubber-duck npx -y mcp-rubber-duck
```
Вместо <…> подставьте свои значения

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

## Примеры запросов агенту
- Спроси совет у всех доступных моделей по поводу утечки памяти в `server.ts`
- Запусти дебаты между моделями о переходе на Bun
- Проведи голосование среди подключённых моделей по лучшему варианту рефакторинга

## Похожие
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872
- [AIHawk](https://affpapa.org/nevibecode/mcp/aihawk.md) — MCP-сервер · ★ 32221

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