# rubber-duck

MCP server connecting your editor to multiple external models and CLI assistants for debates, consensus voting, and code reviews.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 180
- Author: nesquikm
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/nesquikm/mcp-rubber-duck
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/rubber-duck

## What it does

This bridge connects your editor to several model backends at once. You can route queries to OpenAI-compatible endpoints or local CLI programs such as Codex and Aider. Instead of consulting one engine, you question multiple systems simultaneously.

The server handles Oxford debates, consensus voting, and peer reviews among models. Clients with MCP Apps support display interactive visual panels for comparing results. It tracks token costs and strips sensitive data through guardrails.

You need Node.js 20 plus active credentials for remote services or local assistant binaries. Without configured keys, calls fail immediately.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, `DEFAULT_PROVIDER` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```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
```
Replace <…> with your own values

### Codex

**Platform CLI**
```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
```
Replace <…> with your own values

### Cursor

**Config file**
File `.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>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.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>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform 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
```
Replace <…> with your own values

## When to use it
- gather perspectives from several models on a single bug
- run structured multi-round debates between models on architecture
- tally consensus votes with confidence scores across multiple agents
- monitor token consumption and estimated expenses across providers

## Example prompts
- Consult all configured models about memory leaks in `server.ts`
- Set up an Oxford debate between models on migrating our database
- Collect consensus votes from models on the proposed pull request

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
