Repolode
microsoft

microsoft/flint-chart

A visualization intermediate language that lets AI agents turn compact chart specs into polished charts for Vega-Lite, ECharts, Chart.js, Plotly, or Excel.

Stars
4,380
Forks
247
Open issues
37
Last commit
yesterday

What is it?

Flint is a visualization intermediate language for AI agents. Instead of requiring an agent to hardcode scales, axes, spacing, labels and layout, Flint derives those decisions from a high-level semantic spec, the data, and an optional visual theme. A compact spec compiles to native Vega-Lite, ECharts, Chart.js, Plotly or editable Excel chart output.

The repository ships two packages: `flint-chart`, a TypeScript library that produces backend-native chart objects from one input shape, and `flint-chart-mcp`, an MCP server that lets agents create, validate and render charts inside a chat or coding client. A hosted MCP endpoint is also available for trying it out.

Visual themes such as Economist, Swiss and Pop separate what a chart means from how it looks, and custom themes can inherit a preset and override specific style values. Themes currently apply to the Vega-Lite and Plotly outputs.

Key features

  • 01Maps fields to 70+ semantic types such as Rank, Price and Country to guide chart design.
  • 02Automatically adjusts sizing, spacing, labels, marks and legends to the data.
  • 03Supports built-in and custom visual themes applied across a chart library.
  • 04Compiles one input to Vega-Lite, ECharts, Chart.js, Plotly or native Excel charts.
  • 05Provides an MCP server so agents can validate and render charts interactively.

Use cases

  • Letting an AI assistant in a chat client produce charts from data it finds or is given.
  • Generating consistent branded charts across a product by applying one theme.
  • Producing editable Excel charts from programmatically defined specs.
  • Rendering the same chart definition on different charting libraries without rewriting it.

Quick start

  1. 1

    Install the library in your JavaScript/TypeScript project

    npm install flint-chart
  2. 2

    Run the MCP server for agents and MCP clients

    npx -y flint-chart-mcp

Things to know

  • Python package is not yet released; only a source-only preview exists in the repo.
  • ThemeSpec currently affects only Vega-Lite output, not the other backends.
  • A research paper describing the project is still forthcoming.

Topics

FAQ

What is flint-chart?
A visualization intermediate language that lets AI agents turn compact chart specs into polished charts for Vega-Lite, ECharts, Chart.js, Plotly, or Excel. Flint is a visualization intermediate language for AI agents. Instead of requiring an agent to hardcode scales, axes, spacing, labels and layout, Flint derives those decisions from a high-level semantic spec, the data, and an optional visual theme. A compact spec compiles to native Vega-Lite, ECharts, Chart.js, Plotly or editable Excel chart output.
Is flint-chart free to use? What license does it have?
flint-chart is open source under the MIT license. Check the license terms before using it in commercial products.
Is flint-chart still maintained?
Actively maintained. The last commit to flint-chart was on Oct 18, 2026.
What can I use flint-chart for?
Letting an AI assistant in a chat client produce charts from data it finds or is given. Generating consistent branded charts across a product by applying one theme. Producing editable Excel charts from programmatically defined specs. Rendering the same chart definition on different charting libraries without rewriting it.
How do I install flint-chart?
Install the library in your JavaScript/TypeScript project: npm install flint-chart Run the MCP server for agents and MCP clients: npx -y flint-chart-mcp
Where can I get flint-chart?
The source code and installation instructions are on GitHub: https://github.com/microsoft/flint-chart

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects