About this project
Flint is a visualization intermediate language designed for AI agents to turn simple, human-editable chart specifications into expressive, polished visualizations. Instead of requiring agents to hardcode verbose parameters for scales, axes, spacing, labels, and layout, Flint derives these decisions from a high-level semantic specification, the data, and an optional visual theme (e.g., New York Times, Economist, Swiss, McKinsey). A compact spec compiles to native Vega-Lite, ECharts, Chart.js, Plotly specs, or editable Excel charts.
The repository contains two main components:
- **flint-chart**: a JavaScript/TypeScript library that compiles the same Flint input into Vega-Lite, ECharts, Chart.js, Plotly, or Excel-native output.
- **flint-chart-mcp**: an MCP server that lets agents create, validate, and render charts directly from a chat or coding environment.
Key features include:
- **Semantic chart specs**: Captures what each field means using 70+ semantic types such as Rank, Temperature, Price, or Country.
- **Automatic layout**: Adapts sizing, spacing, labels, marks, and legends to data cardinality, chart design, and canvas constraints.
- **Formal visual themes**: Define layout behavior, semantic presentation, and visual identity once, then apply them across a chart library with presets, custom ThemeSpec, or inherited themes.
- **Multiple backends**: Compile one input to backend-native output across Vega-Lite, ECharts, Chart.js, Plotly, and native Excel charts.
- **Agent-ready chart authoring**: The MCP server gives agents Flint tools and chart guidance so they can choose a template, validate it, and open an interactive chart view in MCP-capable clients.
Recent updates include version 0.5.1 extending visual themes to the Plotly backend and adding Vega-Lite Calendar Heatmap, version 0.5.0 introducing a formal theme specification, version 0.4.0 adding 38 Plotly chart types and 18 native Excel chart templates, and version 0.3.0 adding dynamic chart widgets.
Installation is via npm: `npm install flint-chart` for the library and `npx -y flint-chart-mcp` for the MCP server. A hosted MCP server is available at `https://flint.data-formulator.ai/mcp` for remote use with clients like GitHub Copilot in VS Code and Claude.
The project is built by Microsoft Research in collaboration with the IDEAS Lab at Renmin University of China, licensed under MIT, and welcomes contributions.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.