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.1.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.1-py3-none-any.whl (70.6 kB view details)

Uploaded Python 3

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

Hashes for chart_genius_mcp-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1b755fc0b0efd193eaf7d172a9608e02b62fd083231c8c7624c19cf7f7736ebe
MD5 0d7237f6fab316e00b890582eb20c258
BLAKE2b-256 0d50342d03283082f1d45d8a9fa3d0175d5f56cebbcfa77fcd278a5995fd2450

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for chart_genius_mcp-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0940a5b9bb3ce8b1f14b9737b633b9443251fb42764b1684a7956f00d171e925
MD5 a68e4cb449072c923262dacde83742fc
BLAKE2b-256 4c06ad0ac28b7df7f84c2d60d11343648f67c5dd545f555f2aeef545471dfc30

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