Microsoft Research · 2026-07-08 · major
Microsoft Flint — visualization language that lets AI agents author charts
Microsoft Flint is a compact chart specification that AI agents produce reliably, humans edit directly, and compiles to Vega-Lite, ECharts, or Chart.js. Ships with an MCP server, 70+ semantic types, and an MIT license.
Compact chart language that AI agents can generate, humans can edit, and Vega-Lite, ECharts, or Chart.js can render.
Quick facts
| Maker | Microsoft Research (with IDEAS Lab, Renmin University of China) |
|---|---|
| License | MIT |
| Languages | TypeScript (flint-chart), Python preview (flint-py) |
| Backends | Vega-Lite, ECharts, Chart.js |
| Chart types | 30+ |
| Semantic types | 70+ (Rank, Temperature, Price, Country, …) |
| Agent integration | flint-chart-mcp (MCP server, v0.2.0) |
What is it?
Microsoft Flint introduces an intermediate language that lets agents describe a chart in a few lines instead of a full Vega-Lite config. A Flint spec names the fields, chart type, and encodings; the Flint compiler fills in scales, axes, spacing, and labels from the data and its 70+ semantic types.
How does it work?
Every field gets a semantic type — Rank, Temperature, Price, Country, and so on — and the compiler uses that plus the data cardinality to choose layout and formatting. From the same spec it can emit a native Vega-Lite, ECharts, or Chart.js configuration, and an MCP server (flint-chart-mcp v0.2.0) exposes the render step so an agent can preview the chart interactively.
Why does it matter?
Chart generation is a common failure mode for coding agents: verbose backend specs are hard to produce reliably, and small errors break the render. A shorter, semantic-first spec lets smaller models produce good-looking charts on the first try, and the same spec stays human-editable, which matters as Flint gets pulled into Microsoft data-analysis tools like Data Formulator.
Who is it for?
Developers building agentic data-analysis or dashboard tools; Microsoft Research users of Data Formulator.
Frequently asked questions
- How does Microsoft Flint compare to Vega-Lite?
- Microsoft Flint sits one level above Vega-Lite. A Flint spec names the fields, chart type, and encodings; the compiler picks scales, axes, spacing, and layout from the data and 70+ semantic types, then emits a native Vega-Lite (or ECharts or Chart.js) spec. That shorter surface is what smaller AI agents can produce reliably without verbose configuration.
- Which rendering backends does Microsoft Flint compile to?
- Microsoft Flint compiles to three widely used backends: Vega-Lite, ECharts, and Chart.js. A single Flint spec can be rendered by any of them, so a team can pick whichever the surrounding app already uses. The compiler currently covers more than 30 chart types across those three targets.
- How does an AI agent generate charts with Microsoft Flint?
- Microsoft Flint ships an MCP server, flint-chart-mcp (v0.2.0 with HTTP transport). An agent that speaks MCP calls the render tool with a compact Flint spec and gets back a rendered chart plus an interactive preview, so the model never has to hand-write axis, scale, or layout details.
- Is Microsoft Flint open source and what does it cost?
- Microsoft Flint is open source under the MIT license and free to use. The repository is microsoft/flint-chart on GitHub and includes flint-chart (TypeScript), flint-chart-mcp (MCP server), and flint-py (Python preview). Microsoft Research built it together with the IDEAS Lab at Renmin University of China.
Try it
npm i flint-chart | https://github.com/microsoft/flint-chart