마이크로소프트 리서치가 렌민대학교(중국 인민대학교) IDEAS Lab과 공동으로 공개한 오픈소스 프로젝트 Flint는 "차트를 그리는 새로운 언어"이다. 목적은 명확하다. 사람이든 AI 에이전트든 차트를 만들 때 축 범위, 여백, 범례 위치, 색상 같은 세부 설정을 일일이 조정하지 않아도 되게 하는 것이다. 대신 데이터가 무엇을 의미하는지만 간단히 표시하면, Flint 컴파일러가 나머지 세부 설정을 알아서 도출한다.
이 프로젝트가 특히 주목받는 이유는 대상 독자가 사람만이 아니라는 점이다. arXiv에 함께 올라온 논문(2607.20775, 7월 22일 제출)은 Flint를 "사람과 AI 에이전트 모두에게 효과적인 시각화 중간 언어"라고 설명한다. 최근 챗봇이나 코딩 에이전트가 데이터를 보여줄 때 차트를 직접 생성하는 일이 늘고 있는데, 기존 차트 라이브러리는 설정 항목이 너무 세밀해서 에이전트가 매번 그럴듯한 값을 추측해야 했고, 그 결과가 어색한 차트로 이어지는 경우가 많았다. Flint는 이 지점을 "의미 기반 스펙"으로 해결하려 한다.

"의미 타입"이라는 핵심 개념: 숫자가 아니라 뜻을 알려준다

Flint의 핵심은 70개 이상의 "의미 타입(semantic type)"이다. 예를 들어 어떤 숫자 필드가 단순한 수량인지, 순위(Rank)인지, 온도(Temperature)인지, 가격(Price)인지를 지정하면, Flint 컴파일러는 그 의미에 맞춰 축 스케일, 정렬 방향, 단위 표기, 색상 배색까지 자동으로 결정한다. 기존 차트 라이브러리들은 이런 결정을 사용자가 일일이 지정해야 했는데, Flint는 그 결정 로직을 컴파일러 안으로 옮긴 셈이다. 결과물은 Vega-Lite, Apache ECharts, Chart.js, Plotly 네 가지 자바스크립트 차트 라이브러리는 물론, Office.js를 통한 엑셀 네이티브 차트로도 변환된다. 같은 입력 하나로 다섯 가지 다른 형태의 결과물을 얻을 수 있다는 뜻이다.
MCP 서버: 대화 안에서 바로 차트를 그린다
이 프로젝트가 실무적으로 흥미로운 부분은 flint-chart-mcp라는 별도 MCP(Model Context Protocol) 서버 패키지이다. Claude나 다른 MCP 호환 에이전트 클라이언트에 이 서버를 연결하면, 대화나 코딩 세션 도중 에이전트가 직접 차트를 생성·검증하고 그 결과를 인터랙티브 화면으로 열어볼 수 있다. 설치는 npx -y flint-chart-mcp 한 줄로 끝나며, 라이브러리 형태로 직접 쓰고 싶다면 npm install flint-chart로 자바스크립트/타입스크립트 코드베이스에 붙일 수 있다.

아직 다듬어지는 중인 프로젝트
공식 README의 최신 업데이트에는 8월 5일 0.5.0에서 차트 라이브러리 전체에 적용하는 테마 사양과 10개 프리셋이 추가됐다고 적혀 있다. 그보다 앞선 7월 24일 0.4.0에서는 Plotly 차트 타입 38종과 편집 가능한 엑셀 네이티브 차트 템플릿 18종이 더해졌다. Python 패키지는 아직 정식 배포 전이며 저장소에는 소스 형태의 미리보기만 있다. 현재는 자바스크립트·타입스크립트 환경에서 먼저 시험할 수 있는 단계다. 논문은 프리프린트이고, 사람과 에이전트 모두에 효과적이라는 평가는 저자들이 제시한 결과다.
