
Chart Canvas
- 1 repo stars
- Updated May 9, 2026
- gluip/chart-canvas
Chart Canvas is an MCP server that creates interactive visualizations and queries SQLite, CSV, Parquet, and JSON data sources from your agent.
About
Chart Canvas is an MCP server that turns natural-language requests into interactive charts and structured queries over common solo-developer data stores. Instead of bolting Plotly or a BI tool into every project, you register the server in Claude Code, Cursor, or Codex and point it at SQLite app databases, CSV exports, Parquet pipelines, or JSON snapshots. The agent can explore schema, aggregate, and render visuals in one loop—useful when you are validating retention, debugging revenue CSVs, or demoing traction from a local warehouse. Complexity stays approachable if your files are local and paths are correct; parquet and larger files skew more intermediate. This is an MCP integration for data visualization, not a hosted analytics product.
- Creates interactive visualizations from agent-driven specs
- Queries SQLite, CSV, Parquet, and JSON data sources
- Ships as @gluip/chart-canvas-mcp via npm stdio transport (v0.3.2)
- Backend repo under gluip/chart-canvas for self-hosted or local datasets
Chart Canvas by the numbers
- Data as of Jul 7, 2026 (Skillselion catalog sync)
claude mcp add chart-canvas -- npx -y @gluip/chart-canvas-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 1 |
|---|---|
| Package | @gluip/chart-canvas-mcp |
| Transport | STDIO |
| Auth | None |
| Last updated | May 9, 2026 |
| Repository | gluip/chart-canvas ↗ |
What it does
Let your coding agent build charts and run queries on SQLite, CSV, Parquet, or JSON without writing a one-off dashboard script.
Who is it for?
Best when you have SQLite or CSV/Parquet exports and want agent-driven charts during weekly metrics reviews.
Skip if: Skip if you need governed warehouse SQL, row-level security, or a full hosted BI platform instead of local MCP queries.
What you get
Your agent can produce interactive charts and run queries on local or project data sources directly through MCP tools.
- Interactive chart outputs from agent requests
- Query results against configured file or SQLite sources
- Repeatable agent workflow for local analytics without custom scripts
By the numbers
- Package version 0.3.2 (@gluip/chart-canvas-mcp, stdio)
- Supports 4 source types: SQLite, CSV, Parquet, JSON
README.md
Chart Canvas MCP Server
Interactive visualization dashboard for AI assistants via Model Context Protocol
Create beautiful charts, diagrams, and tables directly from your AI conversations. Chart Canvas provides a real-time dashboard that displays visualizations as you work with LLMs like Claude.
Demo
Watch the full demo on YouTube to see Chart Canvas in action!
Features
✨ Multiple Chart Types: Line, bar, scatter, pie charts, tables, and Mermaid diagrams
🎨 Interactive Dashboard: Drag-and-drop grid layout with real-time updates
🔄 Live Synchronization: Changes appear instantly in your browser
📊 Rich Visualizations: Powered by ECharts and Mermaid
💾 Universal Data Sources: Query SQLite, CSV, Parquet, JSON, and NDJSON files directly
⚡ Smart Data Flow: Execute queries server-side - data stays local, never sent to LLM
🔒 Privacy First: Your data never leaves your machine
🚀 Easy Setup: One command to get started
🌐 Production Ready: Built-in production mode with optimized builds
Supported Data Sources
Chart Canvas can query and visualize data from multiple file formats:
- SQLite (
.db,.sqlite,.sqlite3) - Relational databases - CSV (
.csv) - Comma-separated values - Parquet (
.parquet) - Columnar storage format - JSON (
.json) - JSON arrays of objects - NDJSON (
.jsonl,.ndjson) - Newline-delimited JSON
Privacy & Performance: All queries execute locally on your machine using DuckDB. Query results are transformed into visualizations server-side - only metadata (chart configuration) is sent to the LLM, never your actual data. This makes it fast, scalable, and private.
Quick Start
Installation
npm install -g @gluip/chart-canvas-mcp
Or use directly with npx (no installation needed):
npx @gluip/chart-canvas-mcp
Configuration
Add to your MCP client configuration (e.g., Claude Desktop):
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"chart-canvas": {
"command": "npx",
"args": ["-y", "@gluip/chart-canvas-mcp"]
}
}
}
Usage
- Start your MCP client (e.g., Claude Desktop)
- The server will automatically start on port 3000
- Use the
showCanvastool to open the dashboard in your browser - Ask the AI to create visualizations!
Example Prompts
"Show me a line chart comparing sales data for 2023 and 2024"
"Create a pie chart showing market share by region"
"Draw a flowchart for the user authentication process"
"Make a table with team member information"
"Show me the database schema for my SQLite database"
"Query the athletes table and show the top 10 with most personal records"
"Create a chart showing sales trends from the database grouped by region"
MCP Tools
addVisualization
Create charts, diagrams, and tables on the canvas.
Supported Types:
line- Line charts with multiple seriesbar- Bar charts for comparisonsscatter- Scatter plots for data distributionpie- Pie charts with labelstable- Data tables with headersflowchart- Mermaid diagrams (flowcharts, sequence diagrams, Gantt charts, etc.)
Example:
{
type: "line",
title: "Monthly Sales",
series: [
{ name: "2023", data: [[1, 120], [2, 132], [3, 101]] },
{ name: "2024", data: [[1, 220], [2, 182], [3, 191]] }
],
xLabels: ["Jan", "Feb", "Mar"]
}
removeVisualization
Remove a specific visualization by ID.
clearCanvas
Remove all visualizations from the canvas.
showCanvas
Open the dashboard in your default browser.
getDatabaseSchema
Inspect the structure of a SQLite database to understand available tables and columns before writing queries.
Parameters:
databasePath- Path to SQLite database file (e.g.,./data/mydb.sqliteor absolute path)
Example:
{
databasePath: "/path/to/database.db";
}
Returns: Formatted schema showing all tables, columns, data types, and constraints.
queryAndVisualize
Execute a SQL query on a SQLite database and create a visualization from the results. Queries are executed server-side and must be read-only (SELECT only). Maximum 10,000 rows.
Parameters:
databasePath- Path to SQLite database filequery- SQL SELECT query (read-only)visualizationType- Type of chart:line,bar,scatter,pie, ortablecolumnMapping(optional for table) - Mapping of columns to chart axes:xColumn- Column for X-axis (required for charts)yColumns- Array of columns for Y-axis (required for charts)seriesColumn- Column to group data into separate series (optional)groupByColumn- Alternative grouping column (optional)
title- Optional title for visualizationdescription- Optional descriptionuseColumnAsXLabel- If true, use X column values as labels instead of numbers
Example:
{
databasePath: "./data/sales.db",
query: "SELECT region, SUM(revenue) as total FROM sales GROUP BY region",
visualizationType: "bar",
columnMapping: {
xColumn: "region",
yColumns: ["total"]
},
title: "Revenue by Region",
useColumnAsXLabel: true
}
Security: Only SELECT and WITH (CTE) queries are allowed. INSERT, UPDATE, DELETE, DROP, and other modifying operations are blocked.
Architecture
- Backend: Node.js + TypeScript + Express + MCP SDK
- Frontend: Vue 3 + ECharts + Mermaid + Grid Layout
- Communication: Real-time polling for instant updates
Development
Local Development
# Clone repository
git clone https://github.com/gluip/chart-canvas.git
cd chart-canvas
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install
# Development mode (backend + frontend separate)
# Terminal 1 - Backend
cd backend
npm run dev
# Terminal 2 - Frontend
cd frontend
npm run dev
# Production mode (single server)
cd backend
npm run build:all
npm run start:prod
MCP Configuration for Local Development
{
"mcpServers": {
"chart-canvas": {
"command": "/path/to/node",
"args": [
"/path/to/chart-canvas/backend/node_modules/.bin/tsx",
"/path/to/chart-canvas/backend/src/index.ts"
]
}
}
}
License
MIT © 2026 Martijn
Links
Recommended MCP Servers
How it compares
MCP data-viz and query bridge, not a hosted analytics dashboard or a static charting skill.
FAQ
Who is Chart Canvas for?
Developers who keep product data in SQLite, CSV, Parquet, or JSON and want their AI coding agent to visualize and query it without a separate analytics app.
When should I use Chart Canvas?
Use it in the Grow phase when you need quick charts, exploratory queries, or demo visuals from datasets you already have on disk or in a dev database.
How do I add Chart Canvas to my agent?
Install @gluip/chart-canvas-mcp from npm, add it as a stdio MCP server in Claude Code or Cursor, and point tool calls at your SQLite path or file URLs your environment can read.
