sdcvalidator
OfficialValidates XML instance documents against XSD schemas, checks SDC4 schema compliance, and classifies validation errors into structural and semantic tiers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sdcvalidatorValidate my SDC4 XML instance against the schema and show errors."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
sdcvalidator
SDC4 structural validator — a thin wrapper over xmlschema with two-tier error classification.
What it does
Validates XML instances against SDC4 XSD schemas
Classifies errors into structural (Tier 1: reject) vs semantic (Tier 2: report)
Checks SDC4 schema compliance (no
xsd:extension— onlyxsd:restriction)Strict validation by default — catches invalid restriction derivations (wrong element names, type mismatches) at schema load time
Converts between XML and JSON using schema-aware conversion
Related MCP server: Validator Ai MCP
Install
pip install sdcvalidatorOr from source:
git clone https://github.com/SemanticDataCharter/sdcvalidator.git
cd sdcvalidator
pip install -e .Python API
from sdcvalidator import SDC4Validator, ErrorTier
# Validate an XML instance (strict mode by default)
validator = SDC4Validator("my_schema.xsd")
result = validator.validate("my_instance.xml")
if result.is_valid:
print("Valid!")
else:
for err in result.structural_errors:
print(f"STRUCTURAL: {err.reason}")
for err in result.semantic_errors:
print(f"SEMANTIC: {err.reason}")Validation modes
The validation parameter controls how strictly the XSD schema itself is checked when loaded:
'strict'(default) — RaisesXMLSchemaParseErrorif the schema contains invalid restriction derivations (e.g., element names that don't match the base type). This is the recommended mode.'lax'— Silently collects schema derivation errors without raising. Use only for pre-existing schemas known to have issues.'skip'— Skips schema-level validation entirely.
# Explicit lax mode for legacy schemas
validator = SDC4Validator("legacy_schema.xsd", validation='lax')Schema compliance checking
from sdcvalidator import validate_sdc4_schema_compliance, assert_sdc4_schema_compliance
# Check if a schema uses xsd:extension (not allowed in SDC4)
is_valid, errors = validate_sdc4_schema_compliance("schema.xsd")
# Or raise an exception
assert_sdc4_schema_compliance("schema.xsd")Error classification
from sdcvalidator import ErrorClassifier, ErrorTier
classifier = ErrorClassifier()
tier = classifier.classify(some_xmlschema_error)
# ErrorTier.STRUCTURAL or ErrorTier.SEMANTICXML/JSON conversion
from sdcvalidator.converters import xml_to_json, json_to_xml
# XML -> JSON (schema-aware)
data = xml_to_json("instance.xml", schema_path="schema.xsd")
# JSON -> XML
json_to_xml(data, "schema.xsd", "output.xml")CLI
sdcvalidate — Validate XML against schema
# Basic validation
sdcvalidate schema.xsd instance.xml
# JSON output
sdcvalidate schema.xsd instance.xml --json
# Skip SDC4 compliance check
sdcvalidate --no-compliance-check schema.xsd instance.xmlExit codes: 0 valid, 1 semantic errors only, 2 structural errors.
sdcvalidator-xml2json — Convert XML to JSON
sdcvalidator-xml2json instance.xml --schema schema.xsd
sdcvalidator-xml2json instance.xml -o output.jsonsdcvalidator-json2xml — Convert JSON to XML
sdcvalidator-json2xml data.json schema.xsd -o output.xmlMCP Server
sdcvalidator ships a stdio MCP (Model Context Protocol) server so any MCP-capable agent can validate SDC4 data without importing the Python library. It implements JSON-RPC 2.0 directly over stdio — no external MCP SDK dependency.
sdcvalidator-mcp serve --mcpTools
Tool | Purpose |
| Validate an XML instance against its SDC4 XSD schema. Returns pass/fail with error count and classified errors. |
| Validate an instance and return a detailed report with two-tier (structural vs semantic) error classification. |
| Check whether an XSD schema follows SDC4 principles (restriction only, no |
validate_instance and validate_and_report take schema_path and instance_path, plus an optional check_compliance boolean (default true). check_schema_compliance takes schema_path only.
Two-Tier Error Classification
Tier | Type | Examples | Action |
1 | Structural | Unknown elements, cardinality violations, wrong nesting | Reject |
2 | Semantic | Type errors, pattern violations, enumeration mismatches | Report |
SDC4 Schema Compliance
SDC4 data models must use xsd:restriction only — never xsd:extension. This enforces separation of structure (reference model) and semantics (data models), guaranteeing global interoperability.
The validator checks this by default and rejects schemas that violate this principle.
Status
Production-ready. Available on PyPI under Apache 2.0.
License
Apache License 2.0 — see LICENSE.
Links
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
Evidence-readiness MCP server: validate, audit, and score briefs, memos, and evidence packs.
JSON Schema validation MCP.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Related MCP Servers
- AlicenseAqualityAmaintenanceModel Context Protocol (MCP) server for German Electronic Invoicing (ZUGFeRD 2.x / XRechnung 3.x). Provides tools to validate, generate, parse, and convert invoices compliant with EN 16931 and KoSIT.502Apache 2.0
- AlicenseNot gradedqualityBmaintenanceAn MCP server for validating JSON against schemas, checking email deliverability, verifying URLs, assessing data quality, and validating API responses using RFC-compliant checks and heuristic analysis.12MIT
- FlicenseNot gradedqualityBmaintenanceVAST validation MCP server that checks ad tags against IAB VAST specifications, returning structured JSON with rule IDs, XPath locations, and spec references.18
- AlicenseNot gradedqualityAmaintenanceA stateless MCP server for composing, validating, auditing, and rendering consequential documents from a small semantic model.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SemanticDataCharter/sdcvalidator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server