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.2.tar.gz (82.5 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.2-py3-none-any.whl (70.7 kB view details)

Uploaded Python 3

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

Hashes for chart_genius_mcp-1.0.2.tar.gz
Algorithm Hash digest
SHA256 cf8728f047280322e8495c7ea6d9e82f550bb1a7e6d7f400c4e8714c620b5a33
MD5 b36b2c82a9820b3f86ef0f7a64150972
BLAKE2b-256 81cf13d4599e46806baf34d78c82b6ca394720843b00e77edf1649fa861eef2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chart_genius_mcp-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c44ccaecdbb8d5f392a6ef69329069255bc881e6e546f9468f531e7bcee41bb3
MD5 f28ed96546db2964eff582162f714265
BLAKE2b-256 b36ce9200b4e506961e5a073a6ef5f50a0732d3a75911cd0e9001d52ca4fe70d

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