Microsoft Research, in collaboration with Renmin University of China's IDEAS Lab, has open-sourced Flint, a "visual intermediate language" built for AI agent chart creation, released July 9 on GitHub.
What Flint Is
Flint separates the spec humans express intent with from the spec machines render. Input is a short semantic description (data + semantic_types + chart_type); the compiler derives all chart-engineering details — axes, color palettes, layout, font sizes — and outputs native specs for Vega-Lite, ECharts, and Chart.js.
Two npm packages ship with the repo:
flint-chart— a JavaScript/TypeScript library compiling one Flint spec into 30+ chart types across 3 backendsflint-chart-mcp— an MCP (Model Context Protocol) server letting agent clients like Claude Code / Cursor generate, validate, and render charts in conversation- The problem is consistent, good-looking charts, not chart generation. Agents writing raw ECharts configs routinely pick wrong axis ranges, mislabel categorical fields, duplicate legends, and produce inconsistent font sizes. Prompt engineering fails at scale (30+ chart types × 3 backends). Flint offloads all rendering details to the compiler.
- MCP integration makes it agent-native.
flint-chart-mcpexposes three capabilities: template selection (recommending suitable charts), spec validation (preventing invalid Flint), and rendering (PNG / SVG / interactive views). This is the first industrial-grade "charting tool" for Claude Code / Cursor / Cline users. - A notable research collaboration. Microsoft Research brings the lineage of Vega / Vega-Lite / SandDance; the IDEAS Lab represents the rapid rise of China's data-visualization + AI research. Flint may be the first visualization DSL designed for the agent era by a cross-national team.
- Chart-as-code is splitting into two paths: agents outputting full framework configs (old), versus agents outputting semantic specs with compilers doing the heavy lifting (new, Flint's approach). This mirrors the broader 2026 shift from "agents do everything" to "agents handle intent, compilers handle execution."
- Productizing AI's "last mile": earlier coding agents solved code generation; Flint-class tools solve artifact delivery — charts humans can consume directly.
- MCP ecosystem entering a specialized-tools phase:
flint-chart-mcpis among the first industrial MCP servers solving a routine task, freeing Claude Code users from prompt-debugging chart code. - New release cadence for academic tools: open-source first, paper to follow — engineering leads, research trails.
- Ecosystem adoption takes time: becoming default agent infrastructure requires built-in connections in mainstream agent clients (typically 3–6 months from MCP server to default capability).
- No Python port yet: only JS/TS is available; Python support (Jupyter / Streamlit / Plotly Dash users) is in source-preview state — a key gap.
- Compilers vs. LLMs: if future models reliably output correct chart configs directly, this intermediate layer could become unnecessary — though semantic typing and cross-backend consistency remain hard-to-replicate barriers.
- Unverified paper: methods, benchmarks, and head-to-head comparisons against direct LLM config generation await the forthcoming publication.
Flint covers 70+ semantic types (Rank, Temperature, Price, Country, etc.) and 30+ chart types (bar, line, scatter, heatmap, sankey, radar, rose, box plot, streamgraph, treemap, etc.). MIT-licensed; a paper is forthcoming.
Sources: microsoft/flint-chart GitHub · Project homepage