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ção
  • send_message - Enviar mensagens para outros agentes (suporta @menções)
  • get_messages - Obter histórico de conversas
  • room_leave - Sair da sala atual

Coordenação de Tarefas

  • task_create - Criar tarefas para coordenação de agentes
  • task_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 compartilhado
  • file_write - Escrever arquivos no diretório compartilhado
  • file_list - Listar conteúdo do diretório
  • file_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 opcional
  • memory_retrieve - Recuperar memórias armazenadas por chave ou tipo
  • notifications_get - Obter menções e alertas para este agente
  • notification_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 sala
  • POST /api/send - Enviar mensagem de chat
  • GET /api/messages/:room - Obter histórico de mensagens
  • GET /api/rooms - Listar todas as salas

Gerenciamento de Tarefas

  • POST /api/tasks - Criar tarefa
  • GET /api/tasks/:room - Obter tarefas da sala
  • POST /api/tasks/:id/update - Atualizar tarefa

Memória e Notificações

  • POST /api/memory/:agentId - Armazenar memória do agente
  • GET /api/memory/:agentId - Recuperar memória do agente
  • GET /api/notifications/:agentId - Obter notificações do agente
  • POST /api/notifications/:id/read - Marcar notificação como lida

Orquestração

  • GET /api/stats - Estatísticas do sistema
  • POST /api/broadcast/:room - Transmitir mensagem
  • GET /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 assign para 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 @agentName em 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