📊 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
Metadata
Release files for chart-genius-mcp 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chart_genius_mcp-1.0.2.tar.gz | 82.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chart_genius_mcp-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 153.1 kB
Release files / chart_genius_mcp-1.0.2.tar.gz
| Download URL | chart_genius_mcp-1.0.2.tar.gz |
|---|---|
| Size | 82.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf8728f047280322e8495c7ea6d9e82f550bb1a7e6d7f400c4e8714c620b5a33
|
|
BLAKE2b-256 checksum How to use checksums |
81cf13d4599e46806baf34d78c82b6ca394720843b00e77edf1649fa861eef2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / chart_genius_mcp-1.0.2-py3-none-any.whl
| Download URL | chart_genius_mcp-1.0.2-py3-none-any.whl |
|---|---|
| Size | 70.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c44ccaecdbb8d5f392a6ef69329069255bc881e6e546f9468f531e7bcee41bb3
|
|
BLAKE2b-256 checksum How to use checksums |
b36ce9200b4e506961e5a073a6ef5f50a0732d3a75911cd0e9001d52ca4fe70d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Security for chart-genius-mcp 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.