Sdcvalidator MCP server
io.github.SemanticDataCharter/sdcvalidator·v4.6.3·1 starsSDC4 structural validator with ExceptionalValue recovery; thin wrapper over xmlschema.
not scanned yet
1 stars114 downloads/wk
Reviews
Write oneNobody has reviewed Sdcvalidator yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Sdcvalidator tools
No tool declarations could be read from the package source. They show once the server is installed.
How Sdcvalidator compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 91/100
- higher than 85% of 48,255 servers
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 114
- more than 66% of 12,191 servers with a package
Release history: 5 versions in the registry since 2026-09-16, latest 2026-10-31, typically one every 6 days.
Install Sdcvalidator in Claude Code, Cursor or VS Code
claude mcp add sdcvalidator -- uvx sdcvalidator
What the publisher says
From the Sdcvalidator repository's README, as published. We do not edit it. Read it on GitHub
sdcvalidator
<!-- mcp-name: io.github.SemanticDataCharter/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 — only xsd: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
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) — Raises XMLSchemaParseError if 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
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Sdcvalidator: common questions
- Is Sdcvalidator MCP server safe?
- Yes, by our scan: it is graded A (91/100). Read the Sdcvalidator safety report
- How do I install Sdcvalidator?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Sdcvalidator need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Sdcvalidator maintained?
- The last commit was 48 days ago (2026-09-17). The latest release is v4.6.3.
- How does Sdcvalidator compare with other MCP servers?
- safety score 91/100 (higher than 85% of 48,255 servers); github stars 1 (more than 65% of 28,688 servers); downloads a week 114 (more than 66% of 12,191 servers with a package). Full comparison.