Agent Team MCP Server
Enables real-time communication and orchestration of multiple AI agents with a web dashboard for monitoring agent activities, tasks, and artifacts.
README
Agent Team MCP Server
A Model Context Protocol (MCP) server that enables real-time communication between multiple AI agents. Designed for orchestrating teams of specialized AI agents (frontend, backend, tester, DevOps, etc.) working on shared projects.
Uses Redis for data storage and pub/sub messaging, enabling multi-instance deployments with real-time capabilities.
Includes a real-time web dashboard for full transparency into agent communications, workloads, tasks, and shared artifacts.
Core Features
- Agent Management: Register agents, track presence via heartbeats, see team status
- Direct Messaging: Send messages between agents with priority and threading
- Channel Communication: Pub/sub channels for topic-based communication
- Task Management: Create, assign, and track tasks across the team
- Artifact Sharing: Register and share artifacts (API specs, components, docs)
- Real-time Updates: Redis pub/sub for instant notifications
Dashboard Features ✨
🎯 Team Overview
- Agent Status: Real-time status of all team members (active, busy, idle, offline)
- Presence Tracking: Heartbeat-based agent availability
- Team Statistics: Total agents, breakdown by status
📊 Transparency & Monitoring
- Communication Graph: Visualize who communicates with whom, sorted by message frequency
- Agent Workload: Per-agent task breakdown (pending → in-progress → review → blocked → completed)
- Unread Messages: Track message queue for each agent
- Message Threads: Thread-based message conversations with request-response tracking
- Task Board: Kanban-style task visualization across all status states
📁 Artifact Management
- Artifact Grid: Browse all shared artifacts with owner and type information
- Artifact Modal: Click to view full artifact contents with:
- File metadata (owner, version, creation/update dates)
- Full scrollable content (syntax-highlighted code, configs)
- File size and tags
- Metadata and additional info
- Real-time Sync: Auto-updates as new artifacts are shared
💬 Message Management
- Recent Messages: Latest 20 messages with sender/recipient info
- Message Modal: Click any message to view full details:
- Message metadata (from, to, timestamp, type)
- Complete subject and content
- Optional metadata fields
- Message Types: Request, Response, Notification, Direct
- Thread Detection: Automatically groups RE: messages into conversation threads
📈 Activity Feed
- Unified Activity Log: All team activities in chronological order
- Activity Types: Task updates, messages, artifacts, agent events
- Real-time Updates: Live feed of team progress
Prerequisites
- Node.js 18+ — required to build and run the MCP server
- Redis — for agent state and messaging (see setup options below)
Quick Start
Step 1 — Build the MCP server
git clone https://github.com/your-username/ClaudeAgentMCPServer
cd ClaudeAgentMCPServer
npm install
npm run build
Step 2 — Start Redis + Dashboard
Option A: Docker (recommended)
docker compose up -d
# → Redis at localhost:6379
# → Dashboard at http://localhost:3456
Option B: Without Docker
# Install Redis manually:
# macOS: brew install redis && brew services start redis
# Ubuntu: sudo apt install redis-server && sudo systemctl start redis
# Windows: https://github.com/microsoftarchive/redis/releases
# Start the dashboard separately
cd dashboard
npm install
npm start
# → Dashboard at http://localhost:3456
Then wire Claude to the MCP server (see Connecting Claude below).
Why is the MCP server not in Docker? The MCP server communicates over stdio — Claude launches it directly as a child process. It is not an HTTP service and cannot be reached via a network port. Docker handles Redis (shared state) and the dashboard (monitoring UI) only.
Connecting Claude
Option A — Claude Code (automatic, project-level)
A .mcp.json is included in this repo. When you open this folder in Claude Code it will prompt you to enable the agent-team MCP server automatically. Redis must be running first (docker compose up -d).
Option B — Claude Desktop (manual, global)
Edit your Claude Desktop config file:
| Platform | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Add this block (replace the path with your actual clone location):
{
"mcpServers": {
"agent-team": {
"command": "node",
"args": ["/absolute/path/to/ClaudeAgentMCPServer/dist/index.js"],
"env": {
"REDIS_HOST": "localhost",
"REDIS_PORT": "6379"
}
}
}
}
Restart Claude Desktop after saving.
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
REDIS_HOST |
localhost |
Redis server host |
REDIS_PORT |
6379 |
Redis server port |
REDIS_PASSWORD |
(none) | Redis password if required |
REDIS_DB |
0 |
Redis database number |
REDIS_PREFIX |
agent-team: |
Key prefix for all Redis keys |
DASHBOARD_PORT |
3456 |
Web dashboard port |
Tools Available
Agent Management
agent_register- Register an agent with the teamagent_heartbeat- Send heartbeat to maintain presenceagent_deregister- Leave the teamteam_status- Get status of all team membersagent_status- Get detailed status of specific agentlist_agents- List all agents with optional filters
Messaging
send_message- Send direct message to another agentget_messages- Get inbox or sent messagesbroadcast_message- Broadcast to all agents or a role groupget_unread_count- Get unread message count
Channels
channel_subscribe- Subscribe to a topic channelchannel_unsubscribe- Unsubscribe from a channelchannel_publish- Publish message to a channelchannel_history- Get recent channel messageslist_channels- List all available channels
Tasks
task_create- Create a new tasktask_update- Update task status, assignee, add notestask_get- Get task detailstask_list- List tasks with filterstask_history- Get task event history
Artifacts
artifact_register- Register a shared artifactartifact_list- List artifacts with filtersartifact_get- Get artifact detailsartifact_notify- Notify agents about artifact changesartifact_search- Search artifacts by path pattern
Dashboard REST API
The dashboard server exposes the following REST endpoints:
Team & Agents
GET /api/team-status- Get all agents and their current status
Tasks
GET /api/tasks- Get all tasks with summary by status
Messages
GET /api/messages/recent- Get 50 most recent messages
Communication
GET /api/communication-graph- Get communication patterns (who talks to whom)GET /api/agent-workload- Get per-agent workload and task breakdownGET /api/message-chains- Get threaded message conversations
Artifacts
GET /api/artifacts- Get all shared artifacts with full content
Activity
GET /api/activity- Get activity feed with all team events
WebSocket Real-time Updates
Dashboard connects to server via WebSocket (ws://localhost:3456) for real-time updates:
- Initial data push on connection
- Live updates on agent status changes
- Broadcast events for team-wide notifications
- 10-second automatic refresh cycle for all transparency data
Example Workflow
1. Agent Registration (Each agent on startup)
agent_register({
agentId: "frontend-1",
role: "frontend-engineer",
name: "Frontend Agent 1",
capabilities: ["react", "typescript", "tailwind"]
})
2. Check Team Status
team_status()
3. Send Request to Backend
send_message({
from: "frontend-1",
to: "backend-1",
type: "request",
subject: "Need User API",
content: "Please create GET /api/users/{id} endpoint. Need: id, name, email, avatar",
priority: "high"
})
4. Create Task
task_create({
title: "Implement User Profile API",
description: "Create REST endpoint for user profile data",
priority: "high",
assignee: "backend-1",
reporter: "frontend-1"
})
5. Publish to Channel
channel_publish({
agentId: "backend-1",
channel: "api-updates",
content: "User API v1.0 deployed. GET /api/users/{id} now available."
})
6. Monitor on Dashboard
Open http://localhost:3456 in your browser to see:
- ✅ Team Status: All agents and their current status (active, busy, idle, offline)
- 🔗 Communication Graph: Visual representation of message flow between agents
- 📊 Agent Workload: Tasks breakdown for each agent (pending, in-progress, review, blocked, completed)
- 📁 Shared Artifacts: Browse and click artifacts to view full content (API specs, code, configs)
- 💬 Messages: Recent messages - click any message to view full details in modal
- 🔀 Message Threads: Conversation threads with RE: (response) tracking
- 📈 Activity Feed: Chronological log of all team activities
- ✅ Task Board: Kanban board view of all tasks by status
All dashboard sections update in real-time as agents communicate and work progresses.
Dashboard Interactive Features
Message Modal
Click any message in "Recent Messages" to open a detailed modal showing:
- Message type (request, response, notification, direct)
- From/To agents and timestamp
- Full subject and content
- Optional metadata fields
Artifact Modal
Click any artifact card in "Shared Artifacts" to open a detailed modal showing:
- Full file path and owner information
- File metadata (version, creation date, size)
- Complete scrollable file content (with syntax preservation)
- Tags and additional metadata
- File size calculation (Bytes → KB → MB → GB)
Close Interactions
- Click the ✕ button to close any modal
- Click outside the modal (overlay) to close
- Press ESC key to close
Agent Roles
| Agent ID | Role | Responsibilities |
|---|---|---|
| lead-agent | Team Lead | Task coordination, architecture |
| frontend-1, frontend-2 | Frontend Engineer | React/Next.js, UI/UX |
| backend-1, backend-2 | Backend Engineer | API, business logic |
| devops-1 | DevOps Engineer | CI/CD, deployment |
| tester-1, tester-2 | QA Engineer | Testing |
| security-1 | Security Engineer | Security audits |
| docs-1 | Documentation | API docs, guides |
| db-1 | Database Admin | Schema, optimization |
| api-1 | API Designer | OpenAPI specs |
| ui-1 | UI/UX Designer | Design system |
| perf-1 | Performance Engineer | Optimization |
| infra-1 | Infrastructure | AWS, scaling |
Development
# Run in development mode
npm run dev
# Build
npm run build
# Start built version
npm start
Troubleshooting
Dashboard shows "No agents yet"
- Ensure MCP server is running and agents have registered
- Run
node dashboard/test-data.jsto populate test data - Check Redis connection:
redis-cli pingshould returnPONG
Redis WRONGTYPE Error
- This can occur if keys are stored as different data types
- Solution implemented in code: type checking before reads with
redis.type() - Data is now read as string, list, or hash as needed
Messages/Artifacts not appearing
- Check that Redis is running and accessible
- Verify
REDIS_HOSTandREDIS_PORTmatch in MCP server and dashboard - Dashboard refreshes every 10 seconds; wait a moment for updates
Dashboard not connecting to WebSocket
- Ensure dashboard server is running on port 3456
- Check browser console for WebSocket errors
- Try refreshing the page
Port already in use
- MCP Server: Runs on port 7777 (internal, no external access)
- Dashboard:
DASHBOARD_PORT=3457 npm startto use different port - Check with
lsof -i :3456(macOS/Linux) ornetstat -an | findstr :3456(Windows)
Architecture
Components
- MCP Server (
src/index.ts): Handles agent communication, tasks, artifacts - Dashboard Server (
dashboard/server.js): Express server + WebSocket for real-time updates - Dashboard Frontend (
dashboard/public/index.html): Vue-like reactive UI - Redis: Shared data store for all components
Data Flow
Agents (Claude Code clients)
↓
MCP Server ← → Redis ← → Dashboard Server ← WebSocket ← Dashboard UI
Key Redis Structures
agents:registry(hash): All registered agentstasks:all(set): Task IDs,tasks:{id}(string): Task datamessages:inbox:{agentId}(list): Messages for agentartifacts:all(set): Artifact IDs,artifacts:{id}(string): Artifact data{type}:channels:{name}(list): Channel messages
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.