The Ultimate Chart Generation MCP Server - Built for Performance, Powered by AI
Project description
📊 ChartSmith MCP Server
A high-performance chart generation MCP server — built for speed, powered by AI, production-ready.
🚀 First-ever comprehensive chart generation MCP server - Turn your SQL results into stunning visualizations with zero configuration and maximum performance.
🎯 Why ChartGenius?
💡 Inspired by Industry Leaders
- Hex.tech's $70M success proves chart generation is core business infrastructure
- Built to solve real bottlenecks like O(n²) algorithms and blocking operations
- MCP-native design for seamless integration with any client
⚡ Performance First
- Optimized O(n) data paths
- Concurrent rendering with guardrails (timeouts, semaphores, input caps)
- Intelligent caching (memory/Redis)
🧠 AI-Powered Intelligence
- Smart chart type detection based on data patterns
- Natural language to visualization conversion
- Automatic insight generation for business intelligence
- Accessibility optimization for WCAG compliance
🚀 Quick Start
Installation
pip install chart-genius-mcp # package name remains; server id: chartsmith
Docker Quick Start
docker build -t chartsmith-mcp .
docker run --rm -it chartsmith-mcp # stdio
docker run --rm -it -p 8000:8000 -e RUN_HTTP=1 chartsmith-mcp # http
Using docker-compose:
docker compose up -d mcp-stdio
docker compose up -d mcp-http
🔌 Transports
- Stdio (MCP stdio)
- HTTP JSON (
POST /mcp) and SSE (POST /sse) - Health:
/health, Readiness:/ready, Metrics:/metrics
⚙️ Environment
CHART_MAX_CONCURRENCY(default 8)CHART_TOOL_TIMEOUT_MS(default 60000)CHART_TOOL_TIMEOUT_MS_IMAGES(image timeouts)CHART_TOOL_TIMEOUT_MS_HEAVY(batch/dashboard)CHART_MAX_ROWS(input size guard)DISABLED_TOOLS(comma-separated)- AI:
OPENAI_API_KEY,ANTHROPIC_API_KEY,GEMINI_API_KEY,CHART_AI_PROVIDER
🧰 Tools
- Per-chart: bar, line, scatter, histogram, area, box, violin, bubble, pie, heatmap, treemap, sunburst, sankey, choropleth
- Full-auto:
generate_chart_auto - Deprecated:
generate_chart - Cache:
manage_cache(stats/clear/optimize) - Perf:
get_performance_stats - Prompts/Resources:
list_prompts/get_prompt,list_resource_templates/read_resource
📦 Resources
- Datasets:
dataset:sample/sales_small,.../scatter_small,.../heatmap_pivot,.../choropleth_iso3 - Themes:
theme:modern,theme:corporate,theme:dark,theme:accessible
🧪 Tests & Benchmarks
- Pytest suite: tools, engines, formats, AI (mock/live), cache, guardrails, MCP stdio/HTTP
- Benchmark harness: p50/p90 latency script and smoke tests
📈 Prometheus Metrics
- Endpoint:
/metrics(Prometheus exposition format) - Metrics include: request counts, tool call totals, tool errors, and duration histograms.
- Example scrape config:
scrape_configs:
- job_name: chartsmith
static_configs:
- targets: ['localhost:8000']
🔐 Security & Limits
- Input size caps, timeouts, concurrency limits
- Tool filtering via env
🧭 Smithery
- Stdio: configure Smithery to invoke
python -m chart_genius_mcpwith server idchartsmith - HTTP: point Smithery at the container’s
/mcpendpoint (port 8000)
📦 Docker Images (CI)
- GitHub Action builds and publishes multi-arch images to GHCR on tags
v*. - Image:
ghcr.io/<owner>/<repo>:<tag>and:latest. - Example pull:
docker pull ghcr.io/<owner>/<repo>:latest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chart_genius_mcp-1.0.1.tar.gz.
File metadata
- Download URL: chart_genius_mcp-1.0.1.tar.gz
- Upload date:
- Size: 82.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b755fc0b0efd193eaf7d172a9608e02b62fd083231c8c7624c19cf7f7736ebe
|
|
| MD5 |
0d7237f6fab316e00b890582eb20c258
|
|
| BLAKE2b-256 |
0d50342d03283082f1d45d8a9fa3d0175d5f56cebbcfa77fcd278a5995fd2450
|
File details
Details for the file chart_genius_mcp-1.0.1-py3-none-any.whl.
File metadata
- Download URL: chart_genius_mcp-1.0.1-py3-none-any.whl
- Upload date:
- Size: 70.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0940a5b9bb3ce8b1f14b9737b633b9443251fb42764b1684a7956f00d171e925
|
|
| MD5 |
a68e4cb449072c923262dacde83742fc
|
|
| BLAKE2b-256 |
4c06ad0ac28b7df7f84c2d60d11343648f67c5dd545f555f2aeef545471dfc30
|