用途
MCP Rubber Duck 是一个 MCP(Model Context Protocol)服务器,用于把问题同时抛给多个大语言模型,借助“橡皮鸭调试法”的思路获得不同视角的解答。它既可作为 OpenAI 兼容 HTTP API 的桥接层,也可把本地 CLI 编码代理当作“鸭子”来查询。
主要能力
- 通用 OpenAI 兼容:可对接任何 OpenAI 兼容的 API 端点。
- CLI 代理支持:可将 Claude Code、Codex、Gemini CLI、Grok、Aider 等 CLI 编码代理作为鸭子使用。
- 多鸭子:可同时配置并查询多个 LLM 提供商。
- 对话管理:跨多条消息维护上下文。
- Duck Council:一次性获取所有已配置 LLM 的回答。
- 共识投票:多鸭投票,附带推理与置信度分数。
- LLM-as-Judge:让鸭子们互相评估并排名。
- 迭代改进:两只鸭子协作改进回答。
- 结构化辩论:支持牛津式、苏格拉底式和对抗式辩论格式。
- MCP 提示:提供 8 个可复用的多 LLM 工作流提示模板。
- 视觉输入:可向支持视觉的模型发送图片。
- 自动故障转移:主提供商失败时回退到其他提供商。
- 健康监控:对所有提供商进行实时健康检查。
- 用量追踪:按提供商统计请求数、Token 数和预估成本。
- MCP 桥接:将鸭子连接到其他 MCP 服务器以扩展功能。
- 护栏:可插拔安全层,支持限流、Token 上限、模式拦截和 PII 脱敏。
- 细粒度安全:按服务器审批控制,支持基于会话的审批。
- 交互式 UI:通过 MCP Apps 为 compare、vote、debate 和 usage 工具提供富 HTML 面板。
- 工具注解:符合 MCP 的工具行为提示(只读、破坏性等)。
- 结构化输出:工具上的 outputSchema 返回结构化 JSON,供客户端校验(Cursor、VS Code/Copilot)。
- 规范对齐:直接连接提供商 API,符合 MCP 2026-07-28 规范在服务端采样被弃用后的推荐方向(SEP-2577)。
支持的提供商
HTTP 提供商(OpenAI 兼容 API):任何具备 OpenAI 兼容 API 端点的提供商,包括 Anthropic(通过 OpenAI 兼容端点)、Groq、Together AI、Perplexity、Anyscale、Azure OpenAI、Ollama、LM Studio 以及自定义端点。 CLI 提供商(编码代理):以本地进程方式运行的命令行编码代理,包括 Claude Code(claude)、Codex(codex)、Gemini CLI(gemini)、Grok CLI(grok)、Aider(aider)以及自定义代理。
使用方式
前置条件:Node.js 20 或更高版本;至少一个 HTTP 提供商的 API Key,或本地已安装 CLI 编码代理。 安装方式:可从 NPM 安装,也可从源码安装。 配置:创建 .env 文件或 config/config.json,关键环境变量详见配置文档。 客户端接入:使用 Claude Desktop 可参考 Claude Desktop 配置;使用 Cursor、VS Code、Windsurf 等工具可参考 Setup Guide。 交互式 UI:compare_ducks、duck_vote、duck_debate 和 get_usage_stats 四个工具可在支持 MCP Apps 的客户端中渲染富交互 HTML 面板,配置后自动出现,无需额外设置;不支持 MCP Apps 的客户端仍会收到相同的纯文本输出,功能不受影响。
适用场景
- 需要多个模型对同一问题给出不同视角时。
- 需要多模型投票、互相评审或结构化辩论以辅助决策时。
- 希望统一管理多个 LLM 提供商并追踪用量与成本时。
- 希望把本地 CLI 编码代理纳入统一查询入口时。
限制
- 需要 Node.js 20 或更高版本。
- 需要至少一个 HTTP 提供商的 API Key,或本地安装 CLI 编码代理。
- 具体支持的客户端列表、配置细节、工具与提示的完整输入模式等,请以官方文档为准;本资料未提供价格与收费信息。