flint-chart
Flint is a visualisation intermediate language from Microsoft that lets AI agents create polished charts from simple, human-editable chart specs. Instead of asking agents or developers to tune verbose settings such as scales, axes, spacing, labels and layout, the Flint compiler derives optimised settings from the data, semantic types, chart type and encodings. The result is a compact specification that agents can produce reliably, people can edit directly, and multiple backends can render as native Vega-Lite, ECharts or Chart.js specs.
The repository has two main components: flint-chart, a JavaScript and TypeScript library that compiles the same input into those three backends, and flint-chart-mcp, an MCP server that lets agents create, validate and render charts from a chat or coding environment. Features include semantic chart specs using 70+ semantic types (such as Rank, Temperature, Price or Country), automatic layout based on data cardinality and canvas constraints, 30+ chart types across the three backends, and an MCP server that offers templates, validation and an interactive chart view. Install with `npm install flint-chart` or `npx -y flint-chart-mcp`; a Python package is not yet released and the current port is a source-only preview. It is MIT licensed.
Features
Why choose it
Trade-offs
Maintenance check
- Last commit
- 2026-09-23
- Commits, last 90 days
- 100+
- Releases, last 90 days
- 4
- Latest release
- 0.5.1 (2026-08-14)
- Open issues
- 35
- Recent issues with at least one comment
- 4/12
Oldest week on the left; the latest four weeks are orange. Source: GitHub commit activity.
Status rule: archived on GitHub = Archived; last commit within 90 days = Active; 91 to 365 days = Slowing; older = Stale. All figures come from the GitHub API on the date shown.
Most discussed open issues
- #102 Use `camelCase` instead of `kebab_case` in spec for consistency4 comments · 2026-08-17
- #45 NTCharts2 comments · 2026-07-08
- #80 Golden fixtures in shared/test-data no longer match the JS reference (705/705)1 comments · 2026-07-30
- #67 No control over axis label font size (layout-computed ~10px, no scale knob)1 comments · 2026-07-21
- #54 Add Plotly.js as a rendering backend1 comments · 2026-07-15
Issue titles are quoted from GitHub. Open the link to check whether a problem still applies to the version you use.
Compatibility
Quick start
Use cases
Alternatives
Comments
No comments yet. Be the first!