Install
$ agentstack add mcp-mukul975-claude-team-dashboard β scanned Β· β verified β works with Claude Code, Cursor, and more.
Security review
β PassedNo issues found. Passed automated security review. Β· v0.1.0 How review works β
- β Prompt-injection patterns
- β Secret / credential exfiltration
- β Dangerous shell & filesystem operations
- β Untrusted network calls
- β Known-malicious package signatures
What it can access
- β Network access Used
- β Filesystem access No
- β Shell / process execution No
- β Environment & secrets No
- β Dynamic code execution No
From automated source analysis of v0.1.0. βUsedβ means the capability is present in the source β more access means more to trust, not that itβs unsafe.
About
π€ Claude Agent Dashboard
Stop Flying Blind β Monitor Your Claude Code Agent Teams in Real Time
[](https://www.npmjs.com/package/claude-team-dashboard) [](https://www.npmjs.com/package/claude-team-dashboard) [](https://github.com/mukul975/claude-team-dashboard/blob/main/LICENSE) [](https://nodejs.org/) [](https://github.com/mukul975/claude-team-dashboard) [](https://vitejs.dev/) [](https://github.com/mukul975/claude-team-dashboard) [](https://github.com/mukul975/claude-team-dashboard/pulls) [](https://github.com/mukul975/claude-team-dashboard)
Monitor, track, and orchestrate your Claude Code agent teams from a single, unified dashboard β with zero-delay WebSocket streaming.
[Get Started](#-quick-start) Β· [See Features](#-features) Β· [Live Demo](#-demo) Β· [Docs](#-documentation) Β· [Contributing](#-contributing)
π― Why This Exists
The Problem
You're running multiple Claude Code agents across projects. Suddenly, chaos:
- Lost visibility: Which agent is doing what? You have no idea.
- Ghost messages: Agents talk to each other. You can't see it.
- Debug hell: Something breaks. You're stuck playing detective across 5 terminal windows.
- Task black holes: Tasks start, disappear, maybe finish. Who knows?
Running multi-agent workflows without monitoring is like driving blindfolded.
The Solution
Claude Agent Dashboard gives you X-ray vision into your agent teams:
β See everything β Live status, tasks, messages, system metrics β Debug faster β Trace inter-agent communication in real time β Stay in control β Know exactly what's happening, always β Ship with confidence β Spot failures before they cascade
> Built by a cybersecurity researcher who knows that visibility is the first line of defense β even for AI agents.
β¨ Highlights
π Zero-Config Real-Time Monitoring
Launch the dashboard with one command. WebSocket streaming auto-discovers agents. No configuration needed.
π Visual Task Management
See tasks as they flow through your agent team. Progress bars, status badges, dependency chains β all live-updated.
π¬ Inter-Agent Message Inspector
Debug coordination issues instantly. Watch agents communicate in real time with full message history and conversation threads.
π Full Light & Dark Mode
Pixel-perfect theming with CSS custom properties. Every component β cards, charts, modals, toasts β adapts instantly when you toggle the theme.
βΏ WCAG-Accessible Interface
Every button has a descriptive aria-label. Interactive elements have role, tabIndex, and keyboard handlers. Status components use aria-live. Modals trap focus. Fully navigable without a mouse.
β¨οΈ Keyboard-First Navigation
Command palette (βK), tab shortcuts (β1-8), and a shortcuts modal (?) so you never have to touch the mouse.
π Live Activity Chronology
Every agent action β timestamped, color-coded, filterable. Never wonder "what happened?" again.
π₯οΈ System Performance Metrics
Track CPU, memory, and network usage across your agent infrastructure. Catch performance bottlenecks before they cause failures.
π Smart Alerts & Notifications
Instant desktop notifications for task completions, errors, and state changes. Full notification center with grouping, mark-read, and tab navigation.
π€ One-Click Data Export
Export any team's tasks and inbox messages as JSON or CSV directly from the header. Full data portability built-in.
π± PWA β Installable & Offline-Ready
Works as a Progressive Web App β add to your home screen, get an app icon, and keep viewing cached data when the server is temporarily unreachable.
π Enterprise-Grade Security
Audited by 6 security specialists. OWASP scrypt password hashing, auth rate limiting, token rotation, tight CSP, CORP/COOP, Permissions-Policy, strict input validation on every route, WebSocket heartbeat + rate limiting, and followSymlinks: false on all file watchers. Zero npm vulnerabilities.
> π Deep dive: See [FEATURES.md](FEATURES.md) for the complete feature breakdown with architecture details.
π Quick Start
β Prerequisites
- Node.js v18+ (Download)
β‘ Install via npm (Recommended)
npm install -g claude-team-dashboard
claude-dashboard
Or run without installing:
npx claude-team-dashboard
Open http://localhost:3001 and you're monitoring agents in real time.
π οΈ Clone & Build (Development)
# 1. Clone the repo
git clone https://github.com/mukul975/claude-team-dashboard.git
cd claude-team-dashboard
# 2. Install dependencies
npm install
# 3. Build the frontend
npm run build
# 4. Start the dashboard
npm start
Open http://localhost:3001 and you're monitoring agents in real time.
π Password Authentication
The dashboard always requires a password. The first time you open it, you'll see a setup screen β create your password there. After that, you'll be asked for it on every visit.
First run:
npm start
β open http://localhost:3001
β "Set Up Dashboard" screen appears
β enter and confirm your password
β dashboard unlocks
Every run after that:
npm start
β open http://localhost:3001
β login screen appears
β enter your password
β dashboard unlocks
Your password is stored as a secure scrypt hash in ~/.claude/dashboard.key. The session token lives in sessionStorage and clears when the browser tab closes.
π Dev Container (Instant Environment)
Have VS Code + Docker? Skip setup entirely:
- Open project in VS Code
- Click "Reopen in Container" when prompted
- Everything auto-installs. You're ready.
π§βπ» Development Mode
To work on the frontend with hot-reload:
# Terminal 1 β backend
npm run server
# Terminal 2 β frontend dev server
npm run dev
What gets monitored automatically:
~/.claude/teams/β Active agent teams~/.claude/tasks/β Task management/tmp/claude/{project}/tasks/β Agent outputs
π¬ Demo
> π₯ Demo video coming soon β Watch a 2-minute walkthrough of key features
Try it yourself: Clone the repo and run npm start β see your agent team in action within 60 seconds.
ποΈ How It Works
Architecture at a Glance
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React + Vite) β
β βββ Real-time UI components β
β βββ WebSocket client β
β βββ State management β
ββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
β WebSocket (bidirectional)
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ
β Backend (Node.js + Express) β
β βββ WebSocket server β
β βββ Agent event aggregation β
β βββ File system monitoring (chokidar) β
ββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ
β Reads agent logs
ββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββ
β Claude Code Agent Teams β
β βββ ~/.claude/projects/{project}/*.jsonl β
β βββ Real-time agent session logs β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π¬ Inbox Monitoring
How Claude Code Agent Teams Communicate
When Claude Code creates a team, it creates this folder structure:
~/.claude/teams/
βββ {team-name}/
βββ config.json β team configuration & members
βββ inboxes/
βββ team-lead.json β messages for team-lead
βββ researcher.json β messages for researcher
βββ ... β one file per agent
Each inbox file is a JSON array of messages:
[
{
"from": "team-lead",
"text": "Your task assignment...",
"summary": "Brief summary",
"timestamp": "2026-02-18T10:00:00.000Z",
"read": false,
"color": "green"
}
]
Real-Time Inbox Monitoring
The dashboard watches ~/.claude/teams/*/inboxes/*.json with a dedicated chokidar watcher. Every time an inbox file changes:
- The new messages are read immediately
- An
inbox_updateWebSocket event is pushed to all connected dashboard clients - The UI updates in real-time β no polling required
On initial connection, allInboxes is included in the initial_data payload so you see all current messages instantly.
What the Dashboard Shows
| Feature | Description | |---------|-------------| | Inbox Viewer | Browse all teams β agents β message threads | | Unread Badges | Red badge on team cards and Inboxes tab | | Activity Timeline | All agent messages in chronological order | | Desktop Notifications | Browser notifications for new messages | | Search | Full-text search across all messages | | Export | Download messages as JSON or CSV |
API Endpoints
| Endpoint | Description | |----------|-------------| | GET /api/inboxes | All teams' inboxes at once | | GET /api/teams/:teamName/inboxes | All agents' inboxes for one team | | GET /api/teams/:teamName/inboxes/:agentName | Specific agent's inbox |
WebSocket Events
// On connect β full inbox snapshot
{ type: 'initial_data', allInboxes: { [teamName]: { [agentName]: { messages, messageCount } } } }
// On inbox change β targeted update
{ type: 'inbox_update', teamName: string, inboxes: { [agentName]: { messages, messageCount } } }
Project Structure
claude-team-dashboard/
βββ src/ # Frontend source code
β βββ components/ # React UI components
β β βββ InboxViewer.jsx # Browse agent inbox messages
β β βββ TeamTimeline.jsx # Chronological activity timeline
β βββ hooks/ # Custom React hooks
β β βββ useInboxNotifications.js # Browser notifications for new messages
β βββ utils/ # Shared utilities
β β βββ messageParser.js # Natural language message parsing
β β βββ formatting.js # Time, color, initials utilities
β βββ config/ # Configuration constants
β βββ styles/ # CSS stylesheets
β βββ test/ # Test setup
βββ .devcontainer/ # VS Code dev container config
βββ .github/ # GitHub templates & workflows
β βββ workflows/ # CI/CD pipelines
βββ test/ # Test files
βββ dist/ # Production build output
βββ server.js # WebSocket backend server
βββ start.js # Launcher script
βββ cleanup.js # Process cleanup utility
βββ config.js # Server configuration
βββ vite.config.js # Vite bundler config
βββ FEATURES.md # Detailed feature list
βββ CONTRIBUTING.md # Contribution guide
βββ CODE_OF_CONDUCT.md # Community standards
π οΈ Built With
React 19.2 UI Framework
Node.js 18+ Backend Runtime
Vite 7.x Build Tool
JavaScript ES6+ Core Language
Core Technologies:
- WebSocket (ws) β Real-time bidirectional communication
- Express.js β Backend API framework
- Chokidar β File system monitoring for agent logs
- Lucide React β Icon library
- Vitest β Unit testing framework
π Documentation
| Document | Description | |----------|-------------| | [FEATURES.md](FEATURES.md) | Complete feature breakdown with technical architecture | | [NATURALLANGUAGEANDLIFECYCLE.md](NATURALLANGUAGEANDLIFECYCLE.md) | π Comprehensive guide to message parsing and team lifecycle tracking | | [CONTRIBUTING.md](CONTRIBUTING.md) | How to contribute β setup, coding standards, PR process | | [CODEOFCONDUCT.md](CODEOFCONDUCT.md) | Community guidelines and standards | | [Natural Language Features](#-natural-language-message-parsing) | How the dashboard translates technical agent messages to readable format | | [Team Lifecycle Tracking](#-team-lifecycle-tracking) | Automatic team monitoring, archiving, and history management |
Need help? Open a Discussion or check existing Issues.
π¬ Natural Language Message Parsing
One of the dashboard's most powerful features is its ability to automatically translate technical agent messages into human-readable natural language. This makes it easy to understand what your agents are doing without decoding JSON or technical jargon.
How It Works
The dashboard intelligently parses inter-agent messages and converts them from raw technical format to friendly, contextual descriptions:
Message Type Detection
The parser automatically identifies message types and formats them appropriately:
Status Updates
// Raw message:
{"type": "idle_notification", "lastTaskSubject": "Fix authentication bug"}
// Displayed as:
π€ Finished "Fix authentication bug" - ready for next task
Task Completions
// Raw message:
{"type": "task_completed", "taskSubject": "Write documentation"}
// Displayed as:
β
Completed: Write documentation
Task Assignments
// Raw message:
{"type": "task_assigned", "taskSubject": "Review pull request"}
// Displayed as:
π Started working on: Review pull request
Coordination Messages
// Raw message:
{"type": "coordination", "message": "Waiting for backend team to finish API endpoint"}
// Displayed as:
π€ Waiting for backend team to finish API endpoint
Questions
// Raw message:
{"type": "question", "message": "Should I use the staging or production database?"}
// Displayed as:
β Should I use the staging or production database?
Message Classification
Messages are automatically categorized into four types with distinct visual styling:
| Type | Icon | Color | Use Case | |------|------|-------|----------| | Status | π | Blue | General updates, progress reports, idle notifications | | Completion | β | Green | Task completions, success notifications | | Coordination | π€ | Purple | Team communication, help requests, discussions | | Question | β | Yellow | Questions requiring attention or clarification |
Smart Features
Summary Prioritization: If a message includes a summary field, the dashboard displays it instead of the full technical content, making messages more concise.
Truncation: Long messages are automatically truncated to 150 characters with "..." to prevent UI clutter.
Fallback Handling: If a message can't be parsed as JSON, it's displayed as-is with intelligent handling of empty or malformed messages.
Real-Time Translation: Messages are parsed and displayed instantly as they arrive via WebSocket β no delays or batch processing.
Viewing Messages
The dashboard provides two views for agent communication:
1. Live Communication Panel (LiveCommunication.jsx)
- Chat-style interface showing conversation flow
- Team selector to focus on specific team messages
- Auto-scroll feature (can be toggled)
- Shows sender β recipient for each message
- Updates every 5 seconds
2. Agent Inter-Communication Stream (RealTimeMessages.jsx)
- Aggregated view across all teams
- Filter messages by type (all, status, completion, coordination, question)
- Displays last 100 messages across all teams
- Shows team context for each message
- Visual stats showing breakdown by message type
Technical Implementation
The parsing logic is located in:
- File:
src/components/RealTimeMessages.jsx(lines 8-83) - Function: `parseMessageToNatural
β¦
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source β we do not rehost the code.
- Author: mukul975
- Source: mukul975/claude-team-dashboard
- License: MIT
- Homepage: https://www.npmjs.com/package/claude-team-dashboard
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet β be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.