
How to add MCP Dashboards to Claude Desktop
Render interactive charts, dashboards and KPI widgets directly inside your AI conversation. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 14, 2026 ยท 33โ ยท stdio ยท no auth
Claude Desktop config for MCP Dashboards
claude mcp add dashboard -- npx -y mcp-dashboards --stdio{
"mcpServers": {
"mcp-dashboards": {
"command": "npx",
"args": [
"-y",
"mcp-dashboards",
"--stdio"
]
}
}
}Setup steps
- 1Open Claude Desktop โ Settings โ Developer โ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the MCP Dashboards config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm MCP Dashboards's tools appear under the ๐ tools menu.
Before you start
- Node.js 18+
- An MCP Apps-compatible client (Claude Desktop, Claude Web, VS Code + Copilot, Goose, Postman, or MCPJam) for inline rendering; other clients get a browser preview link
What MCP Dashboards can do in Claude Desktop
render_pie_chartPie/donut chart for composition โ 'what makes up the whole?'
render_bar_chartBar chart for comparison โ vertical, horizontal, stacked, drill-down.
render_line_chartLine/area chart for trends โ smooth curves, gradient fills, time series.
render_scatter_chartScatter chart for relationships โ per-point labels, annotations, quadrants.
render_candlestick_chartCandlestick chart for finance โ OHLC data with volume bars.
render_radar_chartRadar chart for multi-axis comparison โ skills, scores, product attributes.
render_treemap_chartTreemap for hierarchy โ nested rectangles sized by value.
render_sankey_chartSankey diagram for flow โ money, users, or resources between stages.
Security
All processing happens locally; no data is collected or transmitted externally. External calls only happen when you explicitly provide a URL or preset (render_from_url / poll_http), and both refuse private, loopback, and link-local addresses (e.g. 192.168.*, 169.254.169.254) to block prompt-injection SSRF, plus per-host rate limiting. Credentials in env-var presets (POLL_PRESET_<NAME>_HEADERS) stay server-side. The browser preview server and optional HTTP transport bind to 127.0.0.1 by default; set MCP_HTTP_BIND_HOST=0.0.0.0 only on a trusted network. Chart HTML files live in the system temp folder and auto-delete after 7 days.
MCP Dashboards + Claude Desktop FAQ
Where is the Claude Desktop config file?
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the MCP Dashboards config there under the "mcpServers" key and restart the client.
Is MCP Dashboards safe to use with Claude Desktop?
All processing happens locally; no data is collected or transmitted externally. External calls only happen when you explicitly provide a URL or preset (render_from_url / poll_http), and both refuse private, loopback, and link-local addresses (e.g. 192.168.*, 169.254.169.254) to block prompt-injection SSRF, plus per-host rate limiting. Credentials in env-var presets (POLL_PRESET_<NAME>_HEADERS) stay server-side. The browser preview server and optional HTTP transport bind to 127.0.0.1 by default; set MCP_HTTP_BIND_HOST=0.0.0.0 only on a trusted network. Chart HTML files live in the system temp folder and auto-delete after 7 days.
Which AI clients support inline rendering?
Any MCP Apps-compatible client: Claude Desktop, Claude Web, VS Code (GitHub Copilot), Goose, Postman, and MCPJam. ChatGPT support is rolling out. Clients without MCP Apps still get a clickable http://localhost preview link plus a persistent file:// HTML artifact for each chart.
Do I need an API key?
No. The server requires no auth and all processing is local. API keys are only needed if you configure server-side live-polling presets (POLL_PRESET_<NAME>_URL / _HEADERS) to poll authenticated APIs โ those credentials stay in env vars and never appear in the conversation.
Is my data sent anywhere?
No data is collected, transmitted, or stored externally. The only outbound calls happen when you explicitly provide a URL or preset for render_from_url / poll_http, and those are SSRF-guarded against private/loopback/link-local addresses and rate-limited per host.