Our take
- Activity
- 72
- Community
- 47
- Issues
- 58
- Pull requests
- 53
+27 stars in the last 8 days
Overview
Flint is a TypeScript visualization library and intermediate chart language. A compact specification describes the data, its meaning, and the chart design; Flint uses that information to handle presentation decisions such as layout, labels, and legends, then compiles the result for supported charting libraries or Excel.
It is useful when charts need to be authored by AI agents or generated repeatedly without embedding backend-specific configuration in every request. The repository also includes an MCP server, allowing compatible agents to create, validate, and render charts through tools.
Key Features
- Describes data with semantic types, including concepts such as price, temperature, and country.
- Derives layout and presentation decisions from the data, chart design, and canvas constraints.
- Compiles the same input for Vega-Lite, ECharts, Chart.js, Plotly, or native Excel charts.
- Supports visual themes, including presets and custom theme specifications.
- Provides an MCP server for agent-driven chart creation, validation, and rendering.
- Includes a project site with a live editor, chart gallery, and documentation.
Use Cases
- AI-agent developers can let an agent create and validate a chart during a chat or coding workflow using the MCP server.
- Application developers can generate charts for multiple rendering backends from one shared input format.
- Data analysts can turn structured data into themed charts without configuring every axis, label, and spacing option by hand.
- Teams maintaining a consistent visual style can apply a theme across charts instead of repeating presentation settings in each chart specification.
Getting Started
Install the library or run the MCP server:
npm install flint-chart
npx -y flint-chart-mcp
See the README and project site for usage and setup details.
Alternatives
- mcp-server-chart: It exposes AntV chart generation as an MCP tool, while flint-chart turns human-editable specifications into visualizations across multiple backends.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| flint-chart | TypeScript | MIT | 4.3k | Not checked yet |
| mcp-server-chart | TypeScript | MIT | 4.4k | Active |
Considerations
- The JavaScript/TypeScript packages require Node 18 or later.
- The Python port is described as a source-only preview, and its package is not yet released.
- The README notes that
ThemeSpeccurrently affects Vega-Lite output, so theme behavior is not uniform across all listed backends. - The MCP server requires an MCP-capable client for agent-integrated use; the library can also be used directly.
Found this useful?
Share it with someone who would like flint-chart.