Agent Collaboration

Um servidor dinâmico para gerenciar colaboração multi-agente em sessões tmux, com configurações flexíveis de painéis e detecção automática.

Documentação

Agent Collaboration MCP Server

A versão em inglês está aqui

Um servidor MCP totalmente autossuficiente que permite que múltiplos agentes de IA trabalhem em colaboração. Ao permitir que agentes como o Claude Code usem esta ferramenta, os agentes podem iniciar e controlar outros agentes, executando tarefas complexas como uma equipe.

✨ Recursos

  • Arquitetura simples: operação intuitiva com especificação direta do número do painel
  • Suporte a múltiplos agentes: controle simultâneo de Claude Code e Gemini
  • Gerenciamento flexível de sessões: suporte a trabalho paralelo em múltiplos projetos
  • Gerenciamento avançado de estado: monitoramento em tempo real do estado de execução dos agentes

🎯 Trabalho colaborativo entre agentes

⚠️ Sobre o recurso de autenticação automática
Se você deseja automatizar a autenticação de novos agentes, o Playwright MCP é necessário. Se o Playwright MCP não estiver instalado, a autenticação deverá ser feita manualmente. Consulte o Recurso de autenticação delegada automática para obter detalhes.

O principal uso deste servidor MCP é agentes gerenciarem outros agentes. Por exemplo:

  • O agente chefe divide as tarefas e as distribui para múltiplos agentes trabalhadores
  • Cada agente trabalha em sua área de especialidade (Claude Code para codificação, Gemini para geração de imagens)
  • Agentes enviam mensagens entre si e compartilham o progresso
  • Um agente revisa e integra os resultados do trabalho de outros agentes
  • Autenticação delegada automática: quando um novo agente recebe uma solicitação de autenticação, um agente já autenticado realiza a autenticação automaticamente em seu lugar

🛠️ Ferramentas fornecidas

6 ferramentas que os agentes podem usar:

1. start_agent - Inicialização de agente

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

Inicia um agente de IA no alvo tmux especificado.

  • target: formato de alvo tmux ("session:window.pane", ex.: "multiagent:0.5")
  • agentType: claude (desenvolvimento de código geral) ou gemini (tarefas de geração de imagens)
  • additionalArgs: argumentos adicionais (opcional)

2. get_agent_status - Verificação de status

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

Status disponíveis

StatusÍconeDescrição
running_claude✅Claude Code em execução, aguardando entrada
running_gemini💎Gemini em execução, aguardando entrada
auth_claude🔐Claude Code em processo de autenticação
auth_gemini🔑Gemini em processo de autenticação
executing_claude⚡Claude em execução (exibindo ESC to interrupt)
stopped⚫Agente parado ou em estado de shell

3. send_message - Envio de mensagem

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

Envia mensagens ou caracteres de controle para o painel especificado. Com recurso avançado de envio de mensagens.

4. capture_screen - Captura de tela

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

Obtém o conteúdo da tela do painel.

5. parallel_implement - Implementação paralela

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

Múltiplos agentes trabalhadores implementam a mesma tarefa em paralelo, e o agente chefe seleciona e integra o melhor resultado.

Importante: este recurso deve ser executado dentro de um repositório Git. Cada trabalhador trabalha em seu próprio Git worktree.

  • prompt: instruções de implementação (obrigatório)
  • workerCount: número de trabalhadores (padrão: 3)
  • complexity: complexidade da tarefa (simple, medium, complex)
  • agentType: agente a ser usado (claude, gemini)
  • autoMerge: merge automático após a conclusão (padrão: false)

6. get_parallel_status - Verificação de status da implementação paralela

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

Verifica o progresso das sessões de implementação paralela. É possível obter o status de trabalho de cada trabalhador, taxa de conclusão, informações de erro, etc.

📦 Configuração

1. Instalação

Via npm (recomendado):

npm install -g agent-collaboration-mcp@latest

Diretamente do GitHub:

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

2. Adicionar ao Claude Code (recomendado)

Método simples (usando CLI):

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

Se você usar o recurso de autenticação automática, adicione também o Playwright MCP:

claude mcp add playwright npx @playwright/mcp@latest

Ou use a configuração JSON:

  1. Crie .mcp.json na raiz do projeto:
{
  "mcpServers": {
    "agent-collaboration": {
      "command": "npx",
      "args": ["agent-collaboration-mcp"]
    }
  }
}
  1. Para instalação local:
{
  "mcpServers": {
    "agent-collaboration": {
      "command": "node",
      "args": ["/absolute/path/to/Agent_Collaboration_MCP/index.js"]
    }
  }
}

3. Preparação da sessão tmux

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

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

💡 Exemplos 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")

Exemplo de trabalho com múltiplas sessões

// プロジェクト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デザインを作成してください")

Recurso de autenticação delegada automática (opcional)

Se você deseja automatizar a autenticação de novos agentes, usando o Playwright MCP em conjunto, um agente já autenticado pode realizar a autenticação automaticamente em nome do novo agente.

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

Exemplo de colaboração 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()

Parada de emergência e controle

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

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

🔧 Pré-requisitos

Obrigatório

  • Node.js 18 ou superior
  • tmux
  • Sessão tmux: tmux new-session -d -s multiagent

Opcional (para automação de autenticação)

  • Playwright MCP: necessário para automatizar a autenticação de agentes

🚀 Recursos avançados

Especificação flexível de alvo

  • Especificação de sessão: trabalho paralelo em diferentes projetos
  • Curinga: direciona todos os painéis com multiagent:*
  • Especificação intuitiva de números: especificação simples com 0, 1, 2...

Detecção precisa de estado

  • Monitoramento em tempo real: determina imediatamente o estado de execução do agente
  • Identificação de múltiplos estados: distingue com precisão entre em execução, autenticando, parado, etc.
  • Exibição com ícones: exibição de estado visualmente clara

🚨 Solução de problemas

A sessão tmux não existe

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

O agente não inicia

  • Verifique o estado com get_agent_status()
  • Verifique as mensagens de erro com capture_screen()
  • O sistema de autenticação delegada geralmente resolve o problema automaticamente

As mensagens não são enviadas

  • Verifique se o agente está em execução com get_agent_status()
  • Verifique se a sessão tmux existe
  • Verifique se o formato do alvo está correto ("session:window.pane")

📄 Personalização de scripts

O Agent Collaboration MCP usa scripts em scripts/agent_tools/. Se você tiver seus próprios métodos de inicialização de agentes ou envio de mensagens, personalize estes scripts:

  • agent_manager.sh: definição do comando de inicialização do agente
  • pane_controller.sh: definição do método de envio de mensagens

🤝 Contribuição

Contribuições para este projeto são bem-vindas. Envie relatórios de bugs e sugestões de recursos.

📄 Licença

MIT License