Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
gluip avatar

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)
terminal
claude mcp add chart-canvas -- npx -y @gluip/chart-canvas-mcp

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
repo stars1
Package@gluip/chart-canvas-mcp
TransportSTDIO
AuthNone
Last updatedMay 9, 2026
Repositorygluip/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

Chart Canvas 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

  1. Start your MCP client (e.g., Claude Desktop)
  2. The server will automatically start on port 3000
  3. Use the showCanvas tool to open the dashboard in your browser
  4. 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 series
  • bar - Bar charts for comparisons
  • scatter - Scatter plots for data distribution
  • pie - Pie charts with labels
  • table - Data tables with headers
  • flowchart - 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.sqlite or 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 file
  • query - SQL SELECT query (read-only)
  • visualizationType - Type of chart: line, bar, scatter, pie, or table
  • columnMapping (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 visualization
  • description - Optional description
  • useColumnAsXLabel - 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.

Data Analyticsanalyticsdatabases

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.