# Flint (AI)
Flint is a visualization language designed for AI agents, built by Microsoft Research with the IDEAS Lab at Renmin University of China. MIT licensed. Instead of making a model produce hundreds of lines of chart configuration, you hand it a compact spec: the data, semantic type annotations (70+ types like "Quantity" or "Temperature"), and encoding choices. The compiler derives everything else: scales, axes, spacing, labels, legends, layout.
## What it provides
- One compact spec that compiles to native chart specifications for Vega-Lite, ECharts, or Chart.js; 30+ chart types from a single input
- Semantic typing, so defaults come from what the data means rather than just its shape
- Automatic layout that adapts to data cardinality and constraints, no manual tuning
- An MCP server (`npx -y flint-chart-mcp`) so agents can create, validate, and preview charts mid-conversation
- The `flint-chart` npm package (Node 18+); a Python port is under development
## Why it matters
Chart generation is a classic LLM failure mode. Verbose specs mean lots of tokens and lots of small mistakes: broken scales, overlapping labels, wrong axis types. Flint shrinks what the model has to get right and lets a deterministic compiler own the polish. That's the same philosophy behind every good agent tool: give the model a small, high-level surface and push the fiddly details into code. Anyone wiring reporting or [[Data Visualization]] into an agent workflow should look at this before hand-rolling Vega-Lite prompts.
## References
- Repository: https://github.com/microsoft/flint-chart
- Project site with live editor, gallery, API reference and MCP docs: https://microsoft.github.io/flint-chart/
- npm package: https://www.npmjs.com/package/flint-chart
## Related
- [[Data Visualization]]
- [[Model Context Protocol (MCP)]]
- [[AI Agents]]