Skip to main content

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.

MCP Compatible Performance Charts Engines

🚀 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_mcp with server id chartsmith
  • HTTP: point Smithery at the container’s /mcp endpoint (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


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.0.tar.gz (82.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chart_genius_mcp-1.0.0-py3-none-any.whl (70.3 kB view details)

Uploaded Python 3

File details

Details for the file chart_genius_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: chart_genius_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 82.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for chart_genius_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b4bd827daef509c2d3d9c5e8ca22662f75f88b6b3eacf2da1bf85362ae99e47a
MD5 05481bf3a90ad375046afe2900bd8d0e
BLAKE2b-256 5f8cccfdf1a3a68b26ee78778c2a898f8d1fdf436edc723dafff461144ac383c

See more details on using hashes here.

File details

Details for the file chart_genius_mcp-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for chart_genius_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee0448ee89605e00f12c8e9b64da83259dd93fc1c16389fe40dac5dec0d6515f
MD5 4816d0420e49e161dc4261707e02137f
BLAKE2b-256 9cbca2c885f802a90ca026c3db7c35463c3763d72c915a2c738991c6491d478a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page