Apache ECharts MCP server. 18 chart types, stdio + Streamable HTTP, SVG/PNG/option/HTML output. Zero native dependencies by default.
Three tools with clear verb-noun naming (generate_chart, render_option, list_chart_types). Descriptions present but generic (50-100 chars, below 194-char baseline). Input schemas visible with type definitions, but parameter descriptions are sparse and lack actionable constraints. generate_chart has 7 params but only 2-3 have meaningful guidance; render_option similar. No output schemas documented. Error handling not visible in tool definitions. Missing enum constraints for 'output' and 'theme' parameters despite known valid values.
Generate a chart from template with data and optional style overrides
List all supported chart types with their data structure requirements and examples
Render an ECharts option object directly to SVG, PNG, or HTML
Parameter descriptions lack actionable constraints. 'output' accepts 'svg, png, option, or html' but is not declared as enum; 'theme' accepts 'default, dark, or custom' but no enum. LLMs will hallucinate invalid values.
Tool descriptions are generic (50-100 chars vs 194-char baseline). 'Generate a chart from template with data and optional style overrides' does not explain WHEN to use generate_chart vs render_option, or what the output contains.
No output schemas documented. LLMs cannot plan downstream calls or extract delivery URLs/file paths. What does generate_chart return? A file path? Base64? HTML string?
Parameter 'delivery' (file, base64, html) lacks description explaining when to use each. LLMs must guess whether to request base64 for embedding or file for storage.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
generate_chart 'type' parameter lists 18 chart types as string description, not enum. LLMs will invent chart types or misspell valid ones.