MCP server: parse and stringify JSON5 — relaxed JSON with comments and trailing commas.
Two simple, focused tools with clear names and basic schemas. Both tools have descriptions (parse: 127 chars, stringify: 75 chars) and input schemas with type definitions. However, parameter descriptions are sparse: 'parse' has no param description; 'stringify' has only 'value' described ('Any JSON value.', vague) and 'indent' lacks a description entirely. Output schemas are not documented. Error handling is present but minimal, no recovery guidance. The server correctly avoids secrets and implements basic validation (e.g., checking for undefined stringify output). Naming follows verb_noun convention (parse, stringify), which is good. Overall: functional but missing parameter documentation and output schema clarity expected of production tools.
Parse JSON5 text into a JSON-compatible value. Allows comments, trailing commas, unquoted keys, and single-quoted strings.
Serialize a value to JSON5 (still valid JSON if indent is 0).
Parameter 'text' in parse tool lacks description. LLMs cannot infer that it expects JSON5-formatted text.
Parameter 'indent' in stringify tool has no description. LLMs do not know it controls indentation level or that valid range is 0 - 10.
Parameter 'value' in stringify has vague description ('Any JSON value.'). Does not explain what happens with undefined, functions, or symbols.
Output schemas not documented. LLMs do not know the structure of parse() return value or stringify() text field format.
Error messages lack recovery guidance. 'json5 failed: <message>' tells LLM nothing about what to try next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |