Bridge to multiple LLMs and CLI agents: councils, debates, voting, and more
Bridge to multiple LLMs and CLI agents: councils, debates, voting, and more
Valid MCP server (3 strong, 1 medium validity signals). 1 known CVE in dependencies Package registry verified. Imported from the Official MCP Registry.
6 files analyzed · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: OPENAI_API_KEY
Environment variable: GEMINI_API_KEY
Environment variable: GROQ_API_KEY
Environment variable: DEFAULT_PROVIDER
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-nesquikm-rubber-duck": {
"env": {
"GROQ_API_KEY": "your-groq-api-key-here",
"GEMINI_API_KEY": "your-gemini-api-key-here",
"OPENAI_API_KEY": "your-openai-api-key-here",
"DEFAULT_PROVIDER": "your-default-provider-here"
},
"args": [
"-y",
"mcp-rubber-duck"
],
"command": "npx"
}
}
}From the project's GitHub README.
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!
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.