# Rubber Duck (MCP server)

> Rubber Duck is an MCP server that adds developer tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Bridge to multiple LLMs and CLI agents: councils, debates, voting, and more. It has 178 GitHub stars, is released under the MIT license and runs locally with npx -y mcp-rubber-duck.

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!

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/nesquikm/mcp-rubber-duck |
| GitHub stars | 178 |
| License | MIT |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: mcp-rubber-duck |
| Remote URL | none |
| Needs API key | yes |
| Official | no |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Developer tools |
| Latest release | v1.20.9 (Oct 5, 2026) |
| Last commit | Oct 5, 2026 |
| MCP registry name | io.github.nesquikm/rubber-duck |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "mcpServers": {
    "rubber-duck": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-rubber-duck"
      ],
      "env": {
        "OPENAI_API_KEY": "your-value",
        "GEMINI_API_KEY": "your-value",
        "GROQ_API_KEY": "your-value"
      }
    }
  }
}
```

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --env OPENAI_API_KEY=your-value --env GEMINI_API_KEY=your-value --env GROQ_API_KEY=your-value --transport stdio rubber-duck -- npx -y mcp-rubber-duck
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "rubber-duck": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-rubber-duck"
      ],
      "env": {
        "OPENAI_API_KEY": "your-value",
        "GEMINI_API_KEY": "your-value",
        "GROQ_API_KEY": "your-value"
      }
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "openai_api_key",
      "description": "OPENAI_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini_api_key",
      "description": "GEMINI_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "groq_api_key",
      "description": "GROQ_API_KEY",
      "password": true
    }
  ],
  "servers": {
    "rubber-duck": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-rubber-duck"
      ],
      "env": {
        "OPENAI_API_KEY": "${input:openai_api_key}",
        "GEMINI_API_KEY": "${input:gemini_api_key}",
        "GROQ_API_KEY": "${input:groq_api_key}"
      }
    }
  }
}
```

Config formats checked against the official docs on 2026-10-07.

## Environment variables

- `OPENAI_API_KEY` (secret): OpenAI API key (starts with sk-)
- `GEMINI_API_KEY` (secret): Google Gemini API key
- `GROQ_API_KEY` (secret): Groq API key (starts with gsk_)
- `DEFAULT_PROVIDER`: Default LLM provider to use

## Tools

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

## Similar MCP servers

- [Gemini CLI](https://appsgit.com/mcp-servers/gemini-cli): An open-source AI agent that brings the power of Gemini directly into your terminal. (107,240 stars, Apache-2.0)
- [Front-End Checklist](https://appsgit.com/mcp-servers/front-end-checklist): Review frontend code and live pages against 386 quality-gated web development rules. (74,390 stars, MIT)
- [Claude Flow](https://appsgit.com/mcp-servers/claude-flow): AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev. (74,016 stars, MIT, needs API key)
- [Codebase Memory](https://appsgit.com/mcp-servers/codebase-memory): Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens. (45,917 stars, MIT)
- [Bytedance Filesystem](https://appsgit.com/mcp-servers/bytedance-filesystem): MCP server for filesystem access. (39,206 stars, Apache-2.0)
- [GitHub](https://appsgit.com/mcp-servers/github): Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language. (33,414 stars, MIT, official, needs API key)

---

Canonical page: https://appsgit.com/mcp-servers/rubber-duck
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
