MCP server for repairing malformed structured data (JSON, YAML, XML, TOML, CSV, INI, Markdown, Diff, Properties, Env) and binary media files (PNG, JPEG, WAV, MP3, MP4, MOV) with format auto-detection
anyrepair exposes 12 tools with minimal descriptions and basic schemas. Most tool names follow verb_noun convention (repair_json, repair_yaml, etc.), which is good. However, descriptions are extremely terse (10-40 chars), providing almost no context for LLM selection. All tools accept a single 'content' parameter with minimal detail. The 'repair' tool lacks documentation of its auto-detection behavior. The 'validate' tool is the only one with a more complex schema (enum for format), but still lacks depth. No output schemas are documented, LLMs cannot predict response structure. No error handling guidance provided. Tool definitions appear to be derived from src/mcp_server.rs and the example file, but full schema construction logic is not visible in the provided source, making it difficult to verify exact parameter constraints. The server is functional but well below production quality for agent integration.
Repair content in various formats (auto-detect)
Repair CSV content
Repair Diff content
Repair Env content
Repair INI content
Repair JSON content
Repair Markdown content
Repair Properties content
Descriptions are critically short (10-40 chars), providing insufficient context for LLM tool selection. 'Repair JSON content' tells the LLM nothing about when to call repair_json vs repair (auto-detect), what format it expects, or what it returns.
No output schemas documented. LLMs cannot plan downstream operations or extract return values. Responses are assumed to contain 'repaired' field (seen in examples) but never formally specified.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
Repair TOML content
Repair XML content
Repair YAML content
Validate content in various formats
Parameter descriptions lack actionable constraints. 'Content to repair' does not specify: expected size limits, character encoding, whether binary/text only, what happens if input is empty, or expected output format.
No error handling guidance. What does the tool return when repair fails? Can the LLM retry? Should it try a different format? No recovery patterns documented.
The 'repair' tool (auto-detect) lacks documentation of its detection algorithm. When should an LLM prefer repair (auto) vs repair_json (explicit)? What formats does auto-detect recognize? This distinction is critical for composition but undocumented.
Tool names 'repair_*' imply content is always repairable. No guidance on when repair is impossible (e.g., binary-corrupted media, unrecognizable syntax). LLMs may waste retries on unfixable input without explicit constraint documentation.