New|OAuth for Claude.ai & ChatGPT remote connectors

AI prompts transformed into crisp Highcharts

An open-source Model Context Protocol server that turns structured input or raw Highcharts options into validated chart configs and rendered SVG, PNG, or PDF — built for Claude Desktop, Cursor, and any MCP-capable client.

>_npm install -g @highchart-mcp/server
Supported ClientsClaude DesktopCursorChatGPTVS CodeDify

Works with any MCP client

STDIO for local desktop clients, Streamable HTTP with API-key/JWT or OAuth for remote connectors.

mcp.json
STDIO
{
  "mcpServers": {
    "highchart-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/highchart-mcp-server/dist/index.js"],
      "env": { "TRANSPORT": "stdio" }
    }
  }
}
claude-desktop
stdio
cursor
stdio
vscode
stdio
dify
http
claude.ai
http
chatgpt
http
Architecture Overview

Visual intelligence for LLM context windows

Structured intent in, a validated Highcharts specification out — with deterministic schema checks and headless Chromium rendering.

70 Highcharts 12.x Series

Full coverage of cartesian, financial stockChart, sankey, treemap, gantt, heatmap, and Highcharts Maps — out of the box.

CATALOG: ALL FAMILIES→

Two-Tier Tools API

Guided generation via create_chart, plus raw passthrough with render_chart.

API: DUAL LEVEL→

Headless Chromium Export

Rendering powered by highcharts-export-server. Emits SVG, PNG, or PDF with the correct constructor selected automatically.

PIPELINE: SVG / PNG / PDF→

Zod v4 Validation

Catches bad axes, missing series identifiers, and malformed input before anything renders — with clear, per-type error messages.

SCHEMA: STRICT→

Production Hardened

Configurable worker pool and export timeouts, request body/session limits, and token-bucket rate limiting on HTTP.

SECURITY: SANDBOXED→

Offline Docker Image

The container image bakes the Highcharts script cache at build time — no CDN dependency at runtime.

DEPLOY: AIR-GAPPED READY→
Core Protocol Tools

Four MCP tools at your agent's fingertips

Discover, synthesize, and export Highcharts configurations inside any Model Context Protocol loop.

list_chart_typesTOOL-01

Discovery catalog that returns every supported type grouped by family, with data-shape hints and examples.

RETURNS:{ families: [...] }
create_chartTOOL-02

Accepts structured input (series, axes, type) for any supported chart and composes a validated Highcharts config.

RETURNS:{ constr, options }
render_chartTOOL-03

Raw passthrough for advanced use: takes a full Highcharts options object and renders it directly, for any type.

RETURNS:{ constr, options }
export_chartTOOL-04

Like render_chart, plus format (svg/png/pdf), width/height/scale, and constr overrides for publishing.

RETURNS:{ data, format }
Explore the full CLI reference
Real Output

Context building in action

How the same server looks from a config file, a tool call, the HTTP transport, and the SDK.

highchart-mcp
claude_desktop_config.jsonSTDIO
{
  "mcpServers": {
    "highchart-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/highchart-mcp-server/dist/index.js"],
      "env": { "TRANSPORT": "stdio" }
    }
  }
}
Export OutputSVG
Monthly Revenue chart rendered by highchart-mcp
RENDERED VIA HEADLESS CHROMIUM
FORMAT: SVG
Developer Ecosystem

Published packages across JavaScript & Python

Independently versioned, each in its own package.json / pyproject.toml.

@highchart-mcp/serverNPM

The MCP server and CLI binary. STDIO and Streamable HTTP transports, with auth and rate limiting.

npm install -g @highchart-mcp/server
@highchart-mcp/sdkTypeScript

Typed JS/TS client with request factories for create_chart, render_chart, export_chart, and list_chart_types.

npm install @highchart-mcp/sdk
highchart-mcp-sdkPyPI

Async Python client with stdio subprocess and HTTP connectors, for any Python-based agent framework.

pip install highchart-mcp-sdk
DockerfileContainer

Bundled in the repo — builds an image with the Highcharts script cache baked in for air-gapped deployments.

docker build -t highchart-mcp-server .
Common CLI commands
Discover types:highchart-mcp list-types
Create a chart:highchart-mcp create --type line
Start the HTTP server:highchart-mcp serve --port 3000

Why use highchart-mcp

Free, open source, and built so an agent never has to guess at a chart's structure.

highchart-mcp
  • All 70 Highcharts 12.x series types — cartesian to maps to gantt
  • Real headless Chromium export — vector SVG, PNG, PDF
  • Zod v4 validation catches bad input before it ever renders
  • STDIO or Streamable HTTP, with auth and rate limiting
  • Offline render cache — no CDN dependency at runtime
Asking an LLM to draw it
  • No real Highcharts engine — output is a guess, not a validated config
  • No export pipeline — nothing to drop into a report or a page
  • No schema, so malformed axes or series fail silently
  • Every call re-explains chart structure from scratch
Rolling your own wrapper
  • You write the validation layer
  • You write the export server integration
  • You write the MCP tool contracts and auth yourself
  • No offline cache or tested chart-type coverage out of the box

Chart anything, from any MCP client

Free and open source. The only cost is tokens.

ISC LICENSE · HIGHCHARTS® REQUIRES ITS OWN LICENSE FOR COMMERCIAL USE