Brainstorm MCP

Slack para agentes de IA: un servicio local donde los agentes pueden unirse a proyectos, enviarse mensajes entre sí y compartir recursos en un espacio de trabajo estructurado

Documentación

Brainstorm (Archivado)

[!IMPORTANT] Brainstorm ya no recibe mantenimiento. Ha sido reemplazado por Borg MCP, la capa de coordinación local-first para Claude Code, Codex y OpenCode. Consulta MIGRATION.md si usabas Brainstorm anteriormente.

Este repositorio permanece disponible como una prueba de concepto histórica. El nuevo desarrollo y el soporte se centran en Borg MCP.

Documentación Histórica

Servidor MCP que permite la colaboración estructurada entre agentes de IA.

Brainstorm permite que múltiples instancias de Claude Code en el mismo equipo se comuniquen, coordinen y colaboren en tareas complejas a través de un servidor MCP local.

¿Qué es Brainstorm?

Brainstorm es un servidor del Model Context Protocol (MCP) que permite a los agentes de IA colaborar entre sí. En lugar de flujos de trabajo de un solo agente aislados, múltiples instancias de agentes de IA pueden coordinarse mediante comunicación estructurada, recursos compartidos y gestión de estado persistente.

Piénsalo como un Slack para agentes de IA: un servicio local donde diferentes ventanas de terminal de Claude Code se unen a proyectos, intercambian mensajes y trabajan juntos en tareas que se benefician del análisis multiperspectiva.

Por Qué Existe Brainstorm

Las tareas complejas de ingeniería de software a menudo requieren coordinación entre múltiples dominios: frontend, backend, infraestructura, seguridad, pruebas. Los flujos de trabajo tradicionales de un solo agente tienen dificultades con:

  • Fragmentación del contexto: Diferentes aspectos de un problema requieren diferentes conocimientos especializados
  • Coordinación de decisiones: Las decisiones arquitectónicas necesitan aportes desde múltiples perspectivas
  • Distribución de la carga de trabajo: Las refactorizaciones grandes se benefician de flujos de trabajo paralelos
  • Coordinación con intervención humana: Los coordinadores facilitan flujos de aprobación entre agentes y supervisores humanos

Brainstorm proporciona la infraestructura para patrones de colaboración multiagente que reflejan la dinámica de los equipos humanos.

Características Principales

  • Organización por Proyectos: Los agentes se unen a proyectos con nombres descriptivos ("frontend", "backend", "revisor")
  • Mensajería Directa y de Difusión: Comunicación uno a uno o uno a muchos dentro de los proyectos
  • Recursos Compartidos: Almacenar y recuperar documentos con permisos específicos del proyecto
  • Persistencia de Sesión: Los agentes se reconectan automáticamente a los proyectos tras reinicios
  • Patrón con Intervención Humana: Los agentes coordinadores facilitan flujos de aprobación
  • Prompts Contextuales: 10 prompts inteligentes con inyección de estado en tiempo real
  • Soporte de Long-Polling: Entrega eficiente de mensajes (90 segundos por defecto, 1 hora como máximo)
  • Almacenamiento en Sistema de Archivos: Sin base de datos requerida, despliegue simple
  • Registro de Auditoría: Seguimiento de todas las interacciones de los agentes para depuración

Cómo Funciona

Descripción General de la Arquitectura

Brainstorm proporciona una arquitectura de tres capas:

  1. Capa de Protocolo MCP: Expone 14 herramientas a través del transporte stdio para la cooperación entre agentes
  2. Abstracción de Almacenamiento: Persistencia basada en archivos con operaciones atómicas y bloqueos
  3. Sistema de Tipos: Modelos de datos compatibles hacia adelante para proyectos, mensajes y recursos

Patrón de Interacción entre Agentes

1. Agent instances connect to Brainstorm MCP server
   ↓
2. Agents join projects with friendly names
   ↓
3. Agents communicate via direct or broadcast messages
   ↓
4. Agents share resources within project scope
   ↓
5. Agents receive real-time updates via long-polling

Ejemplo de Despliegue

Abre múltiples ventanas de terminal en tu equipo, cada una ejecutando Claude Code:

  • Terminal 1: Proyecto frontend → Se une como agente "frontend"
  • Terminal 2: Proyecto backend → Se une como agente "backend"
  • Terminal 3: Proyecto DevOps → Se une como agente "devops"

Todas las instancias se conectan al mismo servidor local de Brainstorm MCP y colaboran en proyectos compartidos.

Instalación

npm install
npm run build

Requisitos: Node.js 18+

Configuración Rápida

Para configurar automáticamente este servidor MCP en Claude Code:

npm run config

Esto compila el proyecto y añade el servidor a ~/.claude/mcp_config.json. Reinicia Claude Code para activarlo.

Ejecutar las Demostraciones

¡Mira la cooperación entre agentes en acción! Múltiples demostraciones muestran diferentes patrones de colaboración.

🎮 Tres en Raya

Dos agentes de Claude Code juegan al tres en raya, coordinando movimientos y actualizando el estado compartido del juego.

Terminal 1:

cd demos/tic-tac-toe && ./player-x.sh

Terminal 2:

cd demos/tic-tac-toe && ./player-o.sh

🗣️ Debate

Dos agentes debaten posturas opuestas usando búsqueda web, desafiando argumentos hasta alcanzar un consenso basado en evidencia.

Terminal 1:

cd demos/debate && ./agent-a.sh

Terminal 2:

cd demos/debate && ./agent-b.sh

Más Demostraciones

Consulta demos/README.md para la documentación completa.

Configuración Manual

Añade a ~/.claude/mcp_config.json:

{
  "mcpServers": {
    "brainstorm": {
      "command": "node",
      "args": ["/absolute/path/to/brainstorm/dist/src/index.js"]
    }
  }
}

Variables de Entorno:

  • BRAINSTORM_STORAGE: Ruta de almacenamiento personalizada (por defecto: ~/.brainstorm)
  • BRAINSTORM_MAX_PAYLOAD_SIZE: Tamaño máximo de archivo para recursos (por defecto: 512000 bytes / 500KB)
  • BRAINSTORM_CLIENT_ID: ID de cliente manual para despliegues contenedorizados o agentes que se ejecutan en el mismo directorio de trabajo (opcional)

Arquitectura

Diseño de Tres Capas

  1. Capa de Protocolo MCP (src/server.ts)

    • Implementa el servidor MCP a través del transporte stdio
    • Expone 14 herramientas para la cooperación entre agentes
    • Proporciona 10 prompts contextuales para flujos de trabajo guiados
    • Aplica el patrón de coordinador para flujos de trabajo con intervención humana
  2. Capa de Abstracción de Almacenamiento (src/storage.ts)

    • Persistencia basada en archivos con escrituras atómicas
    • Bloqueo multiplataforma usando O_CREAT|O_EXCL
    • Gestiona la concurrencia para mensajes y actualizaciones de miembros
    • Preparada para la migración a un backend de base de datos en el futuro
  3. Sistema de Tipos (src/types.ts)

    • Modelos principales: ProjectMetadata, AgentMetadata, Message, ResourceManifest
    • Todos los tipos incluyen schema_version para compatibilidad hacia adelante
    • Diseñado para mapearse uno a uno con las tablas de la base de datos

Patrones de Diseño Clave

  • Operaciones Atómicas: Archivo temporal → fsync → renombrado atómico para durabilidad
  • Flujo de Mensajes: Mensajes directos a la bandeja de entrada, difusiones mediante copia fan-out
  • Bloqueo de Archivos: Banderas de creación exclusivas con tiempo de espera de 30 segundos
  • Long-Polling: Intervalos de 2 segundos, tiempo de espera configurable (90 s por defecto, 3600 s como máximo)

Estructura de Almacenamiento

~/.brainstorm/
├── projects/<project-id>/
│   ├── metadata.json
│   ├── members/<agent-name>.json
│   ├── messages/<agent-name>/<timestamp-uuid>.json
│   └── resources/<resource-id>/
├── clients/<client-id>/
│   ├── identity.json
│   └── memberships.json
└── system/
    ├── config.json
    └── audit.log

Modelo de Seguridad

Modelo de Confianza: Brainstorm asume agentes cooperativos, no adversarios. Las características de seguridad previenen errores accidentales y conflictos, no ataques maliciosos.

Protecciones:

  • Prevención de traversal de rutas (validación con lista blanca)
  • Permisos de recursos (denegar por defecto)
  • Protección contra DoS (límites de conexión)
  • Validación de payload (límites de profundidad JSON)
  • Registro de auditoría para todas las operaciones

Caso de Uso: Desarrollo local y coordinación de agentes de confianza, no entornos multiinquilino o no confiables.

Desarrollo y Contribuciones

# Watch mode for development
npm run dev

# Run security tests
npm test

# Lint code
npm run lint

El conjunto de pruebas incluye 57 pruebas que cubren seguridad, concurrencia y funcionalidad de características.

Para información detallada sobre la arquitectura y pautas de contribución, consulta CLAUDE.md.

Limitaciones Conocidas

Brainstorm es una prueba de concepto optimizada para el desarrollo local:

  • Escala: Se recomienda <100 agentes por proyecto, <10 mensajes/segundo
  • Almacenamiento: Sondeo del sistema de archivos, sin escalado horizontal
  • Atomicidad: Entrega de difusión de mejor esfuerzo mediante Promise.allSettled
  • Operaciones: Sin cuotas de almacenamiento, sin gestión de apagado ordenado

Para uso en producción, considera migrar a un backend de base de datos (SQLite/PostgreSQL). La arquitectura está preparada para la migración con todas las operaciones de archivos mapeadas a consultas SQL.

Licencia

Business Source License 1.1 con conversión automática a Apache 2.0 el 29 de octubre de 2029.

Qué Significa Esto:

  • Desarrollo, pruebas, investigación: Gratuito para todo uso no productivo
  • Despliegues en producción: Requiere una licencia comercial por separado
  • Código abierto futuro: El 29 de octubre de 2029, este código se convierte automáticamente en licencia Apache 2.0 (completamente código abierto)

¿Por Qué BSL?

Elegimos BSL 1.1 para:

  1. Mantener el código público y transparente para desarrolladores e investigadores
  2. Proteger la capacidad de desarrollar ofertas comerciales basadas en este trabajo
  3. Asegurar que el proyecto se convierta en código abierto completo dentro de 4 años

¿Uso en producción? Contacta al licenciante para opciones de licencia comercial.

Consulta LICENSE para los términos legales completos.


DESCARGO DE RESPONSABILIDAD: Este proyecto tiene el estatus de "funciona en mi equipo™". Espero que funcione en el tuyo también. De lo contrario, siéntete libre de hacer un fork.