MCP server for generating tabular PDF reports from JSON and .toon format data using Robyn web framework
This MCP server exposes 2 tools for PDF report generation with significant quality gaps. Tool names lack clear action verbs and descriptions are minimal. Neither tool has documented output schemas, and parameter descriptions are sparse. The server appears to be built on a custom HTTP framework (Robyn) and exposes tools via MCP, but the tool definitions themselves are underdeveloped for production use. Evidence: (1) gerar_relatorio_json has a 72-char description that barely explains what it does; (2) gerar_relatorio_toon has a 73-char description with no guidance on format expectations; (3) both input schemas lack descriptions for the 'meta', 'data', and 'layout' parameters; (4) no output schemas are documented; (5) no error handling guidance is visible; (6) parameter 'mode' is mentioned as 'exact|gray' but has no description. The naming uses Portuguese, which is non-standard in tool ecosystems. Overall, this reads as a prototype that bypasses standard tool quality patterns.
Gera relatório PDF a partir de payload JSON com meta, layout e data
Gera relatório PDF a partir de texto no formato .toon
Tool names lack action verbs and use non-English (Portuguese). Names do not start with a clear, universally understood verb like 'generate_', 'create_', etc. 'gerar_relatorio_json' and 'gerar_relatorio_toon' are non-standard in production tool ecosystems, forcing LLMs to reason about unfamiliar naming conventions.
Missing output schema documentation. Neither tool documents what fields or structure the response contains. LLMs cannot plan downstream operations or extract relevant fields from the result.
Parameter descriptions are missing or inadequate. The 'meta' object description says 'Metadados: title, sub_title, mode (exact|gray)' but does not describe the purpose of each subfield or what 'mode' means semantically. The 'data' array description is vague: 'Registros do relatório, opcionalmente com groups aninhados', what is the expected structure? What fields does a 'Registro' contain?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | <=2025-11-25 | v2 |
Tool descriptions are too short and lack actionable guidance. Both descriptions are under 100 characters and do not explain when to use each tool, what the output looks like, or what 'payload JSON' and 'format .toon' mean to an LLM unfamiliar with the domain.
No error handling guidance. Code does not show how errors (e.g. invalid JSON, missing required fields, PDF generation failure) are communicated to the LLM or what recovery steps are suggested.
No input validation or constraint documentation. The 'mode' parameter mentions 'exact|gray' but neither parameter has minLength, maxLength, enum constraints, nor format specifications (e.g. for JSON structure).