mcp-rubber-duck

Consulte vários LLMs em paralelo a partir de ferramentas de codificação de IA — depuração com pato de borracha, mas os patos respondem.

Documentação

MCP Rubber Duck

Um servidor MCP (Model Context Protocol) que atua como uma ponte para consultar múltiplos LLMs — tanto APIs HTTP compatíveis com OpenAI quanto agentes de codificação CLI. Assim como na depuração com rubber duck, explique seus problemas para vários "patos" de IA e obtenha diferentes perspectivas!

npm version Docker Image MCP Registry

MCP Rubber Duck - AI ducks helping debug code

Por que integração direta com provedores? A primitiva sampling do MCP — um servidor que empresta o modelo do host — foi descontinuada na especificação RC de 2026-07-28 em favor de servidores que se integram diretamente com as APIs dos provedores de LLM. O Rubber Duck sempre funcionou dessa forma (ele traz seus próprios patos), então está alinhado com o rumo do protocolo — sem necessidade de migração.

Recursos

  • Compatibilidade Universal com OpenAI — Funciona com qualquer endpoint de API compatível com OpenAI
  • Suporte a Agentes CLI — Use agentes de codificação CLI (Claude Code, Codex, Gemini CLI, Grok, Aider) como patos
  • Múltiplos Patos — Configure e consulte vários provedores de LLM simultaneamente
  • Gerenciamento de Conversas — Mantenha contexto entre múltiplas mensagens
  • Conselho de Patos — Obtenha respostas de todos os seus LLMs configurados de uma só vez
  • Votação por Consenso — Votação multi-pato com raciocínio e pontuações de confiança
  • LLM como Juiz — Faça os patos avaliarem e classificarem as respostas uns dos outros
  • Refinamento Iterativo — Dois patos melhoram respostas colaborativamente
  • Debates Estruturados — Formatos de debate Oxford, Socrático e adversarial
  • Prompts MCP — 8 modelos de prompt reutilizáveis para fluxos de trabalho multi-LLM
  • Entrada de Visão — Envie imagens junto com prompts para modelos com capacidade de visão (docs)
  • Failover Automático — Alterna para outros provedores se o principal falhar
  • Monitoramento de Saúde — Verificações de saúde em tempo real para todos os provedores
  • Rastreamento de Uso — Rastreie requisições, tokens e custos estimados por provedor
  • Ponte MCP — Conecte patos a outros servidores MCP para funcionalidade estendida (docs)
  • Proteções — Camada de segurança plugável com limite de taxa, limites de tokens, bloqueio de padrões e redação de PII (docs)
  • Segurança Granular — Controles de aprovação por servidor com aprovações baseadas em sessão
  • UIs Interativas — Painéis HTML ricos para ferramentas de comparação, votação, debate e uso (via MCP Apps)
  • Anotações de Ferramentas — Dicas compatíveis com MCP para comportamento de ferramentas (somente leitura, destrutivas, etc.)
  • Saída Estruturada — outputSchema em ferramentas que retornam JSON estruturado para validação no lado do cliente (Cursor, VS Code/Copilot)
  • Alinhado à Especificação por Design — conecta-se diretamente às APIs dos provedores, o caminho que a especificação 2026-07-28 do MCP recomenda agora que o sampling no lado do servidor foi descontinuado (SEP-2577)

Provedores Suportados

Provedores HTTP (API compatível com OpenAI)

Qualquer provedor com endpoint de API compatível com OpenAI, incluindo:

  • OpenAI
  • Google Gemini
  • Anthropic (via endpoints compatíveis com OpenAI)
  • Groq (inferência rápida para modelos de pesos abertos)
  • Together AI (amplo catálogo de modelos de pesos abertos)
  • Perplexity (modelos online com busca na web)
  • Anyscale, Azure OpenAI, Ollama, LM Studio, Customizado

Provedores CLI (Agentes de Codificação)

Agentes de codificação de linha de comando que rodam como processos locais:

  • Claude Code (claude) — Codex (codex) — Gemini CLI (gemini) — Grok CLI (grok) — Aider (aider) — Customizado

Consulte Provedores CLI para configuração completa.

Início Rápido

# Install globally
npm install -g mcp-rubber-duck

# Or use npx directly in Claude Desktop config
npx mcp-rubber-duck

Usando Claude Desktop? Vá para Configuração do Claude Desktop. Usando Cursor, VS Code, Windsurf ou outra ferramenta? Consulte o Guia de Configuração.

Instalação

Pré-requisitos

  • Node.js 20 ou superior
  • npm ou yarn
  • Pelo menos uma chave de API para um provedor HTTP, ou um agente de codificação CLI instalado localmente

Instalar a partir do NPM

npm install -g mcp-rubber-duck

Instalar a partir do Código Fonte

git clone https://github.com/nesquikm/mcp-rubber-duck.git
cd mcp-rubber-duck
npm install
npm run build
npm start

Configuração

Crie um arquivo .env ou config/config.json. Principais variáveis de ambiente:

VariávelDescrição
OPENAI_API_KEYChave da API OpenAI
GEMINI_API_KEYChave da API Google Gemini
GROQ_API_KEYChave da API Groq
DEFAULT_PROVIDERProvedor padrão (ex.: openai)
DEFAULT_TEMPERATURETemperatura padrão (ex.: 0.7)
LOG_LEVELdebug, info, warn, error
MCP_SERVERDefina como true para modo servidor MCP
MCP_BRIDGE_ENABLEDHabilita a Ponte MCP (patos acessam servidores MCP externos)
CUSTOM_{NAME}_*Provedores HTTP customizados
CLI_{AGENT}_ENABLEDHabilita agentes CLI (CLAUDE, CODEX, GEMINI, GROK, AIDER)

Referência completa: Documentação de Configuração

UIs Interativas (MCP Apps)

Quatro ferramentas — compare_ducks, duck_vote, duck_debate e get_usage_stats — podem renderizar painéis HTML interativos ricos dentro de clientes MCP suportados via MCP Apps. Uma vez que este servidor MCP esteja configurado em um cliente compatível, as UIs aparecem automaticamente — sem configuração adicional necessária. Clientes sem suporte a MCP Apps ainda recebem a mesma saída de texto simples (nenhuma funcionalidade é perdida). Consulte o repositório MCP Apps para uma lista atualizada de clientes suportados.

Comparar Patos

Compare múltiplas respostas de modelos lado a lado, com indicadores de latência, contagens de tokens, selos de modelo e estados de erro.

Compare Ducks interactive UI

Votação de Patos

Faça múltiplos patos votarem em opções, exibido como uma contagem visual de votos com gráficos de barras, selo de consenso, cartão do vencedor, barras de confiança e raciocínio recolhível.

Duck Vote interactive UI

Debate de Patos

Debate estruturado multi-round entre patos, mostrado como uma visão round a round com selo de formato, lista de participantes, rounds recolhíveis e seção de síntese.

Duck Debate interactive UI

Estatísticas de Uso

Análises de uso com cartões de resumo, detalhamento por provedor com linhas expansíveis, barras de distribuição de tokens e custos estimados.

Usage Stats interactive UI

Ferramentas Disponíveis

FerramentaDescrição
ask_duckFaça uma única pergunta a um provedor de LLM específico
chat_with_duckConversa com contexto mantido entre mensagens
clear_conversationsLimpe todo o histórico de conversas
list_ducksListe provedores configurados e status de saúde
list_modelsListe modelos disponíveis para provedores
compare_ducksFaça a mesma pergunta a múltiplos provedores simultaneamente
duck_councilObtenha respostas de todos os patos configurados
get_usage_statsEstatísticas de uso e custos estimados
duck_voteVotação multi-pato com raciocínio e confiança
duck_judgeFaça um pato avaliar e classificar as respostas dos outros
duck_iterateRefine iterativamente uma resposta entre dois patos
duck_debateDebate estruturado multi-round entre patos
mcp_statusStatus da Ponte MCP e servidores conectados
get_pending_approvalsSolicitações pendentes de aprovação de ferramentas MCP
approve_mcp_requestAprove ou negue uma solicitação de ferramenta MCP de um pato

Referência completa com esquemas de entrada: Documentação de Ferramentas

Prompts Disponíveis

PromptFinalidadeArgumentos Obrigatórios
perspectivesAnálise multi-ângulo com lentes atribuídasproblem, perspectives
assumptionsSuperficie suposições ocultas em planosplan
blindspotsProcure por riscos e lacunas negligenciadosproposal
tradeoffsComparação estruturada de opçõesoptions, criteria
red_teamAnálise de segurança/risco de múltiplos ângulostarget
reframeReformulação de problemas em diferentes níveisproblem
architectureRevisão de design em diferentes preocupaçõesdesign, workloads, priorities
diverge_convergeExploração divergente e depois convergênciachallenge

Referência completa com exemplos: Documentação de Prompts

Desenvolvimento

npm run dev        # Development with watch mode
npm test           # Run all tests
npm run lint       # ESLint
npm run typecheck  # Type check without emit

Documentação

TópicoLink
Guia de configuração (todas as ferramentas)docs/setup.md
Referência completa de configuraçãodocs/configuration.md
Configuração do Claude Desktopdocs/claude-desktop.md
Todas as ferramentas com esquemasdocs/tools.md
Modelos de promptdocs/prompts.md
Agentes de codificação CLIdocs/cli-providers.md
Ponte MCPdocs/mcp-bridge.md
Proteçõesdocs/guardrails.md
Implantação Dockerdocs/docker.md
Configuração específica por provedordocs/provider-setup.md
Exemplos de usodocs/usage-examples.md
Arquiteturadocs/architecture.md
Roadmapdocs/roadmap.md

Solução de Problemas

Provedor Não Funcionando

  1. Verifique se a chave da API está configurada corretamente
  2. Verifique se a URL do endpoint está correta
  3. Execute a verificação de saúde: list_ducks({ check_health: true })
  4. Verifique os logs para mensagens de erro detalhadas

Problemas de Conexão

  • Para provedores locais (Ollama, LM Studio), certifique-se de que estão em execução
  • Verifique as configurações de firewall para endpoints locais
  • Verifique a conectividade de rede com provedores em nuvem

Limite de Taxa

  • Configure failover para provedores alternativos
  • Ajuste as configurações de max_retries e timeout
  • Consulte Proteções para configuração de limite de taxa

Contribuindo

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

Adoramos contribuições! Seja corrigindo bugs, adicionando recursos ou ensinando novos truques aos nossos patos, adoraríamos ter você no bando.

Consulte nosso Guia de Contribuição para começar.

Início rápido para contribuidores:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Siga nossas diretrizes de commit convencional
  4. Adicione testes para novas funcionalidades
  5. Envie um pull request

Licença

Licença MIT — consulte o arquivo LICENSE para detalhes

Agradecimentos

  • Inspirado pelo método de depuração com rubber duck
  • Construído sobre o Model Context Protocol (MCP)
  • Usa o SDK da OpenAI para compatibilidade com provedores HTTP
  • Suporta agentes de codificação CLI (Claude Code, Codex, Gemini CLI, Grok, Aider)

Changelog

Consulte CHANGELOG.md para um histórico detalhado de mudanças e versões.

Registro e Diretórios

Suporte


Feliz Depuração com seu Painel de Patos de IA!