
How to add MCP Rubber Duck to Cursor
Bridge to query multiple LLMs and CLI coding agents as AI "ducks" for diverse perspectives. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 168★ · stdio · apikey
Cursor 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
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the MCP Rubber Duck config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of MCP Rubber Duck's tools to confirm it's connected.
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 Cursor
ask_duckAsk a single question to a specific LLM provider.
chat_with_duckConversation with context maintained across messages.
clear_conversationsClear all conversation history.
list_ducksList configured providers and health status.
list_modelsList available models for providers.
compare_ducksAsk the same question to multiple providers simultaneously.
duck_councilGet responses from all configured ducks.
get_usage_statsUsage 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 + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the MCP Rubber Duck config there under the "mcpServers" key and restart the client.
Is MCP Rubber Duck safe to use with Cursor?
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".