Model Context Protocol server for Flint — compile, validate, and render semantic chart specs across supported backends (Vega-Lite, ECharts, Chart.js, Plotly, Excel).
Flint Chart MCP demonstrates solid definition quality with well-named, verb-led tools and detailed parameter descriptions. All 6 tools have clear, substantive descriptions (150-300 chars) aligned with the rubric baseline (avg 194 chars). Input schemas are present and properly typed with enums for backend/format parameters. However, output schemas are not explicitly documented in the visible source code, and tool annotations (readOnlyHint, destructiveHint, idempotentHint) are absent despite all tools being read-only operations. Error handling strategy is not evident from the provided code samples. The toolset is well-composed with clear single responsibilities and good parameter naming conventions (chartType, encoding, backend follow verb_noun patterns).
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.
Create an interactive, customizable chart view that renders the chart live and lets the user tweak it. Uses MCP App UI to render HTML.
List all supported chart types, with their channels, constraints, and interaction presets.
List all built-in and custom visual themes with their metadata and design parameters.
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_chart_view instead when the host supports MCP App UIs; use render_chart for a static artifact or when no App UI is available.
Validate a Flint chart spec for a backend without rendering. Reports whether it is valid, all warnings/errors, and the computed layout size. With an interaction_spec it also reports the entries the chart would drop.
Output schemas not documented. Tools return complex nested objects (spec JSON, assembly warnings, computed layout size, interactive HTML) but LLMs cannot see the expected field structure. This forces agents to reason about response shape without guidance.
Tool annotations missing. All 6 tools are read-only (Risk: READ_ONLY per spec), but readOnlyHint annotation is not present in schema. This prevents clients from auto-detecting safe-to-retry operations and optimizing execution plans.
Error recovery guidance absent. No error handling strategy visible in source (e.g., invalid backend enum, malformed data object, rendering failures). Descriptions do not explain how LLMs should recover from common failure modes.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 77 | 2026-07-28+ | v2 |
Pagination and result limits not addressed. 'list_chart_types' and 'list_themes' do not specify if results are capped, offer pagination, or return a count. If theme/type catalogs grow, responses could balloon beyond practical LLM context windows.
Parameter 'data' is overloaded and under-specified. Accepts both inline { values: [...] } and file reference { url: '...' } but the description does not clarify the exact schema for either variant. LLMs cannot reliably construct valid 'data' objects without trial-and-error.