📊 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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chart_genius_mcp-1.0.2.tar.gz
(82.5 kB
view details)
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.2.tar.gz.
File metadata
- Download URL: chart_genius_mcp-1.0.2.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 |
cf8728f047280322e8495c7ea6d9e82f550bb1a7e6d7f400c4e8714c620b5a33
|
|
| MD5 |
b36b2c82a9820b3f86ef0f7a64150972
|
|
| BLAKE2b-256 |
81cf13d4599e46806baf34d78c82b6ca394720843b00e77edf1649fa861eef2d
|
File details
Details for the file chart_genius_mcp-1.0.2-py3-none-any.whl.
File metadata
- Download URL: chart_genius_mcp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 70.7 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 |
c44ccaecdbb8d5f392a6ef69329069255bc881e6e546f9468f531e7bcee41bb3
|
|
| MD5 |
f28ed96546db2964eff582162f714265
|
|
| BLAKE2b-256 |
b36ce9200b4e506961e5a073a6ef5f50a0732d3a75911cd0e9001d52ca4fe70d
|