Rubber Duck

io.github.nesquikm由 GitHub 帳號 nesquikm 發布v1.18.0更新於 Oct 24, 2026

Bridge to multiple LLMs and CLI agents: councils, debates, voting, and more

已驗證STDIO僅桌面開發者工具AI 與機器學習

概覽

AI 產生的概覽

一個本機 MCP 伺服器,把助理連接到多個 LLM 與命令列程式開發代理,可向它們提問、比較、投票、評判和辯論。

可以做什麼
向選定的 LLM 供應商或命令列程式開發代理提問,並進行多輪對話,也可清除對話歷史。列出已設定的供應商、健康狀態和可用模型。把同一個問題同時送給多個供應商,或向所有已設定的 duck 組成議會統一徵詢。進行多 duck 投票並附上理由和信心分數,讓一個 duck 評判並排序其他回答,在兩個 duck 之間反覆精進回答,或進行結構化的多輪辯論。查看用量統計(請求數、token 數和預估費用),並檢查 MCP Bridge 狀態與待處理的工具核准請求。
適用情境
適合需要就問題、計畫或設計聽取第二、第三種意見,或希望多個模型互相比較、投票、辯論和交叉核對的情境。也適合同時使用雲端 LLM API 與本機命令列程式開發代理的設定。
執行需求
以 npm 套件 mcp-rubber-duck 透過 stdio 在本機執行,需要 Node.js 20 或更高版本以及 npm 或 yarn。至少需要一個 HTTP 供應商的 API 金鑰(OPENAI_API_KEY、GEMINI_API_KEY 或 GROQ_API_KEY),或本機已安裝的命令列程式開發代理。需要能連線到所選供應商;Ollama、LM Studio 等本機供應商需保持執行。
安裝前請注意
需要供應商 API 金鑰(OPENAI_API_KEY、GEMINI_API_KEY、GROQ_API_KEY),存放在 .env 或設定檔中;提示詞和圖片會傳送給所選的第三方供應商。使用會產生供應商費用,伺服器僅做估算。命令列代理模式會在本機以程序方式執行程式開發代理。MCP Bridge 允許 duck 呼叫其他 MCP 伺服器,設有依伺服器的核准控制與待處理核准請求,需要留意。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Rubber Duck,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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!

[npm version] [Docker Image] [MCP Registry]

[MCP Rubber Duck - AI ducks helping debug code]

Why direct provider integration? 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 worked this way (it brings its own ducks), so it's aligned with where the protocol is heading -- no migration required.

Features

  • Universal OpenAI Compatibility -- Works with any OpenAI-compatible API endpoint
  • CLI Agent Support -- Use CLI coding agents (Claude Code, Codex, Gemini CLI, Grok, Aider) as ducks
  • Multiple Ducks -- Configure and query multiple LLM providers simultaneously
  • Conversation Management -- Maintain context across multiple messages
  • Duck Council -- Get responses from all your configured LLMs at once
  • Consensus Voting -- Multi-duck voting with reasoning and confidence scores
  • LLM-as-Judge -- Have ducks evaluate and rank each other's responses
  • Iterative Refinement -- Two ducks collaboratively improve responses
  • Structured Debates -- Oxford, Socratic, and adversarial debate formats
  • MCP Prompts -- 8 reusable prompt templates for multi-LLM workflows
  • Vision Input -- Send images alongside prompts to vision-capable models (docs)
  • Automatic Failover -- Falls back to other providers if primary fails
  • Health Monitoring -- Real-time health checks for all providers
  • Usage Tracking -- Track requests, tokens, and estimated costs per provider
  • MCP Bridge -- Connect ducks to other MCP servers for extended functionality (docs)
  • Guardrails -- Pluggable safety layer with rate limiting, token limits, pattern blocking, and PII redaction (docs)
  • Granular Security -- Per-server approval controls with session-based approvals
  • Interactive UIs -- Rich HTML panels for compare, vote, debate, and usage tools (via MCP Apps)
  • Tool Annotations -- MCP-compliant hints for tool behavior (read-only, destructive, etc.)
  • Structured Output -- outputSchema on tools returning structured JSON for client-side validation (Cursor, VS Code/Copilot)
  • Spec-Aligned by Design -- connects directly to provider APIs, the path the MCP 2026-07-28 spec recommends now that server-side sampling is deprecated (SEP-2577)

Supported Providers

HTTP Providers (OpenAI-compatible API)

Any provider with an OpenAI-compatible API endpoint, including:

  • OpenAI
  • Google Gemini
  • Anthropic (via OpenAI-compatible endpoints)
  • Groq (fast inference for open-weight models)
  • Together AI (broad open-weight model catalog)
  • Perplexity (online models with web search)
  • Azure OpenAI, Ollama, LM Studio, Custom

CLI Providers (Coding Agents)

Command-line coding agents that run as local processes:

  • Claude Code (claude) -- Codex (codex) -- Gemini CLI (gemini) -- Grok CLI (grok) -- Aider (aider) -- Custom

See CLI Providers for full setup and configuration.

Quick Start

bash
# Install globallynpm install -g mcp-rubber-duck
# Or use npx directly in Claude Desktop confignpx mcp-rubber-duck

Using Claude Desktop? Jump to Claude Desktop Configuration. Using Cursor, VS Code, Windsurf, or another tool? See the Setup Guide.

Installation

Prerequisites

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

Install from NPM

bash
npm install -g mcp-rubber-duck

Install from Source

bash
git clone https://github.com/nesquikm/mcp-rubber-duck.gitcd mcp-rubber-ducknpm installnpm run buildnpm start

Configuration

Create a .env file or config/config.json. Key environment variables:

VariableDescription
OPENAI_API_KEYOpenAI API key
GEMINI_API_KEYGoogle Gemini API key
GROQ_API_KEYGroq API key
OPENAI_DEFAULT_MODELOpenAI model (default: gpt-5.4)
GEMINI_DEFAULT_MODELGemini model (default: gemini-3.8-flash)
GROQ_DEFAULT_MODELGroq model (default: openai/gpt-oss-120b)
DEFAULT_PROVIDERDefault provider key: openai, google, groq, ollama, or a custom name
DEFAULT_TEMPERATUREDefault temperature (e.g., 0.7)
LOG_LEVELdebug, info, warn, error
MCP_SERVERSet to true for MCP server mode
MCP_BRIDGE_ENABLEDEnable MCP Bridge (ducks access external MCP servers)
CUSTOM_{NAME}_*Custom HTTP providers
CLI_{AGENT}_ENABLEDEnable CLI agents (CLAUDE, CODEX, GEMINI, GROK, AIDER)

Full reference: Configuration docs

Interactive UIs (MCP Apps)

Four tools -- compare_ducks, duck_vote, duck_debate, and get_usage_stats -- can render rich interactive HTML panels inside supported MCP clients via MCP Apps. Once this MCP server is configured in a supporting client, the UIs appear automatically -- no additional setup is required. Clients without MCP Apps support still receive the same plain text output (no functionality is lost). See the MCP Apps repo for an up-to-date list of supported clients.

Compare Ducks

Compare multiple model responses side-by-side, with latency indicators, token counts, model badges, and error states.

[Compare Ducks interactive UI]

Duck Vote

Have multiple ducks vote on options, displayed as a visual vote tally with bar charts, consensus badge, winner card, confidence bars, and collapsible reasoning.

[Duck Vote interactive UI]

Duck Debate

Structured multi-round debate between ducks, shown as a round-by-round view with format badge, participant list, collapsible rounds, and synthesis section.

[Duck Debate interactive UI]

Usage Stats

Usage analytics with summary cards, provider breakdown with expandable rows, token distribution bars, and estimated costs.

[Usage Stats interactive UI]

Available Tools

ToolDescription
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
duck_voteMulti-duck voting with reasoning and confidence
duck_judgeHave one duck evaluate and rank others' responses
duck_iterateIteratively refine a response between two ducks
duck_debateStructured multi-round debate between ducks
mcp_statusMCP Bridge status and connected servers
get_pending_approvalsPending MCP tool approval requests
approve_mcp_requestApprove or deny a duck's MCP tool request

Full reference with input schemas: Tools docs

Available Prompts

PromptPurposeRequired Arguments
perspectivesMulti-angle analysis with assigned lensesproblem, perspectives
assumptionsSurface hidden assumptions in plansplan
blindspotsHunt for overlooked risks and gapsproposal
tradeoffsStructured option comparisonoptions, criteria
red_teamSecurity/risk analysis from multiple anglestarget
reframeProblem reframing at different levelsproblem
architectureDesign review across concernsdesign, workloads, priorities
diverge_convergeDivergent exploration then convergencechallenge

Full reference with examples: Prompts docs

Development

bash
npm run dev        # Development with watch modenpm test           # Run all testsnpm run lint       # ESLintnpm run typecheck  # Type check without emit

Documentation

TopicLink
Setup guide (all tools)docs/setup.md
Full configuration referencedocs/configuration.md
Claude Desktop setupdocs/claude-desktop.md
All tools with schemasdocs/tools.md
Prompt templatesdocs/prompts.md
CLI coding agentsdocs/cli-providers.md
MCP Bridgedocs/mcp-bridge.md
Guardrailsdocs/guardrails.md
Docker deploymentdocs/docker.md
Provider-specific setupdocs/provider-setup.md
Usage examplesdocs/usage-examples.md
Architecturedocs/architecture.md
Roadmapdocs/roadmap.md

Troubleshooting

Provider Not Working

  1. Check API key is correctly set
  2. Verify endpoint URL is correct
  3. Run health check: list_ducks({ check_health: true })
  4. Check logs for detailed error messages

OpenAI gpt-5.6 / gpt-6 Models Fail With the MCP Bridge

OpenAI's Chat Completions API rejects function tools for the gpt-5.6 and gpt-6 families (400 Function tools with reasoning_effort are not supported ... use /v1/responses). They work for plain calls, but with MCP_BRIDGE_ENABLED=true the ducks attach tools and those requests fail. Use gpt-5.4 (the default) or gpt-5.4-mini until Responses API support lands (#166).

Connection Issues

  • For local providers (Ollama, LM Studio), ensure they're running
  • Check firewall settings for local endpoints
  • Verify network connectivity to cloud providers

Rate Limiting

  • Configure failover to alternate providers
  • Adjust max_retries and timeout settings
  • See Guardrails for rate limiting configuration

Contributing

     __   <(o )___    ( ._> /     `---'  Quack! Ready to debug!

We love contributions! Whether you're fixing bugs, adding features, or teaching our ducks new tricks, we'd love to have you join the flock.

Check out our Contributing Guide to get started.

Quick start for contributors:

  1. Fork the repository
  2. Create a feature branch
  3. Follow our conventional commit guidelines
  4. Add tests for new functionality
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Acknowledgments

  • Inspired by the rubber duck debugging method
  • Built on the Model Context Protocol (MCP)
  • Uses OpenAI SDK for HTTP provider compatibility
  • Supports CLI coding agents (Claude Code, Codex, Gemini CLI, Grok, Aider)

Changelog

See CHANGELOG.md for a detailed history of changes and releases.

Registry & Directory

Support


Happy Debugging with your AI Duck Panel!

來源:README.md,提交 ade02a8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.18.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分