xmlvalid
Validate XML and e-invoices (XSD, DTD, RelaxNG, EN 16931, Peppol, XRechnung), explain errors
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"xmlvalid": {
"url": "https://xmlvalid.com/mcp"
}
}
}Puntos de conexión remotos
https://xmlvalid.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
🟢validate_xml(xml, url, schema, name, rules_version, ...)
Validate an XML document with xmlvalid: well-formedness, an XSD, DTD or RelaxNG schema, and for e-invoices the Schematron business rules of EN 16931, Peppol BIS, XRechnung, Factur-X and national formats. Pass the document as `xml` (its text) or `url` (a public http(s) address), and a `schema`: a catalog slug from search_schemas, a saved schema ("@orders-v3"), or "auto" to use the e-invoice profile the document names. Without a schema only well-formedness is checked. Returns valid, errors and warnings with line, column, message, rule and a help_url explaining each. Counts as one API validation of the key's monthly quota.
Esquema de entrada
{
"type": "object",
"properties": {
"xml": {
"description": "The XML document itself. Use url instead for a document on the web.",
"type": "string"
},
"url": {
"description": "A public http(s) URL of the document, fetched by xmlvalid.",
"type": "string"
},
"schema": {
"description": "A catalog slug (see search_schemas), \"@<name>\" for a saved schema, or \"auto\" for the e-invoice profile the document names. Leave out to check well-formedness only.",
"type": "string"
},
"name": {
"description": "A file name to show in the result, such as invoice-42.xml.",
"type": "string"
},
"rules_version": {
"description": "Pin Schematron rule sets to releases, as rule-set@version, comma-separated ([email protected]): the call fails with rules_version_mismatch when one has moved on. The result's rule_sets lists the releases that ran.",
"type": "string"
},
"wait": {
"description": "Seconds to wait for the result before returning a pending status to poll with get_validation.",
"default": 30,
"minimum": 0,
"maximum": 60,
"type": "integer"
}
}
}🟢get_validation(id)
The status and result of a validation started with validate_xml that was still running when it returned (status "queued" or "running"). Results are kept for 24 hours.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "The id validate_xml returned.",
"type": "string"
}
},
"required": [
"id"
]
}🟢search_schemas(query)
Search xmlvalid's catalog of official XML schemas (UBL, CII, Peppol, XRechnung, Factur-X, ISO 20022, HL7, sitemaps…) by name, namespace, root element or area. Returns each schema's slug to pass to validate_xml, its version and the business rules it checks. No API key needed.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"description": "Words to look for, such as \"peppol invoice\", \"xrechnung cii\" or \"pain.001\". Leave out to list the first schemas.",
"type": "string"
}
}
}🟢explain_error(message)
Explain an XML parsing or schema validation error message: what it means, why it happens and how to fix it, with an example. Understands libxml2 (xmllint, PHP, Python lxml, xmlvalid), Java (Xerces cvc-* codes, SAXParseException) and .NET (System.Xml) wording; paste the message as reported, stack trace prefix included. No API key needed.
Esquema de entrada
{
"type": "object",
"properties": {
"message": {
"description": "The error message, as the parser or validator reported it.",
"type": "string"
}
},
"required": [
"message"
]
}🟢explain_rule(id)
Explain an e-invoicing business rule by its id, such as BR-CO-15, BR-DE-1, PEPPOL-EN16931-R001 or a national CIUS rule: its message, level, the rule sets it belongs to, why invoices fail it and how to fix them. No API key needed.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "The rule id as the validator reports it, such as BR-CO-15.",
"type": "string"
}
},
"required": [
"id"
]
}Comunidad
Evidencia