Model Context Protocol server exposing oxml's XML parsing, XPath and XSD validation
Four tools with complete input schemas and descriptions, but descriptions are minimal (10-20 chars) and lack LLM-optimized guidance. All tools are READ_ONLY and well-scoped (one action each). Parameter descriptions are present but terse. No output schemas documented. Error handling not visible in tool definitions. Naming is clear and verb-based (xml_check, xml_inspect, xml_query, xml_validate). Composition is sound, each tool does one thing. Missing: output schema documentation, error recovery guidance, and richer descriptions that explain WHEN to use each tool and what to expect.
Check if an XML document is well-formed
Inspect the structure of an XML document, returning element names and counts
Execute an XPath query against an XML document
Validate an XML document against an XSD schema
Tool descriptions are under 20 characters and lack LLM-optimized guidance. 'Check if an XML document is well-formed' (10 words) does not explain WHEN to use xml_check vs xml_validate, what happens on error, or what the output contains.
No output schemas documented. LLMs cannot plan downstream operations or extract structured data. xml_inspect returns 'element names and counts' but the exact JSON structure is not specified.
Parameter 'namespaces' in xml_query is optional but its format (object with string keys/values) is not validated or constrained. No enum or pattern guidance for namespace URIs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
No error recovery guidance in tool definitions. If xml_validate fails, the LLM does not know whether to retry, ask the user for a corrected schema, or try a different tool.
Tool descriptions do not distinguish use cases. xml_check and xml_validate both validate XML, but xml_check is well-formedness only while xml_validate requires a schema. LLMs may conflate them.