mcp-rubber-duck

Consulta múltiples LLMs en paralelo desde herramientas de codificación de IA: depuración con pato de goma, pero los patos responden.

Documentación

MCP Rubber Duck

Un servidor MCP (Model Context Protocol) que actúa como puente para consultar múltiples LLMs -- tanto APIs HTTP compatibles con OpenAI como agentes de codificación CLI. Al igual que la depuración con pato de goma, ¡explica tus problemas a varios "patos" de IA y obtén diferentes perspectivas!

npm version Docker Image MCP Registry

MCP Rubber Duck - AI ducks helping debug code

¿Por qué integración directa con el proveedor? La primitiva sampling de MCP -- un servidor que toma prestado el modelo del host -- fue deprecada en la RC de la especificación 2026-07-28 en favor de servidores que se integran directamente con las APIs de los proveedores de LLM. Rubber Duck siempre ha funcionado así (trae sus propios patos), por lo que está alineado con hacia dónde se dirige el protocolo -- sin necesidad de migración.

Características

  • Compatibilidad universal con OpenAI -- Funciona con cualquier endpoint de API compatible con OpenAI
  • Soporte para agentes CLI -- Usa agentes de codificación CLI (Claude Code, Codex, Gemini CLI, Grok, Aider) como patos
  • Múltiples patos -- Configura y consulta múltiples proveedores de LLM simultáneamente
  • Gestión de conversaciones -- Mantén el contexto a través de múltiples mensajes
  • Consejo de patos -- Obtén respuestas de todos tus LLM configurados a la vez
  • Votación por consenso -- Votación multi-pato con razonamiento y puntuaciones de confianza
  • LLM como juez -- Haz que los patos evalúen y clasifiquen las respuestas de los demás
  • Refinamiento iterativo -- Dos patos mejoran colaborativamente las respuestas
  • Debates estructurados -- Formatos de debate oxfordiano, socrático y adversarial
  • Prompts MCP -- 8 plantillas de prompt reutilizables para flujos de trabajo multi-LLM
  • Entrada de visión -- Envía imágenes junto con los prompts a modelos con capacidad de visión (docs)
  • Conmutación automática -- Recurre a otros proveedores si el principal falla
  • Monitoreo de salud -- Comprobaciones de salud en tiempo real para todos los proveedores
  • Seguimiento de uso -- Rastrea solicitudes, tokens y costos estimados por proveedor
  • Puente MCP -- Conecta patos a otros servidores MCP para funcionalidad extendida (docs)
  • Guardrails -- Capa de seguridad conectable con limitación de velocidad, límites de tokens, bloqueo de patrones y redacción de PII (docs)
  • Seguridad granular -- Controles de aprobación por servidor con aprobaciones basadas en sesión
  • UIs interactivas -- Paneles HTML enriquecidos para herramientas de comparar, votar, debatir y uso (a través de MCP Apps)
  • Anotaciones de herramientas -- Sugerencias compatibles con MCP para el comportamiento de las herramientas (solo lectura, destructivas, etc.)
  • Salida estructurada -- outputSchema en herramientas que devuelven JSON estructurado para validación en el cliente (Cursor, VS Code/Copilot)
  • Alineado con la especificación por diseño -- se conecta directamente a las APIs de los proveedores, el camino que la especificación 2026-07-28 de MCP recomienda ahora que sampling del lado del servidor está deprecado (SEP-2577)

Proveedores Soportados

Proveedores HTTP (API compatible con OpenAI)

Cualquier proveedor con un endpoint de API compatible con OpenAI, incluyendo:

  • OpenAI
  • Google Gemini
  • Anthropic (a través de endpoints compatibles con OpenAI)
  • Groq (inferencia rápida para modelos de peso abierto)
  • Together AI (amplio catálogo de modelos de peso abierto)
  • Perplexity (modelos en línea con búsqueda web)
  • Anyscale, Azure OpenAI, Ollama, LM Studio, Personalizado

Proveedores CLI (Agentes de Codificación)

Agentes de codificación de línea de comandos que se ejecutan como procesos locales:

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

Consulta Proveedores CLI para la configuración completa.

Inicio Rápido

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

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

¿Usas Claude Desktop? Ve a Configuración de Claude Desktop. ¿Usas Cursor, VS Code, Windsurf u otra herramienta? Consulta la Guía de Configuración.

Instalación

Requisitos Previos

  • Node.js 20 o superior
  • npm o yarn
  • Al menos una clave de API para un proveedor HTTP, o un agente de codificación CLI instalado localmente

Instalar desde NPM

npm install -g mcp-rubber-duck

Instalar desde el Código Fuente

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

Configuración

Crea un archivo .env o config/config.json. Variables de entorno clave:

VariableDescripción
OPENAI_API_KEYClave de API de OpenAI
GEMINI_API_KEYClave de API de Google Gemini
GROQ_API_KEYClave de API de Groq
DEFAULT_PROVIDERProveedor predeterminado (p. ej., openai)
DEFAULT_TEMPERATURETemperatura predeterminada (p. ej., 0.7)
LOG_LEVELdebug, info, warn, error
MCP_SERVEREstablecer a true para el modo servidor MCP
MCP_BRIDGE_ENABLEDHabilitar MCP Bridge (los patos acceden a servidores MCP externos)
CUSTOM_{NAME}_*Proveedores HTTP personalizados
CLI_{AGENT}_ENABLEDHabilitar agentes CLI (CLAUDE, CODEX, GEMINI, GROK, AIDER)

Referencia completa: Documentación de configuración

UIs Interactivas (MCP Apps)

Cuatro herramientas -- compare_ducks, duck_vote, duck_debate y get_usage_stats -- pueden renderizar paneles HTML interactivos enriquecidos dentro de clientes MCP compatibles a través de MCP Apps. Una vez que este servidor MCP está configurado en un cliente compatible, las UIs aparecen automáticamente -- no se requiere configuración adicional. Los clientes sin soporte para MCP Apps aún reciben la misma salida de texto plano (no se pierde funcionalidad). Consulta el repositorio de MCP Apps para una lista actualizada de clientes compatibles.

Comparar Patos

Compara múltiples respuestas de modelos lado a lado, con indicadores de latencia, conteos de tokens, insignias de modelo y estados de error.

Compare Ducks interactive UI

Votación de Patos

Haz que múltiples patos voten sobre opciones, mostrado como un recuento de votos visual con gráficos de barras, insignia de consenso, tarjeta de ganador, barras de confianza y razonamiento plegable.

Duck Vote interactive UI

Debate de Patos

Debate estructurado de múltiples rondas entre patos, mostrado como una vista ronda por ronda con insignia de formato, lista de participantes, rondas plegables y sección de síntesis.

Duck Debate interactive UI

Estadísticas de Uso

Analíticas de uso con tarjetas de resumen, desglose por proveedor con filas expandibles, barras de distribución de tokens y costos estimados.

Usage Stats interactive UI

Herramientas Disponibles

HerramientaDescripción
ask_duckHaz una sola pregunta a un proveedor de LLM específico
chat_with_duckConversación con contexto mantenido a través de mensajes
clear_conversationsBorrar todo el historial de conversación
list_ducksListar proveedores configurados y estado de salud
list_modelsListar modelos disponibles para proveedores
compare_ducksHaz la misma pregunta a múltiples proveedores simultáneamente
duck_councilObtén respuestas de todos los patos configurados
get_usage_statsEstadísticas de uso y costos estimados
duck_voteVotación multi-pato con razonamiento y confianza
duck_judgeHaz que un pato evalúe y clasifique las respuestas de otros
duck_iterateRefina iterativamente una respuesta entre dos patos
duck_debateDebate estructurado de múltiples rondas entre patos
mcp_statusEstado del puente MCP y servidores conectados
get_pending_approvalsSolicitudes pendientes de aprobación de herramientas MCP
approve_mcp_requestAprobar o denegar la solicitud de herramienta MCP de un pato

Referencia completa con esquemas de entrada: Documentación de herramientas

Prompts Disponibles

PromptPropósitoArgumentos Requeridos
perspectivesAnálisis multiángulo con lentes asignadasproblem, perspectives
assumptionsRevelar supuestos ocultos en planesplan
blindspotsBuscar riesgos y brechas pasados por altoproposal
tradeoffsComparación estructurada de opcionesoptions, criteria
red_teamAnálisis de seguridad/riesgo desde múltiples ángulostarget
reframeReencuadre del problema en diferentes nivelesproblem
architectureRevisión de diseño a través de preocupacionesdesign, workloads, priorities
diverge_convergeExploración divergente y luego convergenciachallenge

Referencia completa con ejemplos: Documentación de prompts

Desarrollo

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

Documentación

TemaEnlace
Guía de configuración (todas las herramientas)docs/setup.md
Referencia completa de configuracióndocs/configuration.md
Configuración de Claude Desktopdocs/claude-desktop.md
Todas las herramientas con esquemasdocs/tools.md
Plantillas de promptsdocs/prompts.md
Agentes de codificación CLIdocs/cli-providers.md
Puente MCPdocs/mcp-bridge.md
Guardrailsdocs/guardrails.md
Despliegue con Dockerdocs/docker.md
Configuración específica por proveedordocs/provider-setup.md
Ejemplos de usodocs/usage-examples.md
Arquitecturadocs/architecture.md
Hoja de rutadocs/roadmap.md

Solución de Problemas

El Proveedor No Funciona

  1. Verifica que la clave de API esté configurada correctamente
  2. Verifica que la URL del endpoint sea correcta
  3. Ejecuta la comprobación de salud: list_ducks({ check_health: true })
  4. Revisa los registros para mensajes de error detallados

Problemas de Conexión

  • Para proveedores locales (Ollama, LM Studio), asegúrate de que estén ejecutándose
  • Verifica la configuración del firewall para endpoints locales
  • Verifica la conectividad de red a los proveedores en la nube

Limitación de Velocidad

  • Configura la conmutación por error a proveedores alternativos
  • Ajusta la configuración de max_retries y timeout
  • Consulta Guardrails para la configuración de limitación de velocidad

Contribuciones

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

¡Nos encantan las contribuciones! Ya sea que estés corrigiendo errores, agregando funciones o enseñando nuevos trucos a nuestros patos, nos encantaría que te unas a la bandada.

Consulta nuestra Guía de Contribución para comenzar.

Inicio rápido para contribuyentes:

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Sigue nuestras guías de commits convencionales
  4. Agrega pruebas para la nueva funcionalidad
  5. Envía una solicitud de extracción (pull request)

Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles

Agradecimientos

  • Inspirado en el método de depuración "rubber duck"
  • Construido sobre el Model Context Protocol (MCP)
  • Usa el SDK de OpenAI para compatibilidad con proveedores HTTP
  • Soporta agentes de codificación CLI (Claude Code, Codex, Gemini CLI, Grok, Aider)

Registro de Cambios

Consulta CHANGELOG.md para un historial detallado de cambios y versiones.

Registro y Directorio

Soporte


¡Feliz depuración con tu Panel de Patos de IA!