mcp-dashboard

mcp-dashboard

Interactive dashboard that works as an MCP server, allowing Claude Code to create and manage workspaces, widgets, tasks, and reminders in real-time via Socket.io.

Category
Visit Server

README

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:4800

For development:

npm run dev    # Server + Client in parallel

MCP 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
dashboard_create_workspace Create a workspace (name, description, icon)
dashboard_list_workspaces List all workspaces with widget counts
dashboard_delete_workspace Delete a workspace and all its widgets

Widgets

Tool Description
dashboard_create_widget Create a widget in a workspace
dashboard_update_widget Update widget data, title, or config
dashboard_push_data Push incremental data (append rows, points, etc.)
dashboard_delete_widget Remove a widget
dashboard_list_widgets List widgets in a workspace

Tasks & Reminders

Tool Description
dashboard_add_task Add a task to a workspace
dashboard_list_tasks List tasks
dashboard_complete_task Toggle task completion
dashboard_add_reminder Add a reminder with optional due date
dashboard_list_reminders List reminders
dashboard_complete_reminder Toggle reminder completion

Highlights & Utilities

Tool Description
dashboard_pin_widget Pin/unpin widget as highlight
dashboard_snapshot Snapshot workspace state as artifact
dashboard_notify Send toast notification to dashboard
dashboard_report_activity Log MCP activity from other servers

15 Widget Types

Type Description Streaming
metric_card Single KPI with trend and sparkline Yes
line_chart Time series (Recharts) Yes
bar_chart Categorical comparison Yes
pie_chart Distribution donut chart No
table Sortable, paginated data table Yes
markdown Rich text with GFM tables No
json_viewer Collapsible JSON tree No
code_block Syntax-highlighted code No
terminal Streaming command output Yes
timeline Chronological events Yes
progress_tracker Task progress with overall bar Yes
geometry SVG art canvas for visual expression No
links Bookmark collection with auto-icons Yes
project Project hub: repos, Slack, Notion, workspace link No
workspace_ref Card referencing another workspace No
section 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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured