microsoft/flint-chart
🪄 Flint is a visualization language that lets AI agents reliably create expressive, good-looking charts from simple, human-editable chart specs.
What it solves
Flint addresses the difficulty AI agents have when creating polished data visualizations. Instead of requiring agents to manually tune verbose and complex configuration details—like scales, axes, spacing, and layout—Flint provides a compact intermediate language that allows agents to describe what to visualize rather than how to configure every pixel.
How it works
Flint acts as a compiler that takes a simple, human-editable chart specification and derives optimized settings based on the data, semantic types (e.g., Price, Country, Temperature), and the chosen chart type. It then compiles this high-level spec into native configurations for popular rendering backends, including Vega-Lite, ECharts, and Chart.js.
Who it’s for
It is primarily designed for AI agent developers who want their agents to generate reliable, professional charts, as well as developers who need a backend-agnostic way to define visualizations.
Highlights
- Semantic Understanding: Uses over 70 semantic types to automatically determine the best visual representation for data fields.
- Automatic Layout: Dynamically adjusts sizing, labels, and legends based on data cardinality and canvas constraints.
- Multi-Backend Support: A single input spec can be rendered across 30+ chart types using Vega-Lite, ECharts, or Chart.js.
- MCP Integration: Includes a Model Context Protocol (MCP) server that enables agents to create, validate, and render interactive charts directly within chat or coding environments.