Free to browse, every day. Go Pro for unlimited installs and Airsc MCP.

See Pro
MCP serverCautionData & analyticsBeginner friendly Verified live

flint-chart

microsoft · microsoft/flint-chart

Flint is a visualization language and MCP server that lets AI agents create expressive, polished charts from simple, human-editable specs, outputting to various charting libraries.

🪄 Flint is a visualization language that lets AI agents reliably create expressive, good-looking charts from simple, human-editable chart specs.

4.4k stars256License: MITUpdated yesterday0 opens

Preview

▍

What you can do with it

  • Ask your agent to visualize sales data as a bar chart with a specific theme like "Economist" from a CSV file.
  • Generate a complex data visualization for a research paper using a simple, high-level specification.
  • Have an AI agent create an editable Excel chart from your dataset by providing a minimal Flint spec.

Verified live · 6 tools

We started this MCP server in an isolated sandbox and it exposed these tools:

  • render_chart

    Compile a Flint chart spec for a backend and render it to a STATIC image (PNG) or vector (SVG), returned inline. Rendering is local/in-process. The chartjs backend supports PNG only. Prefer create_cha

  • compile_chart

    Compile a Flint chart spec to a backend-native spec object (Vega-Lite / ECharts / Chart.js) without rendering. Returns the spec JSON, assembly warnings, and the computed layout size.

  • validate_chart

    Validate a Flint chart spec for a backend without rendering. Reports whether it is valid, all warnings/errors, and the computed layout size.

  • list_chart_types

    List the available chart types and their encoding channels for a backend, or for all backends when none is given.

  • list_themes

    List Flint visual theme presets for `theme_spec` (for example, `theme_spec: "economist"`). Pass an `id` for preset-specific authoring guidance. To customize a preset, use an object with `extends` and

  • create_chart_view

    PREFERRED DEFAULT for showing a chart when the host supports MCP App UIs. Open an interactive Flint chart view: renders the spec live as SVG and offers a customization panel (chart type, channel bindi

npx -y flint-chart-mcp · 06/10/2026

Safety check

Caution

Usable, but read the notes first.

  • ●npm package runs a script automatically on install.package.json

Automated scan of the repo files. Always review code you run.

From the README

Flint: A Visualization Language for the AI Era

Project site · 中文主页 · MCP server

Flint is a visualization language that lets AI agents reliably create expressive, good-looking and interactive charts from simple, human-editable chart specs. It is available as an MCP server for everyday use with your agent, and as an npm library for building interactive applications.

Flint supports 52 chart types across 5 rendering backends — Vega-Lite, ECharts, Chart.js, Plotly, and native Excel charts — through one unified interface, with 14 themes and 23 interaction presets. To create bespoke visualizations, design custom themes in the Theme Lab and build advanced interactions with the Flint API.

https://github.com/user-attachments/assets/c1cda0fa-3ea7-41af-b3fd-a127bc83d641

🔊 Click the speaker icon for sound  

Updates

  • October 19, 2026 — Flint 1.0 introduces Flint Interactive: interaction presets, semantic events, and an interaction API that connects charts to your app. (changelog)
  • August 12, 2026 — Flint 0.5.1 extends visual themes to the Plotly backend and adds Vega-Lite Calendar Heatmap.
  • August 5, 2026 — Flint 0.5.0 introduces formal visual themes with preset themes, custom ThemeSpec authoring, and preset inheritance. (v0.5.0)
  • July 24, 2026 — Flint 0.4.0 adds 38 Plotly chart types and 18 native, editable Excel chart templates. (v0.4.0)

See the changelog for every release.

Get started

In your agent app (MCP server)

Chart right in the conversation with any MCP client, such as GitHub Copilot in VS Code, Claude, Claude Code, Codex, or Cursor.

⚡ Quick start: paste this setup request into your agent and let it configure Flint for the current project. For manual setup, see the MCP server guide.

Help me set up Flint as an MCP server named "flint"!

1. Add it to my client config, using whichever option my client supports:
   - a local (stdio) server: npx -y flint-chart-mcp
   - the hosted server over HTTP: https://flint.data-formulator.ai/mcp
2. Verify the setup by listing the available Flint chart types.
3. Show me a fun first chart: how many moons each planet has, in a Flint theme you like.

Then ask your agent for a chart, for example:

Go to Yahoo Finance, find today's percentage change for the Magnificent Seven
tech stocks, and compare their performance with Flint in Economist style.
Let me hover to read each stock's change.

The agent can open an interactive chart right in the conversation, return a static PNG or SVG, or produce a backend-native spec.

Build with your coding agent

Are you a developer building agent apps? Use flint-chart, Flint's npm library, to bring charts into your apps, dashboards, and data stories:

npm install flint-chart

The library compiles Flint specs into backend-native chart specs and provides React and vanilla JavaScript APIs for embedding interactive charts.

A Flint spec describes the data, semantic types, and field mappings, with optional theme and interaction settings. In React, pass it to <FlintChart> to embed an interactive chart:

import type { ChartAssemblyInput } from 'flint-chart';
import { FlintChart } from 'flint-chart/react';

const spec: ChartAssemblyInput = {
  data: { values: [
    { Month: '2026-01', Users: 1200 },
    { Month: '2026-02', Users: 1800 },
  ] },
  semantic_types: { Month: 'YearMonth', Users: 'Quantity' },
  chart_spec: {
    chartType: 'Line Chart',
    encodings: { x: 'Month', y: 'Users' },
  },
  theme_spec: 'economist',
  interaction_spec: { interactions: [{ type: 'inspect-index' }] },
};

<FlintChart spec={spec} />

You can copy the following instruction to your coding agent to build a chart with Flint, then adapt it to your data and app:

Read Flint's chart authoring and interaction skills:
https://github.com/microsoft/flint-chart/blob/main/agent-skills/flint-chart-author/SKILL.md
https://github.com/microsoft/flint-chart/blob/main/agent-skills/flint-interaction-author/SKILL.md

Use these skills to add a chart to this app.
Install flint-chart and the renderer dependencies needed for this project.
Plot monthly users by region from our data in Economist style.
Let readers hover to compare regions at each month, and add a region selector
that updates the chart.
Integrate it with the app's existing layout and verify it works.

The agent can also generate backend-native specs or editable Excel charts for reports and documents. See the API reference, interaction API, and live editor for the underlying APIs and examples.

How it works

A Flint spec consists of the data, semantic types, the chart spec, and optional theme and interaction specs. Instead of relying on complex user-side logic to glue them together, the compiler resolves each part against the others and composes a complete backend-native spec.

1. Describe

View source on GitHub