Agent Collaboration

Un servidor dinámico para gestionar la colaboración multiagente dentro de sesiones tmux, con configuraciones flexibles de paneles y detección automática.

Documentación

Servidor MCP Agent Collaboration

La versión en inglés está aquí

Es un servidor MCP completamente autónomo que permite que múltiples agentes de IA trabajen en colaboración. Al permitir que agentes como Claude Code utilicen esta herramienta, los agentes pueden iniciar y controlar a otros agentes, ejecutando tareas complejas como un equipo.

✨ Características

  • Arquitectura simple: Operación intuitiva especificando directamente los números de panel
  • Soporte para múltiples agentes: Control simultáneo de Claude Code y Gemini
  • Gestión flexible de sesiones: Soporte para trabajo paralelo en múltiples proyectos
  • Gestión avanzada de estado: Monitoreo en tiempo real del estado de ejecución de los agentes

🎯 Trabajo colaborativo entre agentes

⚠️ Acerca de la función de autenticación automática
Para automatizar la autenticación de nuevos agentes, se requiere Playwright MCP. Si Playwright MCP no está instalado, la autenticación debe realizarse manualmente. Consulte la función de autenticación automática delegada para más detalles.

El propósito principal de este servidor MCP es que los agentes gestionen a otros agentes. Por ejemplo:

  • El agente jefe divide las tareas y las asigna a múltiples agentes trabajadores
  • Cada agente trabaja en su área de especialización (Claude Code en codificación, Gemini en generación de imágenes)
  • Los agentes se envían mensajes entre sí y comparten el progreso
  • Un agente revisa e integra los resultados de trabajo de otros agentes
  • Autenticación automática delegada: si un nuevo agente solicita autenticación, un agente ya autenticado la realiza automáticamente en su nombre

🛠️ Herramientas proporcionadas

Seis herramientas disponibles para los agentes:

1. start_agent - Inicio del agente

start_agent(target="multiagent:0.2", agentType="claude")
start_agent(target="multiagent:0.3", agentType="gemini")

Inicia un agente de IA en el objetivo tmux especificado.

  • target: Formato de objetivo tmux ("session:window.pane", ej.: "multiagent:0.5")
  • agentType: claude (desarrollo de código general) o gemini (tareas de generación de imágenes)
  • additionalArgs: Argumentos adicionales (opcional)

2. get_agent_status - Verificación de estado

get_agent_status()                          // 全エージェントの状態を確認
get_agent_status(target="multiagent:0.2")  // 特定ペインの詳細状態を確認
get_agent_status(target="multiagent:*")    // セッション内全ペインの状態確認

Estados disponibles

EstadoIconoDescripción
running_claudeClaude Code en ejecución, esperando entrada
running_gemini💎Gemini en ejecución, esperando entrada
auth_claude🔐Claude Code en proceso de autenticación
auth_gemini🔑Gemini en proceso de autenticación
executing_claudeClaude en ejecución (mostrando ESC to interrupt)
stoppedAgente detenido o en estado de shell

3. send_message - Envío de mensajes

send_message(target="multiagent:0.2", message="こんにちは")
send_message(target="multiagent:0.3", message="C-c", sendEnter=false) // Ctrl+C送信

Envía mensajes o caracteres de control al panel especificado. Incluye función avanzada de envío de mensajes.

4. capture_screen - Captura de pantalla

capture_screen(target="multiagent:0.2")        // 全履歴キャプチャ
capture_screen(target="multiagent:0.3", lines=50) // 最後の50行

Obtiene el contenido de pantalla del panel.

5. parallel_implement - Implementación paralela

parallel_implement(prompt="ユーザー認証機能を実装してください")
parallel_implement(prompt="リファクタリングを実行", workerCount=5, complexity="complex")

Múltiples agentes trabajadores implementan la misma tarea en paralelo, y el agente jefe selecciona e integra el mejor resultado.

Importante: esta función debe ejecutarse dentro de un repositorio Git. Cada trabajador trabaja en su propio Git worktree.

  • prompt: Instrucciones de implementación (obligatorio)
  • workerCount: Número de trabajadores (predeterminado: 3)
  • complexity: Complejidad de la tarea (simple, medium, complex)
  • agentType: Agente a utilizar (claude, gemini)
  • autoMerge: Fusión automática al finalizar (predeterminado: false)

6. get_parallel_status - Verificación de estado de implementación paralela

get_parallel_status()                    // 全セッションの一覧を取得
get_parallel_status(sessionId="parallel_20240105_123456")  // 特定セッションの詳細

Verifica el progreso de las sesiones de implementación paralela. Se puede obtener el estado de trabajo de cada trabajador, la tasa de finalización, información de errores, etc.

📦 Configuración

1. Instalación

Mediante npm (recomendado):

npm install -g agent-collaboration-mcp@latest

Directamente desde GitHub:

git clone https://github.com/nishimoto265/Agent_Collaboration_MCP.git
cd Agent_Collaboration_MCP
npm install

2. Adición a Claude Code (recomendado)

Método sencillo (usando CLI):

claude mcp add agent-collaboration npx agent-collaboration-mcp@latest

Si se utiliza la función de autenticación automática, agregue también Playwright MCP:

claude mcp add playwright npx @playwright/mcp@latest

O bien, usando configuración JSON:

  1. Cree .mcp.json en la raíz del proyecto:
{
  "mcpServers": {
    "agent-collaboration": {
      "command": "npx",
      "args": ["agent-collaboration-mcp"]
    }
  }
}
  1. Para instalación local:
{
  "mcpServers": {
    "agent-collaboration": {
      "command": "node",
      "args": ["/absolute/path/to/Agent_Collaboration_MCP/index.js"]
    }
  }
}

3. Preparación de la sesión de tmux

# デフォルトセッション(multiagent)を作成
tmux new-session -d -s multiagent

# 複数プロジェクトの場合
tmux new-session -d -s project1
tmux new-session -d -s project2

💡 Ejemplos de uso

Uso básico

// 1. エージェントを起動
start_agent(target="multiagent:0.2", agentType="claude")
start_agent(target="multiagent:0.3", agentType="claude")

// 2. ステータス確認
get_agent_status()

// 3. タスクを指示
send_message(target="multiagent:0.2", message="READMEを確認してください")
send_message(target="multiagent:0.3", message="テストを実行してください")

// 4. 結果を確認
capture_screen(target="multiagent:0.3")

Ejemplo de trabajo con múltiples sesiones

// プロジェクト1での作業
start_agent(target="project1:0.0", agentType="claude")
send_message(target="project1:0.0", message="バックエンドAPIを実装してください")

// プロジェクト2での並行作業
start_agent(target="project2:0.0", agentType="gemini")
send_message(target="project2:0.0", message="UIデザインを作成してください")

Función de autenticación automática delegada (opcional)

Si desea automatizar la autenticación de nuevos agentes, puede combinarlo con Playwright MCP para que un agente ya autenticado realice automáticamente la autenticación en nombre del nuevo agente.

// Playwright MCPがインストールされている場合の動作
start_agent(target="multiagent:0.5", agentType="claude")
// 認証が必要な場合、以下が自動実行されます:
// 1. 既存の認証済みエージェントを検出
// 2. 新エージェントの認証URLを抽出
// 3. Playwright MCPを使用してブラウザで自動認証
// 4. 認証コードを自動的に新エージェントに送信

Ejemplo de colaboración multiagente

// Boss エージェント(タスク管理)
start_agent(target="multiagent:0.0", agentType="claude")

// Worker エージェント群
start_agent(target="multiagent:0.1", agentType="claude")  // コード開発担当
start_agent(target="multiagent:0.2", agentType="gemini") // 画像生成担当
start_agent(target="multiagent:0.3", agentType="claude") // テスト担当

// Bossからタスク分割指示
send_message(target="multiagent:0.0", message="プロジェクトの進捗確認と各チームへのタスク分割をお願いします")

// 各Workerの状態監視
get_agent_status()

Detención y control de emergencia

// プロセスを停止
send_message(target="multiagent:0.2", message="C-c", sendEnter=false)

// 画面をクリア
send_message(target="multiagent:0.2", message="C-l", sendEnter=false)

🔧 Requisitos previos

Obligatorios

  • Node.js 18 o superior
  • tmux
  • Sesión de tmux: tmux new-session -d -s multiagent

Opcional (para automatización de autenticación)

  • Playwright MCP: Necesario para automatizar la autenticación de agentes

🚀 Funciones avanzadas

Especificación flexible de objetivos

  • Especificación de sesión: Trabajo paralelo en diferentes proyectos
  • Comodines: multiagent:* para apuntar a todos los paneles
  • Especificación intuitiva de números: Especificación simple con 0, 1, 2...

Detección precisa de estado

  • Monitoreo en tiempo real: Determinación inmediata del estado de ejecución del agente
  • Identificación de múltiples estados: Distinción precisa entre ejecución, autenticación, detención, etc.
  • Visualización con iconos: Visualización de estado fácil de entender

🚨 Solución de problemas

La sesión de tmux no existe

# multiagentセッションを作成
tmux new-session -d -s multiagent

El agente no se inicia

  • Verifique el estado con get_agent_status()
  • Verifique los mensajes de error con capture_screen()
  • El sistema de autenticación delegada suele resolver el problema automáticamente

No se envían mensajes

  • Verifique si el agente está iniciado con get_agent_status()
  • Verifique que la sesión de tmux exista
  • Verifique que el formato del objetivo sea correcto ("session:window.pane")

📄 Personalización de scripts

Agent Collaboration MCP utiliza los scripts dentro de scripts/agent_tools/. Si tiene su propio método de inicio de agentes o de envío de mensajes, personalice estos scripts:

  • agent_manager.sh: Definición de comandos de inicio de agentes
  • pane_controller.sh: Definición del método de envío de mensajes

🤝 Contribuciones

Se agradecen las contribuciones a este proyecto. Por favor, reporte errores o sugiera funciones.

📄 Licencia

Licencia MIT