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
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 | Ícone | Descriçã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:
- Crie
.mcp.jsonna raiz do projeto:
{
"mcpServers": {
"agent-collaboration": {
"command": "npx",
"args": ["agent-collaboration-mcp"]
}
}
}
- 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 agentepane_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