by nesquikm
Provides a bridge to query multiple OpenAI‑compatible LLMs and CLI coding agents, offering a rubber‑duck debugging experience with multi‑duck consensus, debates, and structured tool access.
MCP Rubber Duck enables developers to explain problems to a panel of AI "ducks"—different LLM providers and local coding agents—and receive varied perspectives, votes, rankings, and collaborative refinements in real time.
npx mcp-rubber-duck
.env file or config/config.json (API keys, default model, temperature, etc.).ask_duck, compare_ducks, duck_vote, duck_debate, or use the interactive MCP Apps UI inside supported editors.MCP_SERVER=true) and connect any MCP‑compatible client.red_team prompt and debate format to uncover vulnerabilities.Q: Do I need an OpenAI key to use other providers?
A: No. Any provider with an OpenAI‑compatible endpoint works; just set the corresponding API key (e.g., GEMINI_API_KEY).
Q: Can I run the server locally without internet? A: Yes, by configuring local HTTP providers such as Ollama or LM Studio and ensuring the CLI agents are installed.
Q: How does failover work? A: If a request to the primary provider fails or hits rate limits, the server automatically retries with the next configured provider.
Q: What environments are supported? A: Node 20+, npm or yarn. Docker images are also provided for containerized deployment.
Q: How are guardrails configured?
A: Through the guardrails section in configuration.md, where you can set rate limits, token caps, regex blocklists, and PII redaction rules.
Q: Is there a way to approve tool usage on a per‑session basis?
A: Yes. The get_pending_approvals and approve_mcp_request tools let administrators approve or deny MCP tool calls during a session.
An MCP (Model Context Protocol) server that acts as a bridge to query multiple LLMs -- both OpenAI-compatible HTTP APIs and CLI coding agents. Just like rubber duck debugging, explain your problems to various AI "ducks" and get different perspectives!
outputSchema on tools returning structured JSON for client-side validation (Cursor, VS Code/Copilot)Any provider with an OpenAI-compatible API endpoint, including:
Command-line coding agents that run as local processes:
claude) -- Codex (codex) -- Gemini CLI (gemini) -- Grok CLI (grok) -- Aider (aider) -- CustomSee CLI Providers for full setup and configuration.
# Install globally
npm install -g mcp-rubber-duck
# Or use npx directly in Claude Desktop config
npx mcp-rubber-duck
Using Claude Desktop? Jump to Claude Desktop Configuration. Using Cursor, VS Code, Windsurf, or another tool? See the Setup Guide.
npm install -g mcp-rubber-duck
git clone https://github.com/nesquikm/mcp-rubber-duck.git
cd mcp-rubber-duck
npm install
npm run build
npm start
Create a .env file or config/config.json. Key environment variables:
| Variable | Description |
|---|---|
OPENAI_API_KEY |
OpenAI API key |
GEMINI_API_KEY |
Google Gemini API key |
GROQ_API_KEY |
Groq API key |
DEFAULT_PROVIDER |
Default provider (e.g., openai) |
DEFAULT_TEMPERATURE |
Default temperature (e.g., 0.7) |
LOG_LEVEL |
debug, info, warn, error |
MCP_SERVER |
Set to true for MCP server mode |
MCP_BRIDGE_ENABLED |
Enable MCP Bridge (ducks access external MCP servers) |
CUSTOM_{NAME}_* |
Custom HTTP providers |
CLI_{AGENT}_ENABLED |
Enable CLI agents (CLAUDE, CODEX, GEMINI, GROK, AIDER) |
Full reference: Configuration docs
Four tools -- compare_ducks, duck_vote, duck_debate, and get_usage_stats -- can render rich interactive HTML panels inside supported MCP clients via MCP Apps. Once this MCP server is configured in a supporting client, the UIs appear automatically -- no additional setup is required. Clients without MCP Apps support still receive the same plain text output (no functionality is lost). See the MCP Apps repo for an up-to-date list of supported clients.
Compare multiple model responses side-by-side, with latency indicators, token counts, model badges, and error states.
Have multiple ducks vote on options, displayed as a visual vote tally with bar charts, consensus badge, winner card, confidence bars, and collapsible reasoning.
Structured multi-round debate between ducks, shown as a round-by-round view with format badge, participant list, collapsible rounds, and synthesis section.
Usage analytics with summary cards, provider breakdown with expandable rows, token distribution bars, and estimated costs.
| Tool | Description |
|---|---|
ask_duck |
Ask a single question to a specific LLM provider |
chat_with_duck |
Conversation with context maintained across messages |
clear_conversations |
Clear all conversation history |
list_ducks |
List configured providers and health status |
list_models |
List available models for providers |
compare_ducks |
Ask the same question to multiple providers simultaneously |
duck_council |
Get responses from all configured ducks |
get_usage_stats |
Usage statistics and estimated costs |
duck_vote |
Multi-duck voting with reasoning and confidence |
duck_judge |
Have one duck evaluate and rank others' responses |
duck_iterate |
Iteratively refine a response between two ducks |
duck_debate |
Structured multi-round debate between ducks |
mcp_status |
MCP Bridge status and connected servers |
get_pending_approvals |
Pending MCP tool approval requests |
approve_mcp_request |
Approve or deny a duck's MCP tool request |
Full reference with input schemas: Tools docs
| Prompt | Purpose | Required Arguments |
|---|---|---|
perspectives |
Multi-angle analysis with assigned lenses | problem, perspectives |
assumptions |
Surface hidden assumptions in plans | plan |
blindspots |
Hunt for overlooked risks and gaps | proposal |
tradeoffs |
Structured option comparison | options, criteria |
red_team |
Security/risk analysis from multiple angles | target |
reframe |
Problem reframing at different levels | problem |
architecture |
Design review across concerns | design, workloads, priorities |
diverge_converge |
Divergent exploration then convergence | challenge |
Full reference with examples: Prompts docs
npm run dev # Development with watch mode
npm test # Run all tests
npm run lint # ESLint
npm run typecheck # Type check without emit
| Topic | Link |
|---|---|
| Setup guide (all tools) | docs/setup.md |
| Full configuration reference | docs/configuration.md |
| Claude Desktop setup | docs/claude-desktop.md |
| All tools with schemas | docs/tools.md |
| Prompt templates | docs/prompts.md |
| CLI coding agents | docs/cli-providers.md |
| MCP Bridge | docs/mcp-bridge.md |
| Guardrails | docs/guardrails.md |
| Docker deployment | docs/docker.md |
| Provider-specific setup | docs/provider-setup.md |
| Usage examples | docs/usage-examples.md |
| Architecture | docs/architecture.md |
| Roadmap | docs/roadmap.md |
list_ducks({ check_health: true })max_retries and timeout settings __
<(o )___
( ._> /
`---' Quack! Ready to debug!
We love contributions! Whether you're fixing bugs, adding features, or teaching our ducks new tricks, we'd love to have you join the flock.
Check out our Contributing Guide to get started.
Quick start for contributors:
MIT License - see LICENSE file for details
See CHANGELOG.md for a detailed history of changes and releases.
io.github.nesquikm/rubber-duckHappy Debugging with your AI Duck Panel!
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
{
"mcpServers": {
"rubber-duck": {
"command": "npx",
"args": [
"mcp-rubber-duck"
],
"env": {
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
"GROQ_API_KEY": "<YOUR_GROQ_API_KEY>"
}
}
}
}claude mcp add rubber-duck npx mcp-rubber-duck