Standalone MCP server for generating static Pix QR codes without external dependencies
pix-mcp defines 2 tools with explicit schemas and descriptions. Both tools have clear, action-verb names and reasonable input schemas with proper JSON Schema format. However, several definition quality gaps reduce the score: (1) tool descriptions are functional but brief (11-13 words each), falling below the baseline average of 194 chars; (2) output schemas are not documented, callers must infer response structure from code rather than a declared schema spec; (3) no parameter descriptions mention constraints, formats, or ranges beyond JSON Schema min/max (e.g., Pix key formats are mentioned in the description but not formalized in constraints); (4) error handling lacks actionable recovery guidance, tool call failures return generic validation errors without next-step hints; (5) no tool annotations (readOnlyHint, idempotentHint) despite both tools being safe, read-only operations. The tools are domain-focused and functional, but fall short of production-grade clarity and error guidance expected at 70+.
Generate a static Pix QR code for any Pix key (works without API credentials)
Check the health status of the Pix MCP server and providers
Output schemas not documented. Tool responses contain text, QR code data URL, and optional status objects, but no formal response schema is published. Callers must read source code to understand output structure.
Tool descriptions are too brief (11 - 13 words). Baseline for production tools is 194 chars average (p10=34, p90=392). Current descriptions lack context on when to call each tool or what the response structure contains.
No tool annotations despite both tools being read-only and idempotent operations. The readOnlyHint and idempotentHint attributes (current spec) would signal to agents that these tools are safe to retry without side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Error handling does not guide recovery. CallToolRequest handler validates input but returns generic Zod errors without actionable next steps. E.g., if pixKey is invalid, should suggest valid formats (email, phone, CPF, CNPJ, random UUID).
Parameter descriptions lack format/constraint details. E.g., 'Pix key' description says '(email, phone +5511999999999, CPF, CNPJ, or random key)' but this is narrative, not a machine-parseable enum or pattern. Should formalize as: description + enum examples or regex pattern in schema.