Symphony of One
Orchestrates multiple Claude instances for collaborative tasks via a central hub with a shared workspace and real-time communication.
Symphony of One MCP - Multi-Agent Orchestration System
A Model Context Protocol (MCP) server that enables multiple Claude instances to collaborate through a centralized hub with shared workspace and real-time communication.
Architecture
User (Orchestrator) ← Central Hub Server → Shared Working Directory
↑ ↓ ↑
Hub CLI Interface Message Router File Access
↑ ↓ ↓
Multiple Claude Code Instances via MCP Servers ← → Collaboration
Components
1. Central Hub Server (server.js)
- Express + Socket.IO server for agent coordination
- Room-based chat system for agent communication
- Task management and delegation system
- File watching with real-time change notifications
- REST API for agent management and orchestration
2. User Orchestrator CLI (cli.js)
- Command & control interface for the user
- Agent monitoring and task assignment
- Broadcasting messages to agent groups
- Real-time system statistics and room management
3. Claude Agent MCP Server (mcp-server.js)
- MCP server that Claude Code instances connect to
- Shared file system access with security constraints
- Real-time chat participation with other agents
- Task execution and progress reporting
- File change notifications and collaboration sync
Quick Start
1. Install Dependencies
npm install
2. Start the Central Hub
npm run server
This starts the hub server on http://localhost:3000 with a shared directory at ./shared
3. Start User Orchestrator CLI
npm run cli
This opens the orchestrator interface for managing agents and tasks.
4. Connect Claude Agents
Each Claude Code instance connects via the MCP server:
node mcp-server.js
Configuration
Environment Variables
CHAT_SERVER_URL: Hub server URL (default:http://localhost:3000)SHARED_DIR: Shared workspace directory (default:./shared)AGENT_NAME: Agent display name (default: auto-generated)PORT: Hub server port (default:3000)
Claude Code Integration
Add to your MCP configuration:
{
"mcpServers": {
"claude-gateway": {
"command": "node",
"args": ["path/to/Symphony-of-One-MCP/mcp-server.js"],
"env": {
"CHAT_SERVER_URL": "http://localhost:3000",
"SHARED_DIR": "/path/to/shared/workspace",
"AGENT_NAME": "Claude-Agent-1"
}
}
}
}
Available Tools (MCP)
Room Management
room_join- Join a chat room for collaborationroom_send- Send messages to other agents (supports @mentions)room_history- Get conversation historyroom_list- List all active roomsroom_leave- Leave current room
Task Coordination
task_create- Create tasks for agent coordinationtask_list- View all room tasks- Task assignment and status tracking
File System (Shared Workspace)
file_read- Read files from shared directoryfile_write- Write files to shared directoryfile_list- List directory contentsfile_delete- Remove files- Automatic change notifications to all agents
Agent Memory & Notifications
memory_store- Store persistent information with optional expirationmemory_retrieve- Retrieve stored memories by key or typenotifications_get- Get mentions and alerts for this agentnotification_read- Mark notifications as read
Orchestrator Commands
Room Management
/join <room>- Join/create a room/rooms- List all rooms/agents- Show agents in current room/history [n]- Show recent messages
Agent Orchestration
/broadcast <msg>- Send message to all agents/assign <agent> <task>- Assign task to specific agent/tag <agent> <msg>- Send tagged message to specific agent (@mention)/monitor [room]- Monitor room activity/stats- Show system statistics
Task Management
/task create- Create new tasks/task list- View all tasks/task update <id>- Update task status
Memory & Notifications
/memory list- View system memory usage/notifications- View recent notifications and mentions/logs [type]- View system activity logs
Use Cases
Multi-Agent Development
- Multiple Claude instances work on different parts of a codebase
- Real-time file change notifications keep all agents synchronized
- Task delegation and progress tracking
- Shared workspace prevents conflicts
Collaborative Analysis
- Agents can specialize in different analysis domains
- Chat-based coordination for complex problem solving
- Shared document editing and review
- Task assignment based on agent capabilities
Orchestrated Workflows
- User defines high-level goals and delegates to agents
- Agents self-coordinate through chat and task system
- File-based deliverable sharing and review
- Progress monitoring and intervention capabilities
API Endpoints
Core Operations
POST /api/join/:room- Agent joins roomPOST /api/send- Send chat messageGET /api/messages/:room- Get message historyGET /api/rooms- List all rooms
Task Management
POST /api/tasks- Create taskGET /api/tasks/:room- Get room tasksPOST /api/tasks/:id/update- Update task
Memory & Notifications
POST /api/memory/:agentId- Store agent memoryGET /api/memory/:agentId- Retrieve agent memoryGET /api/notifications/:agentId- Get agent notificationsPOST /api/notifications/:id/read- Mark notification as read
Orchestration
GET /api/stats- System statisticsPOST /api/broadcast/:room- Broadcast messageGET /api/agents/:room- List room agents
New Features Added
🏷️ Agent Tagging & Mentions
- Use
@agentNamein messages to tag specific agents - Tagged agents receive real-time notifications
- Orchestrator can use
/tag <agent> <message>for direct communication - Persistent notification storage and management
💾 Persistent Storage & Memory
- SQLite database for all messages, tasks, and agent data
- Agent memory system with optional expiration
- Persistent notification system with read/unread status
- Comprehensive logging with Winston
- Data survives server restarts
📊 Enhanced Monitoring & Logging
- Real-time activity monitoring
- Persistent message and event logging
- System statistics and memory usage tracking
- Agent activity and performance metrics
Security Features
- Path traversal protection for file operations
- Sandboxed shared directory access
- Agent capability declarations and validation
- WebSocket authentication and room isolation
- Secure memory storage with expiration
- Audit trail for all agent actions
Future Enhancements
- Agent authentication and permissions
- File locking for concurrent access
- Task dependencies and workflows
- Agent discovery and capability matching
- Advanced monitoring and analytics
- Memory cleanup and optimization
- Notification channels and routing
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MiniMax MCP JS
A JavaScript/TypeScript server for MiniMax MCP, offering image/video generation, text-to-speech, and voice cloning.
Jenkins MCP Server
Integrates with Jenkins CI/CD systems for AI-powered insights, build management, and debugging.
MCP Sequence Simulation Server
Simulate DNA and amino acid sequences using evolutionary models and algorithms.
MCP TypeScript Implementation
A TypeScript implementation of the Model Context Protocol for the Personal Intelligence Framework.
GrowthBook
Create and read feature flags, review experiments, generate flag types, search docs, and interact with GrowthBook's feature flagging and experimentation platform.
Tox Testing
Executes tox commands to run Python tests with pytest. Requires the TOX_APP_DIR environment variable to be set.
GXtract
GXtract is a MCP server designed to integrate with VS Code and other compatible editors. It provides a suite of tools for interacting with the GroundX platform, enabling you to leverage its powerful document understanding capabilities directly within your development environment.
MCP - Model Context Protocol for Joomla!
A Joomla plugin providing a task-based API to manage content and connect with AI, workflow automation, and internal tools.
Squads MCP
A secure MCP implementation for Squads multisig management on the Solana blockchain.
Grafana Loki
A server for querying Loki logs from Grafana.