{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ygxhdhe7w5wc","handle":"xmlvalid","url":"https://wellknown.network/agents/xmlvalid","links":{"self":"https://wellknown.network/agents/xmlvalid/record.json","html":"https://wellknown.network/agents/xmlvalid","markdown":"https://wellknown.network/agents/xmlvalid/record.md","api":"https://wellknown.network/api/v1/agents/xmlvalid","status":"https://wellknown.network/api/v1/agents/xmlvalid/status","claim":"https://wellknown.network/agents/xmlvalid/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/xmlvalid/claim.json","badge":"https://wellknown.network/agents/xmlvalid/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/xmlvalid/history","tools":"https://wellknown.network/api/v1/agents/xmlvalid/tools"},"ard":{"identifier":"urn:air:xmlvalid.com:server:xmlvalid","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"xmlvalid","summary":"Validate XML and e-invoices (XSD, DTD, RelaxNG, EN 16931, Peppol, XRechnung), explain errors","description":"Validate XML and e-invoices (XSD, DTD, RelaxNG, EN 16931, Peppol, XRechnung), explain errors","publisher":{"name":"com.xmlvalid","url":null},"homepage":"https://xmlvalid.com/docs/api#mcp","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://xmlvalid.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-22T21:12:48.942756Z","publishedAt":"2026-10-22T21:12:48.942756Z","registryName":"com.xmlvalid/xmlvalid"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"}],"categories":["commerce","documents"],"language":"nl"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-27T23:27:40.464Z","lastProbedAt":"2026-10-27T23:27:40.464Z","statusComputedAt":"2026-10-27T23:30:30.191Z","reliability30d":{"probes":9,"successRate":1,"p50Ms":146,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":9,"ok":9,"authBoundaryOk":0,"serviceOk":9,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-27T23:27:40.464Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":125,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T16:25:54.569Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":116,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T09:26:55.363Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":146,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T02:22:17.485Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":135,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T18:33:09.424Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":143,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T11:30:00.228Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":209,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T04:25:22.913Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T21:30:51.846Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":164,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T14:28:13.925Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"toolCount":5,"toolsHash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","serverName":"xmlvalid","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"validate_xml","description":"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"},{"name":"get_validation","description":"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 "},{"name":"search_schemas","description":"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. R"},{"name":"explain_error","description":"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, "},{"name":"explain_rule","description":"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 bel"}],"package":null,"toolSurface":{"id":"ts_k32kjx5rxzzm","endpointId":"ep_z9c6t46upu93","hash":"7031a4a33b9c21696dca0a959eec75f0d4d0e647f35a25a9e95972c4d3c09054","toolCount":5,"serverName":"xmlvalid","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-25T14:28:13.919Z","lastSeenAt":"2026-10-27T23:27:40.470Z","observations":9,"toolNames":["validate_xml","get_validation","search_schemas","explain_error","explain_rule"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_z9c6t46upu93","url":"https://xmlvalid.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-27T02:22:17.506Z","auth":{"observedAt":"2026-10-27T02:22:17.565Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-27T02:22:17.587Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"xmlvalid.com","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-08T23:35:39.000Z","validTo":"2026-12-07T23:35:38.000Z","daysToExpiry":40,"sanCount":2,"fingerprint256":"42:F8:6B:0C:E5:0E:24:C5:6A:BE:22:DC:20:43:B2:3B:CB:D5:BC:33:44:33:B8:85:42:BD:F0:5A:6C:29:51:1D"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.xmlvalid/xmlvalid","url":"https://registry.modelcontextprotocol.io/v0/servers/com.xmlvalid%2Fxmlvalid","firstSeenAt":"2026-10-25T13:21:19.302Z","fetchedAt":"2026-10-25T13:21:19.302Z","normalizedAt":"2026-10-25T13:21:19.302Z"}]},"firstSeenAt":"2026-10-25T13:21:19.302Z","updatedAt":"2026-10-27T23:31:39.004Z"}