con un clic
setup-mcp-server
// Add mcp-rubber-duck MCP server to an AI coding tool (Claude Desktop, Cursor, VS Code, Windsurf, etc.)
// Add mcp-rubber-duck MCP server to an AI coding tool (Claude Desktop, Cursor, VS Code, Windsurf, etc.)
| name | setup-mcp-server |
| description | Add mcp-rubber-duck MCP server to an AI coding tool (Claude Desktop, Cursor, VS Code, Windsurf, etc.) |
| disable-model-invocation | true |
| argument-hint | [tool-name] |
| allowed-tools | Read, Write, Edit, Bash, AskUserQuestion |
You are setting up mcp-rubber-duck as an MCP server in an AI coding tool.
.claude/skills/setup-mcp-server/references/tool-configs.md — per-tool JSON/YAML config templates.claude/skills/setup-mcp-server/references/provider-env-vars.md — env var reference.claude/skills/setup-mcp-server/references/troubleshooting.md — common issues| Tool | Config File (macOS) | Key | Notes |
|---|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json | mcpServers | Windows: %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code (user) | ~/.claude.json | mcpServers | Prefer claude mcp add CLI |
| Claude Code (project) | .mcp.json | mcpServers | Shared via VCS |
| Cursor (project) | .cursor/mcp.json | mcpServers | |
| Cursor (global) | ~/.cursor/mcp.json | mcpServers | |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | mcpServers | Supports ${env:VAR} |
| VS Code | .vscode/mcp.json | servers | Different key name! Uses ${env:VAR} |
| Continue | .continue/config.yaml | mcpServers (array) | YAML format |
ChatGPT supports MCP via UI only (Developer Mode > Add MCP Server), not a config file.
If $ARGUMENTS specifies a tool name, use it. Otherwise ask the user:
Supported tools: claude-desktop, claude-code, cursor, windsurf, vscode, continue
Run uname -s to detect macOS / Linux / Windows (Git Bash). This affects config file paths.
Check in order:
which mcp-rubber-duck — if found, use mcp-rubber-duck as the commandpackage.json with "name": "mcp-rubber-duck"), offer from-source via node dist/index.jsnpx -y mcp-rubber-duckAsk the user which providers to include. Offer these choices:
OPENAI_API_KEY) — most popularGEMINI_API_KEY)GROQ_API_KEY) — fast inferenceAllow multiple selections.
For each selected HTTP provider that needs a key, ask: provide a real key now or use a placeholder to fill in later?
sk- for OpenAI, gsk_ for Groq)your-openai-api-key-hereRead the config template from .claude/skills/setup-mcp-server/references/tool-configs.md to get the exact JSON/YAML structure for the target tool.
claude-code)Use the claude mcp add CLI command — this is the idiomatic way:
claude mcp add --scope user rubber-duck -- mcp-rubber-duck
Then set env vars by editing ~/.claude.json to add the env block, or suggest the user set them in their shell profile.
If the user prefers project-scope, use --scope project (writes to .mcp.json).
rubber-duck entry already exists, warn the user and ask before overwritingmkdir -p)"MCP_SERVER": "true" in the env block — this is required"servers" key, not "mcpServers" — get this rightmcpServers as an array of objects${env:VAR_NAME} syntax for env var interpolationAfter writing the config, tell the user:
list_ducks tool with check_health: true.claude/skills/setup-mcp-server/references/troubleshooting.md if anything goes wrong${env:VAR} syntax over hardcoded keysDEFAULT_PROVIDER set to the first selected HTTP provider