# nesquikm/mcp-rubber-duck [Health: Active]

**Category:** 🤖 Coding Agents  
**Repository:** https://github.com/nesquikm/mcp-rubber-duck  
**GitHub Stars:** 175  
**npm Downloads (last month):** 2738  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/nesquikm-mcp-rubber-duck

## Description
An MCP server that bridges to multiple OpenAI-compatible LLMs - your AI rubber duck debugging panel for explaining problems to various AI "ducks" and getting different perspectives

## Tools
Capabilities this server exposes over MCP:

- **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

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "mcp-rubber-duck": {
    "command": "npx",
    "args": ["-y","directly"]
  }
}
```

## Documentation

## What nesquikm/mcp-rubber-duck MCP server does

The nesquikm/mcp-rubber-duck MCP server gives an MCP client access to multiple AI providers through one server. It can send prompts to OpenAI-compatible HTTP endpoints or invoke supported command-line coding agents as local processes. Supported HTTP provider examples include OpenAI, Gemini, Anthropic-compatible endpoints, Groq, Together AI, Perplexity, Azure OpenAI, Ollama, LM Studio, and custom endpoints. CLI options include Claude Code, Codex, Gemini CLI, Grok CLI, Aider, and custom agents.

The main use case is getting additional perspectives while debugging, reviewing a design, or comparing possible answers. A single request can target one provider, while comparison and council tools can query several configured providers. Voting, judging, iteration, and debate tools support more structured multi-model workflows.

## How it works

The server communicates directly with configured provider APIs rather than relying on MCP sampling. Conversations can retain context across messages, and conversation history can be cleared through a dedicated tool. Provider listings expose configured ducks and health status, while model listing reports available models. Automatic failover can use another provider when the primary provider fails.

Usage tracking records requests and tokens and provides estimated costs. The server also includes MCP Bridge functionality, allowing ducks to access connected MCP servers when that feature is enabled. Bridge access has per-server approval controls, with tools for viewing pending requests and approving or denying them.

Four tools can expose MCP Apps interfaces in clients that support them: comparisons, voting, debates, and usage statistics. Clients without MCP Apps support receive plain text results instead. The project also documents vision input for models that support images, reusable MCP prompt templates, and configurable guardrails such as rate limiting, token limits, pattern blocking, and PII redaction.

## Setup and configuration

Install Node.js 20 or later, then install the package globally with `npm install -g mcp-rubber-duck`, or run it through `npx`. Source installation uses the repository, `npm install`, `npm run build`, and `npm start`.

The nesquikm/mcp-rubber-duck MCP server can read settings from a `.env` file or `config/config.json`. HTTP providers can be configured with variables such as `OPENAI_API_KEY`, `GEMINI_API_KEY`, and `GROQ_API_KEY`. `DEFAULT_PROVIDER` and `DEFAULT_TEMPERATURE` set default request behavior, while `LOG_LEVEL` controls logging. Set `MCP_SERVER=true` for MCP server mode and `MCP_BRIDGE_ENABLED` to enable bridge access. Custom providers and CLI agents use the documented `CUSTOM_{NAME}_*` and `CLI_{AGENT}_ENABLED` configuration patterns.

At least one HTTP provider API key or one locally installed CLI coding agent is needed. CLI providers must also be configured according to their individual setup requirements.

## Tools and capabilities

- Ask one provider a question or maintain a contextual conversation.
- Compare providers, query all configured ducks, or list available providers and models.
- Collect multi-duck votes with reasoning and confidence.
- Ask one duck to rank other responses.
- Refine an answer between two ducks or run a structured multi-round debate.
- Inspect usage statistics, estimated costs, health status, and bridge status.
- Review and approve or deny pending MCP tool requests.

## Limitations and notes

The server does not provide a single universal model backend; results depend on the configured HTTP endpoints or installed CLI agents. HTTP use generally requires the user's provider credentials, and provider usage may incur separate costs. Local CLI agents must already be installed and available to the process. Interactive HTML panels depend on MCP Apps support in the client, although equivalent plain text output remains available.

The nesquikm/mcp-rubber-duck MCP server's README excerpt does not state a license. It also does not identify a minimum provider configuration beyond requiring either an API key or a local CLI agent.

_Full upstream README: https://allmcps.com/mcp/nesquikm-mcp-rubber-duck/readme_

