MCP Directory

How to add MCP Rubber Duck to Claude Desktop

Bridge to query multiple LLMs and CLI coding agents as AI "ducks" for diverse perspectives. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 ยท 168โ˜… ยท stdio ยท apikey

Claude Desktop config for MCP Rubber Duck

npm install -g mcp-rubber-duck
{
  "mcpServers": {
    "mcp-rubber-duck": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-rubber-duck"
      ],
      "env": {
        "MCP_SERVER": "true",
        "OPENAI_API_KEY": "sk-your-key-here",
        "DEFAULT_PROVIDER": "openai"
      }
    }
  }
}

Setup steps

  1. 1Open Claude Desktop โ†’ Settings โ†’ Developer โ†’ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the MCP Rubber Duck config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm MCP Rubber Duck's tools appear under the ๐Ÿ”Œ tools menu.

Before you start

  • Node.js 20 or higher
  • npm or yarn
  • At least one API key for an HTTP provider, OR a CLI coding agent installed locally

What MCP Rubber Duck can do in Claude Desktop

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.

Security

Requires at least one provider API key (or a locally installed CLI coding agent). Keys are passed via the env block of the MCP client config; for Windsurf and VS Code use ${env:VAR_NAME} and set keys in your shell profile rather than hardcoding them. Avoid committing API keys in project-scoped configs (.mcp.json, .cursor/mcp.json) -- use shell environment variables instead. Includes a pluggable Guardrails safety layer (rate limiting, token limits, pattern blocking, PII redaction) and granular per-server approval controls for the MCP Bridge.

MCP Rubber Duck + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the MCP Rubber Duck config there under the "mcpServers" key and restart the client.

Is MCP Rubber Duck safe to use with Claude Desktop?

Requires at least one provider API key (or a locally installed CLI coding agent). Keys are passed via the env block of the MCP client config; for Windsurf and VS Code use ${env:VAR_NAME} and set keys in your shell profile rather than hardcoding them. Avoid committing API keys in project-scoped configs (.mcp.json, .cursor/mcp.json) -- use shell environment variables instead. Includes a pluggable Guardrails safety layer (rate limiting, token limits, pattern blocking, PII redaction) and granular per-server approval controls for the MCP Bridge.

Which LLM providers are supported?

Any provider with an OpenAI-compatible API endpoint, including OpenAI, Google Gemini, Anthropic (via OpenAI-compatible endpoints), Groq, Together AI, Perplexity, Anyscale, Azure OpenAI, Ollama, LM Studio, and custom providers. It also supports CLI coding agents (Claude Code, Codex, Gemini CLI, Grok, Aider) running as local processes.

Why does it integrate directly with provider APIs instead of using MCP sampling?

MCP's sampling primitive (a server borrowing the host's model) was deprecated in the 2026-07-28 spec RC in favor of servers integrating directly with LLM provider APIs. Rubber Duck has always brought its own ducks, so it is already aligned with the protocol's direction.

Why aren't the MCP tools appearing in my client?

Ensure MCP_SERVER is set to "true" in the env block of your client config -- this tells rubber-duck to run as an MCP server. Also confirm your API keys are valid, then run list_ducks with check_health: true to verify provider health. Note that VS Code uses the "servers" key rather than "mcpServers".

View repo Full MCP Rubber Duck page