MCP Rubber Duck
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level (debug, info, warn, error) | |
| MCP_SERVER | No | Set to 'true' for MCP server mode | |
| GROQ_API_KEY | No | Groq API key | |
| GEMINI_API_KEY | No | Google Gemini API key | |
| OPENAI_API_KEY | No | OpenAI API key | |
| CLI_GROK_ENABLED | No | Enable Grok CLI agent | |
| DEFAULT_PROVIDER | No | Default provider (e.g., openai) | |
| CLI_AIDER_ENABLED | No | Enable Aider CLI agent | |
| CLI_CODEX_ENABLED | No | Enable Codex CLI agent | |
| CLI_CLAUDE_ENABLED | No | Enable Claude Code CLI agent | |
| CLI_GEMINI_ENABLED | No | Enable Gemini CLI agent | |
| MCP_BRIDGE_ENABLED | No | Enable MCP Bridge | |
| DEFAULT_TEMPERATURE | No | Default temperature (e.g., 0.7) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ask_duckB | Ask a question to a specific LLM provider (duck) |
| chat_with_duckA | Have a conversation with a duck, maintaining context across messages |
| clear_conversationsA | Clear all conversation history and start fresh |
| list_ducksA | List all available LLM providers (ducks) and their status |
| list_modelsA | List available models for LLM providers |
| compare_ducksA | Ask the same question to multiple ducks simultaneously |
| duck_councilA | Get responses from all configured ducks (like a panel discussion) |
| duck_voteA | Have multiple ducks vote on options with reasoning. Returns vote tally, confidence scores, and consensus level. |
| duck_judgeA | Have one duck evaluate and rank other ducks' responses. Use after duck_council to get a comparative evaluation. |
| duck_iterateA | Iteratively refine a response between two ducks. One generates, the other critiques/improves, alternating for multiple rounds. |
| duck_debateA | Structured multi-round debate between ducks. Supports oxford (pro/con), socratic (questioning), and adversarial (attack/defend) formats. |
| get_usage_statsA | Get usage statistics for a time period. Shows token counts and costs (when pricing configured). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| perspectives | Analyze a problem from multiple perspectives. Each LLM adopts a different analytical lens (e.g., security, performance, UX) for comprehensive multi-angle analysis. |
| assumptions | Surface and challenge hidden assumptions in a plan, design, or idea. Identifies implicit premises that could be risky if wrong. |
| blindspots | Hunt for missing considerations, overlooked risks, and gaps in a proposal. Acts as a panel of critical reviewers looking for what might be underweighted. |
| tradeoffs | Compare options with explicit criteria and trade-off analysis. Provides structured evaluation to help make informed decisions. |
| red_team | Conduct attack surface analysis from multiple angles. Each reviewer focuses on different risk dimensions (security, privacy, abuse, compliance). |
| reframe | Reframe a problem from multiple angles and abstraction levels. Helps break out of mental ruts by viewing the problem differently. |
| architecture | Structured architecture or design review from multiple engineering perspectives. Each reviewer focuses on different cross-cutting concerns. |
| diverge_converge | Structure divergent thinking (explore many options) followed by convergence (evaluate and select). Maximizes creative exploration before narrowing down. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Compare Ducks | Interactive UI for Compare Ducks |
| Duck Vote | Interactive UI for Duck Vote |
| Duck Debate | Interactive UI for Duck Debate |
| Usage Stats | Interactive UI for Usage Stats |
TDQS
Scored across 12 tools
Most tools have distinct purposes, but compare_ducks and duck_council both retrieve responses from multiple ducks, creating potential confusion. The other multi-duck tools (vote, judge, iterate, debate) are well-separated, but the overlap between these two is notable.
Tool naming is inconsistent: list_ducks, list_models, ask_duck, chat_with_duck, clear_conversations, and get_usage_stats follow a verb_noun pattern, while duck_council, duck_vote, duck_judge, duck_iterate, and duck_debate use a 'duck_' prefix with the action as a suffix. compare_ducks also breaks the pattern by placing the verb first. This mixed style makes tool names less predictable.
12 tools is a well-scoped count for this server's purpose of managing and interacting with multiple LLM providers. It covers basic listing, single queries, conversations, multi-duck collaboration modes, and usage tracking without feeling bloated.
The toolkit covers the core workflow well: listing providers and models, asking questions, maintaining conversations, running multi-duck scenarios, and tracking usage. A minor gap is the lack of a tool to fetch or manage individual conversation histories, but this is not critical for the primary use cases.