Symphony of One
Um servidor MCP para orquestrar múltiplas instâncias do Claude para colaborar em um espaço de trabalho compartilhado com comunicação em tempo real.
Documentação
Symphony of One MCP - Sistema de Orquestração Multi-Agente
Um servidor Model Context Protocol (MCP) que permite que múltiplas instâncias do Claude colaborem através de um hub centralizado com espaço de trabalho compartilhado e comunicação em tempo real.
Arquitetura
User (Orchestrator) ← Central Hub Server → Shared Working Directory
↑ ↓ ↑
Hub CLI Interface Message Router File Access
↑ ↓ ↓
Multiple Claude Code Instances via MCP Servers ← → Collaboration
Componentes
1. Servidor Hub Central (server.js)
- Servidor Express + Socket.IO para coordenação de agentes
- Sistema de chat baseado em salas para comunicação entre agentes
- Sistema de gerenciamento e delegação de tarefas
- Monitoramento de arquivos com notificações de alterações em tempo real
- API REST para gerenciamento e orquestração de agentes
2. CLI de Orquestração do Usuário (cli.js)
- Interface de comando e controle para o usuário
- Monitoramento de agentes e atribuição de tarefas
- Transmissão de mensagens para grupos de agentes
- Estatísticas do sistema em tempo real e gerenciamento de salas
3. Servidor MCP do Agente Claude (mcp-server.js)
- Servidor MCP ao qual as instâncias do Claude Code se conectam
- Acesso ao sistema de arquivos compartilhado com restrições de segurança
- Participação em chat em tempo real com outros agentes
- Execução de tarefas e relatório de progresso
- Notificações de alterações de arquivos e sincronização de colaboração
Início Rápido
1. Configuração Automatizada
npm run setup
Isso irá:
- Instalar todas as dependências (incluindo sqlite3)
- Criar o diretório do espaço de trabalho compartilhado
- Testar o servidor MCP
- Mostrar instruções de configuração do Claude Desktop
🆕 Novo na v2.0: CLI aprimorado com gerenciamento de funções, modelos de tarefas e preenchimento automático com TAB!
2. Iniciar o Hub Central
npm run server
Isso inicia o servidor hub em http://localhost:3000 com um diretório compartilhado em ./shared
3. Configurar o Claude Desktop
🎯 Configuração Automática (Recomendada)
Gere a configuração correta para o seu ambiente:
npm run config
Isso cria:
claude-config-windows.json- Para Claude Desktop (Windows)claude-config-wsl.json- Para Claude Code (WSL)
Observação: Os exemplos abaixo mostram caminhos de espaço reservado. Quando você executar npm run config, ele gerará os caminhos reais para a localização do seu projeto.
📋 Configuração Manual
Adicione a configuração apropriada ao seu arquivo de configuração do Claude Desktop (geralmente em %APPDATA%\Claude\claude_desktop_config.json):
Para Claude Desktop (Windows):
{
"mcpServers": {
"claude-symphony-of-one": {
"command": "node",
"args": ["C:\\path\\to\\your\\project\\mcp-server-wrapper.js"],
"env": {
"CHAT_SERVER_URL": "http://localhost:3000",
"SHARED_DIR": "C:\\path\\to\\your\\project\\shared",
"AGENT_NAME": "Claude-Agent-Windows"
}
}
}
}
Para Claude Code (WSL):
{
"mcpServers": {
"claude-symphony-of-one": {
"command": "node",
"args": ["/mnt/c/path/to/your/project/mcp-server-wrapper.js"],
"env": {
"CHAT_SERVER_URL": "http://localhost:3000",
"SHARED_DIR": "/mnt/c/path/to/your/project/shared",
"AGENT_NAME": "Claude-Agent-WSL"
}
}
}
}
🔧 Observação: As configurações usam o script wrapper inteligente (mcp-server-wrapper.js) que lida automaticamente com as diferenças de caminho Windows/WSL.
📖 Para instruções detalhadas de configuração Windows/WSL, consulte WINDOWS_WSL_SETUP_GUIDE.md
4. Iniciar CLI de Orquestração do Usuário (Opcional)
npm run cli
Isso abre a interface de orquestração para gerenciar agentes e tarefas.
5. Reiniciar o Claude Desktop
Reinicie o Claude Desktop para carregar o servidor MCP. Agora você deve ver as ferramentas do Symphony of One disponíveis no Claude.
Configuração
Variáveis de Ambiente
CHAT_SERVER_URL: URL do servidor hub (padrão:http://localhost:3000)SHARED_DIR: Diretório do espaço de trabalho compartilhado (padrão:./shared)AGENT_NAME: Nome de exibição do agente (padrão: gerado automaticamente)PORT: Porta do servidor hub (padrão:3000)
Configuração Manual (Alternativa)
Se você preferir configuração manual, consulte o arquivo claude-config-example.json para o formato exato de configuração.
Testando a Configuração
npm test
Isso testará a funcionalidade do servidor MCP e verificará se todas as ferramentas estão funcionando corretamente.
Ferramentas Disponíveis (MCP)
Gerenciamento de Salas
room_join- Entrar em uma sala de chat para colaboraçãosend_message- Enviar mensagens para outros agentes (suporta @menções)get_messages- Obter histórico de conversasroom_leave- Sair da sala atual
Coordenação de Tarefas
task_create- Criar tarefas para coordenação de agentestask_list- Visualizar todas as tarefas da sala- Atribuição de tarefas e acompanhamento de status
Sistema de Arquivos (Espaço de Trabalho Compartilhado)
file_read- Ler arquivos do diretório compartilhadofile_write- Escrever arquivos no diretório compartilhadofile_list- Listar conteúdo do diretóriofile_delete- Remover arquivos- Notificações automáticas de alterações para todos os agentes
Memória e Notificações do Agente
memory_store- Armazenar informações persistentes com expiração opcionalmemory_retrieve- Recuperar memórias armazenadas por chave ou tiponotifications_get- Obter menções e alertas para este agentenotification_read- Marcar notificações como lidas
Comandos do Orquestrador
Comandos Aprimorados do Orquestrador (v2.0)
Gerenciamento de Funções 🎭
/role assign- Atribuição interativa de funções com menus guiados/role list- Mostrar atribuições de funções atuais dos agentes/roles- Listar todas as funções predefinidas disponíveis/role create- Criar funções organizacionais personalizadas/role prompt <agent>- Enviar instruções específicas de função
Modelos de Tarefas e Atribuições Rápidas 📋
/template list- Mostrar modelos de tarefas disponíveis/template use <name>- Criar tarefas a partir de modelos com variáveis/quick bug- Atribuição de correção de bug emergencial/quick security- Resposta a incidentes de segurança/quick feature- Desenvolvimento de novos recursos/quick performance- Otimização de desempenho/quick review- Solicitação de revisão de código
Gerenciamento de Salas
/join <room>- Entrar/criar uma sala (com preenchimento automático com TAB)/rooms- Listar todas as salas/agents- Mostrar agentes na sala atual com informações de função/history [n]- Mostrar mensagens recentes
Orquestração de Agentes
/broadcast <msg>- Enviar mensagem para todos os agentes/assign <agent> <task>- Atribuir tarefa a um agente específico/tag <agent> <msg>- Enviar mensagem marcada para agente específico (@menção)/monitor [room]- Monitorar atividade da sala/stats- Mostrar estatísticas do sistema
Gerenciamento de Tarefas
/task create- Criar novas tarefas/task list- Visualizar todas as tarefas/task update <id>- Atualizar status da tarefa
Recursos Aprimorados
- Tecla TAB - Preenchimento automático de comandos e parâmetros
- Setas CIMA/BAIXO - Navegar pelo histórico de comandos
- Menus interativos - Use as teclas de seta para seleções
/clear- Limpar tela e mostrar guia de início rápido
Memória e Notificações
/memory list- Visualizar uso de memória do sistema/notifications- Visualizar notificações e menções recentes/logs [type]- Visualizar logs de atividade do sistema
Casos de Uso
Desenvolvimento Multi-Agente
- Múltiplas instâncias do Claude trabalham em diferentes partes de um código
- Notificações de alterações de arquivos em tempo real mantêm todos os agentes sincronizados
- Delegação de tarefas e acompanhamento de progresso
- Espaço de trabalho compartilhado previne conflitos
Análise Colaborativa
- Agentes podem se especializar em diferentes domínios de análise
- Coordenação baseada em chat para resolução de problemas complexos
- Edição e revisão compartilhada de documentos
- Atribuição de tarefas com base nas capacidades dos agentes
Fluxos de Trabalho Orquestrados
- O usuário define objetivos de alto nível e delega aos agentes
- Agentes se autocoordenam através de chat e sistema de tarefas
- Compartilhamento e revisão de entregáveis baseados em arquivos
- Monitoramento de progresso e capacidades de intervenção
Endpoints da API
Operações Principais
POST /api/join/:room- Agente entra na salaPOST /api/send- Enviar mensagem de chatGET /api/messages/:room- Obter histórico de mensagensGET /api/rooms- Listar todas as salas
Gerenciamento de Tarefas
POST /api/tasks- Criar tarefaGET /api/tasks/:room- Obter tarefas da salaPOST /api/tasks/:id/update- Atualizar tarefa
Memória e Notificações
POST /api/memory/:agentId- Armazenar memória do agenteGET /api/memory/:agentId- Recuperar memória do agenteGET /api/notifications/:agentId- Obter notificações do agentePOST /api/notifications/:id/read- Marcar notificação como lida
Orquestração
GET /api/stats- Estatísticas do sistemaPOST /api/broadcast/:room- Transmitir mensagemGET /api/agents/:room- Listar agentes da sala
Novos Recursos Adicionados
🎭 Sistema Avançado de Gerenciamento de Funções (v2.0)
- Funções Predefinidas de Agentes: 11 funções especializadas em Desenvolvimento, Análise, Gerenciamento, Qualidade, Operações, Documentação e Pesquisa
- Atribuição Interativa de Funções: Use
/role assignpara atribuir funções aos agentes com menus guiados - Modelos de Tarefas: Mais de 7 modelos predefinidos para fluxos de trabalho comuns (revisão de código, implementação de recursos, correções de bugs, etc.)
- Atribuições Rápidas: Criação instantânea de tarefas com
/quick bug,/quick security, etc. que sugerem automaticamente agentes apropriados - Preenchimento com TAB: Conclusão de comandos estilo IntelliSense com a tecla TAB
- Funções e Modelos Personalizados: Crie funções organizacionais e modelos de tarefas específicos
🏷️ Marcação e Menções de Agentes
- Use
@agentNameem mensagens para marcar agentes específicos - Agentes marcados recebem notificações em tempo real
- O orquestrador pode usar
/tag <agent> <message>para comunicação direta - Armazenamento e gerenciamento persistente de notificações
💾 Armazenamento Persistente e Memória
- Banco de dados SQLite para todas as mensagens, tarefas e dados de agentes
- Sistema de memória do agente com expiração opcional
- Sistema persistente de notificações com status lido/não lido
- Registro abrangente com Winston
- Os dados sobrevivem a reinicializações do servidor
📊 Monitoramento e Registro Aprimorados
- Monitoramento de atividade em tempo real
- Registro persistente de mensagens e eventos
- Estatísticas do sistema e acompanhamento de uso de memória
- Métricas de atividade e desempenho dos agentes
Recursos de Segurança
- Proteção contra travessia de caminho para operações de arquivos
- Acesso ao diretório compartilhado em sandbox
- Declarações e validação de capacidades dos agentes
- Autenticação WebSocket e isolamento de salas
- Armazenamento seguro de memória com expiração
- Trilha de auditoria para todas as ações dos agentes
Aprimoramentos Futuros
- Autenticação e permissões de agentes
- Bloqueio de arquivos para acesso concorrente
- Dependências de tarefas e fluxos de trabalho
- Descoberta de agentes e correspondência de capacidades
- Monitoramento e análise avançados
- Limpeza e otimização de memória
- Canais de notificação e roteamento