rubber-duck — Claude Code MCP server: what it does, how to install
MCP server connecting your editor to multiple external models and CLI assistants for debates, consensus voting, and code reviews.
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-duckWhat rubber-duck 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.
What it helps with
- 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 for the agent
- 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
How to install rubber-duck
Platform CLI
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-duckReplace <…> with your own values
Platform CLI
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-duckReplace <…> with your own values
Config file
{
"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
Config file
{
"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
Platform CLI
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-duckReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about rubber-duck
How to install rubber-duck in Claude Code?
Run this command in your terminal: `claude mcp add rubber-duck -e OPENAI_API_KEY=<OPENAI_API_KEY> -e GEMINI_API_KEY=<GEMINI_API_KEY> -e GROQ_API_KEY=<GROQ_API_KEY> -- npx -y mcp-rubber-duck`. Insert your actual credentials into the placeholders before running.
What does rubber-duck do?
It lets you query multiple language models and local CLI coding agents during development. The server supports simultaneous council queries, automated debates, consensus polling, and token tracking.
What are the runtime requirements for rubber-duck?
You must run Node.js 20 or higher. You also need working credentials for your chosen remote providers or locally installed CLI tools.