mcp-dashboard
MCP Dashboard
Interactive dashboard that works as an MCP server. Claude Code (or any MCP client) calls tools to create workspaces, widgets, and artifacts in real-time. The browser renders everything live via Socket.io.
Claude Code --stdio--> MCP Server (Node.js) --Socket.io--> Browser Dashboard
| (React 19)
Express HTTP (0.0.0.0)
SQLite (better-sqlite3)Quick Start
npm install
npm run build:all
npm start
# Dashboard at http://localhost:4800For development:
npm run dev # Server + Client in parallelMCP Setup
Add to your Claude Code config (~/.claude.json or .mcp.json):
{
"mcpServers": {
"mcp-dashboard": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mcp-dashboard/dist/index.js"],
"env": { "DASHBOARD_PORT": "4800" }
}
}
}18 MCP Tools
Workspaces
Tool | Description |
| Create a workspace (name, description, icon) |
| List all workspaces with widget counts |
| Delete a workspace and all its widgets |
Widgets
Tool | Description |
| Create a widget in a workspace |
| Update widget data, title, or config |
| Push incremental data (append rows, points, etc.) |
| Remove a widget |
| List widgets in a workspace |
Tasks & Reminders
Tool | Description |
| Add a task to a workspace |
| List tasks |
| Toggle task completion |
| Add a reminder with optional due date |
| List reminders |
| Toggle reminder completion |
Highlights & Utilities
Tool | Description |
| Pin/unpin widget as highlight |
| Snapshot workspace state as artifact |
| Send toast notification to dashboard |
| Log MCP activity from other servers |
15 Widget Types
Type | Description | Streaming |
| Single KPI with trend and sparkline | Yes |
| Time series (Recharts) | Yes |
| Categorical comparison | Yes |
| Distribution donut chart | No |
| Sortable, paginated data table | Yes |
| Rich text with GFM tables | No |
| Collapsible JSON tree | No |
| Syntax-highlighted code | No |
| Streaming command output | Yes |
| Chronological events | Yes |
| Task progress with overall bar | Yes |
| SVG art canvas for visual expression | No |
| Bookmark collection with auto-icons | Yes |
| Project hub: repos, Slack, Notion, workspace link | No |
| Card referencing another workspace | No |
| Full-width divider/title | No |
Data Formats
Each widget type has a specific data schema. The MCP tool description includes all formats. Examples:
// Metric Card
{ value: 158000, label: "Revenue", unit: "$", trend: { direction: "up", percentage: 12.5 }, sparkline: [120, 135, 155, 158] }
// Bar Chart
{ categories: ["North", "South", "East"], series: [{ name: "Q1", values: [42000, 35000, 28000], color: "#60a5fa" }] }
// Line Chart
{ series: [{ name: "Revenue", data: [{ timestamp: "2026-01", value: 45000 }], color: "#60a5fa" }] }
// Table
{ columns: [{ key: "name", label: "Name", sortable: true }], rows: [{ name: "Acme Corp" }] }
// Project
{ name: "Tables", status: "active", repos: [{ name: "tables-sdk", url: "https://...", language: "TypeScript" }], channels: [{ name: "dev", type: "slack" }], notion: [{ title: "Docs", url: "https://...", type: "database" }], workspaceId: "xxx" }
// Geometry (SVG art)
{ svg: "<circle cx='200' cy='200' r='50' fill='#60a5fa'/>", viewBox: "0 0 400 400" }Features
Real-time: Socket.io bridge pushes updates instantly to all connected browsers
Multi-instance: Multiple Claude Code sessions share the same dashboard. First instance owns HTTP, others relay via API
Drag & resize: react-grid-layout with drag handles and resize
Highlights: Pin any widget to a featured row at the top
Tasks & Reminders: Per-workspace todo lists and reminders with due dates
Archive: Workspaces can be archived and restored
Expand: Click any widget title to view fullscreen
Markdown: Full GFM support with expand-to-page
PDF export: One-click workspace export to PDF
LAN sharing: Share workspace URLs on local network
Activity bar: Shows MCP activity stream and overdue reminders
Workspace references: Meta-dashboards that link to other workspaces
Dark theme: Futuristic AI aesthetic with neural grid, scan lines, and ambient glow
Tech Stack
Server: Node.js 20, TypeScript, @modelcontextprotocol/sdk, Express 5, Socket.io 4, better-sqlite3, Zod
Client: React 19, Vite 6, TailwindCSS 4.1, Recharts, react-grid-layout, Zustand, Lucide icons, html2canvas-pro, jsPDF
License
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarcoValdiviesoB/mcp-dashboard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server