MCP-based chart generation agent with WebSocket server supporting both data-driven and AI-powered chart generation using Ollama
Two tools with basic schemas and minimal descriptions. generate_data_chart has a reasonable schema with enum constraint on chartType, but descriptions are generic (10-20 chars). generate_ai_chart has only a single string parameter with no format guidance. Neither tool description explains WHEN to use it, WHAT it returns, or error recovery paths. No output schemas documented. Parameter descriptions are trivial ('Chart data with labels and datasets' is not actionable). No error handling guidance. Schemas present but incomplete, missing required field declarations, no output structure, no pagination or limits.
Generate a chart from natural language description
Generate a chart from structured data
Tool descriptions are under 20 characters and provide no actionable context. 'Generate a chart from structured data' and 'Generate a chart from natural language description' do not explain WHEN to use each tool, what data format is expected, or what the output contains.
No output schema documented. LLMs cannot plan downstream operations or extract results. What fields does the response contain? Is it a base64 image, a URL, or structured chart metadata?
Parameter descriptions are generic and lack format/constraint guidance. 'Chart data with labels and datasets' does not specify required fields, nesting depth, or valid value ranges. 'Chart rendering options' is completely opaque.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | <=2025-11-25 | v2 |
generate_ai_chart accepts only a free-form prompt string with no validation, format hints, or examples. LLMs will pass arbitrary text; no guidance on chart type preferences, data domain, or output constraints.
No error handling guidance. What happens if Ollama is unavailable? If chart rendering fails? If the prompt is malformed? LLMs receive no recovery path.