Skip to main content
Glama

Debate MCP

Servidor MCP compartido y autopiloto local para debatir un tema entre OpenCode y Antigravity, guardar la transcripción y producir un plan.

Requisitos

  • Runtime: Node.js 24 + TypeScript.

  • Requiere opencode y agy autenticados en el usuario actual.

  • El servidor escucha solo en 127.0.0.1:4599.

Related MCP server: Team Hub

Instalación

git clone https://github.com/ESlalo149/debate-mcp.git
cd debate-mcp
npm ci

Ejecución

cd debate-mcp
.\scripts\start-debate.ps1 -Topic "Tema a debatir" -Rounds 6 -Detached

-Detached deja el debate corriendo aunque cierres esta conversación. El progreso se escribe en data\autopilot.log; errores del proceso van a data\autopilot.stderr.log y, si una sala falla, a data\rooms\<id>\error.log. Para esperar en primer plano, omite -Detached.

Por defecto ambos asientos usan Antigravity CLI con gemini-3.8-flash-low. Para escoger otros modelos de Antigravity:

.\scripts\start-debate.ps1 -Topic "Tema" -Rounds 2 -Engine agy -Detached

Se pueden cambiar con -ProposerModel y -CriticModel. Para usar OpenCode como proponente y Antigravity como crítico, indica -Engine both.

Para conservar acentos y signos en temas largos, también acepta un archivo UTF-8:

Set-Content -Encoding utf8 .\tema.txt "¿Qué enfoque conviene?"
.\scripts\start-debate.ps1 -TopicFile .\tema.txt -Rounds 6 -Detached

Para dejar el servidor MCP listo sin iniciar debate:

.\scripts\start-debate.ps1 -ServerOnly

También se puede ejecutar directamente:

npm install
npm run build
npm run debate -- --topic "Tema a debatir" --rounds 6
npm test
npm run format:check

Antigravity usa por defecto gemini-3.8-flash-low para ambos asientos; OpenCode usa openai/gpt-6-luna-fast. Se pueden cambiar con -OpenCodeModel, -AgyModel, -ProposerModel, -CriticModel, OPENCODE_MODEL, AGY_MODEL y AGY_EFFORT. Las llamadas a Antigravity son stateless por defecto: el autopiloto envía el contexto actual explícitamente y no reenvía la conversación acumulada. Define AGY_STATELESS=0 para reactivar sesiones conversacionales de Antigravity.

OpenCode headless recibe OPENCODE_CONFIG_CONTENT únicamente en el proceso hijo, con los servidores MCP configurados en este entorno desactivados y todas sus tools bloqueadas. La configuración global permanece intacta y el autopiloto es el único que publica turnos. El agente sigue pudiendo responder texto en modo plan.

Timeouts configurables por CLI y fase, en milisegundos: DEBATE_TIMEOUT_OPENCODE_TURN_MS, DEBATE_TIMEOUT_OPENCODE_SIGNOFF_MS, DEBATE_TIMEOUT_OPENCODE_PLAN_MS y sus equivalentes DEBATE_TIMEOUT_AGY_*_MS. También aceptan un fallback por proveedor (DEBATE_TIMEOUT_OPENCODE_MS, DEBATE_TIMEOUT_AGY_MS) o global (DEBATE_TIMEOUT_MS). Defaults: turno 4 min, firma 3 min, síntesis 5 min. DEBATE_MAX_RETRIES (0–5, default 2) y DEBATE_RETRY_BASE_MS/DEBATE_RETRY_MAX_MS controlan reintentos transitorios. Cuota agotada y 429 ambiguo fallan rápido y dejan plan parcial.

Datos producidos

Cada sala crea data/rooms/<id>/ con:

  • <id>.json: turno, estado, mensajes y acuerdo.

  • <id>\transcript.md: transcripción legible.

  • <id>\plan.md: plan final, decisiones, pasos, riesgos y dissent.

  • <id>\result.json: resultado de la ejecución.

La carpeta data/ está excluida de Git. DEBATE_DATA_DIR permite cambiar la ubicación.

MCP manual

El endpoint Streamable HTTP es http://127.0.0.1:4599/mcp; estado en /health. Ambos clientes se configuran como clientes remotos al mismo endpoint. El MCP ofrece room_create, room_list, room_join, room_status, room_post, room_read, room_wait, room_save_plan, room_close y room_export_transcript.

Para el modo manual, inicia a cada agente con su asiento (opencode o antigravity) y pídele que consulte room_status, publique cuando le toque y repita room_wait si queda idle. Al aceptar una propuesta, room_post debe incluir acceptedRevisionId con la revisión exacta mostrada por room_read; puede incluir idempotency_key para que repetir una publicación sea seguro. MCP no puede reactivar una conversación que ya terminó.

Consenso

Se considera consenso solo si OpenCode y Antigravity aceptan la misma revisión SHA-256, no dejan puntos abiertos y Antigravity firma la revisión persistida. Una propuesta editada genera una revisión nueva. Si no se consigue acuerdo antes del máximo de rondas, se guarda no_consensus y las objeciones quedan en Dissent.

Diagnóstico rápido

Invoke-RestMethod http://127.0.0.1:4599/health
opencode mcp list
agy mcp list

Después de cambiar la configuración MCP, reinicia OpenCode y actualiza/reinicia Antigravity IDE.

Licencia

Este proyecto se distribuye bajo la licencia MIT. Consulta LICENSE.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to debate styleguides, rules, decisions, or specs in a shared room until they reach consensus, producing a versioned artifact and a transcript of the negotiation.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to join one shared room over MCP where they message each other, post live status, read and write shared notes, and use shared connections such as Zapier, all from a single self-hosted process. Supports per-agent tokens, join links, OAuth sign-in, and admin tools for managing seats, roles, and tunnels.
      1 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP-connected agent sessions across different providers and machines to collaborate in shared rooms, joining via relayable codes to preview and exchange briefs, messages, artifacts, action requests, and a shared read-only working surface. Also serves A2A-speaking agents through a public-room endpoint.
      1,273 npm
      4
      MIT
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables multiple agent sessions to exchange and reconcile task context in shared rooms on a local machine. Each person reviews and confirms agreements on their own page before anything is final.
      303 npm
      -