microsoft/flint-chart
🪄 Flint is a visualization language that lets AI agents reliably create expressive, good-looking charts from simple, human-editable chart specs.
Flint — AI 기반 차트 생성을 위한 시각화 언어
개요
- 오픈 소스 TypeScript/JavaScript 라이브러리 (
flint-chart) 및 MCP (Microsoft Copilot Protocol) 서버 (flint-chart-mcp). - 데이터, 의미론적 유형(semantic types), 차트 유형, 테마 및 상호작용을 설명하는 단일 선언적 사양 형식을 제공합니다.
- 이 사양은 5개의 렌더링 백엔드(Vega-Lite, ECharts, Chart.js, Plotly 및 네이티브 Excel)를 위한 네이티브 사양으로 컴파일됩니다.
- 52개의 차트 유형, 14개의 시각적 테마(예: Economist, NY Times), 23개의 상호작용 프리셋(브러시, 호버, 드릴다운 등)이 포함되어 있습니다.
AI 에이전트에게 중요한 이유
- AI 어시스턴트(Copilot, Claude, Cursor 등)는 MCP 서버를 통해 Flint를 호출하여 자연어 요청을 채팅창에 직접 나타나는 대화형 차트로 변환할 수 있습니다.
- 컴파일러는 의미론적 유형(예:
YearMonth,Quantity)을 사용하여 스케일, 서식 및 색상 선택을 추론하므로 에이전트가 저수준의 차트 옵션을 수동으로 작성할 필요가 없습니다. - 동일한 사양이 지원되는 모든 백엔드에서 작동하므로, 에이전트는 PNG/SVG, 웹 삽입형 차트, 또는 보고서용 편집 가능한 Excel 차트를 생성할 수 있습니다.
사용 방법
- MCP 서버 –
npx -y flint-chart-mcp(로컬 stdio)를 실행하거나 호스팅된 서버 URL을 에이전트에 지정합니다. 에이전트는 일반 텍스트 프롬프트로 차트를 요청할 수 있습니다. - 라이브러리 –
npm i flint-chart를 설치합니다. React 컴포넌트 또는 바닐라 API를 가져와ChartAssemblyInput객체를 전달하면 Flint가 차트를 렌더링합니다.import { FlintChart } from "flint-chart/react"; const spec = { /* data, semantic_types, chart_spec, theme_spec, interaction_spec */ }; <FlintChart spec={spec} /> - 사용자 지정 – Theme Lab을 통해 테마를 생성하거나 확장하고, 상호작용 API를 사용하여 사용자 지정 상호작용 사양을 작성합니다.
주요 구성 요소
packages/flint-js– 핵심 컴파일러, 백엔드 어댑터, 테마 및 상호작용 엔진.packages/flint-mcp– MCP 서버 구현 및 테스트용 최소 UI.packages/flint-py– Python 포트 미리보기 버전(아직 게시되지 않음).site/– 갤러리, 라이브 에디터, 테마 탐색기 및 문서를 호스팅하는 Vite-React 사이트.
문서 및 리소스
- 프로젝트 사이트: https://microsoft.github.io/flint-chart/ – 갤러리, 라이브 에디터, 테마 탐색기.
- API 참조, 백엔드별 문서, 테마 사양, 상호작용 사양(모두
docs/에 위치). - LLM이 차트나 상호작용을 작성하도록 프롬프트하는 방법을 설명하는 에이전트 스킬 마크다운 파일 (
agent-skills/). - arXiv 학술 논문 (2607.20775)에서 설계 근거 설명.
커뮤니티 및 기여
- 사용자 지원을 위한 Discord 및 WeChat 그룹.
- 오픈 기여 모델: 새로운 차트 템플릿, 백엔드 또는 테마 추가.
npm run test,npm run build,npm run site로 빌드. - MIT 라이선스, Microsoft 유지 관리.
대상 사용자
- AI 어시스턴트가 강화된 대시보드나 데이터 탐색 도구를 구축하는 개발자.
- 차트마다 수동 코딩하지 않고도 에이전트가 세련된 시각화를 생성하기를 원하는 프롬프트 엔지니어.
- 웹, PowerPoint(Excel 경유) 또는 대화형 노트북용 차트를 단일 사양으로 출력해야 하는 데이터 과학 팀.
관련
- Dispatch
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트