About XRechnung Validator
XRechnung Validator is a stdio MCP server for validating electronic invoices through the checkxrechnung.com API. It serves users handling XRechnung XML and ZUGFeRD PDFs, and can also extract embedded XML with a summary and return rule-linked errors.
Key features
- 01Validate XRechnung XML and ZUGFeRD PDFs
- 02Validate ZUGFeRD PDFs separately
- 03Extract PDF XML and a JSON summary
- 04Return error locations, severity, and rule hints
Use cases
- 01Check UBL or CII XRechnung files
- 02Verify ZUGFeRD PDF/A-3 and compliance
- 03Extract embedded PDF XML for further processing
MCP support
It provides three MCP tools for invoice validation, ZUGFeRD validation, and XML extraction. The tools make network calls to the checkxrechnung.com API, which reports that data is not persisted.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| xml | string | No | XRechnung XML (UBL or CII) as a string. Use this or file_path. |
| file_path | string | No | Path to an XRechnung XML file or a ZUGFeRD PDF. Resolved by this process. |
Details
From the project READMExrechnung-validator-mcp
Stdio MCP server, package version 0.2.0. Tools:
validate_xrechnunguploads an XRechnung XML file (UBL or CII) or a ZUGFeRD PDF toPOST https://checkxrechnung.com/v1/validate(file_pathorxml).validate_zugferduploads a PDF toPOST https://checkxrechnung.com/v1/zugferd/validate(file_path). PDF/A-3 check, profile, EN 16931 CII Schematron,rule_url.extract_zugferduploads a PDF toPOST https://checkxrechnung.com/v1/zugferd/extract(file_path) and returns the raw XML plus a JSON summary.
The free limit is shared: 50 requests per IP per UTC day, 10 per minute. XML validation is 5 MB. The ZUGFeRD tools are 10 MB.
validate_xrechnung takes exactly one of file_path or xml. validate_zugferd and extract_zugferd take file_path only.
Validation output is valid plus errors[]. Each error has rule_id, severity, location, message, hint, and rule_url when a rule code is present. rule_url is the API value when the response includes rule_url or ruleUrl; otherwise https://checkxrechnung.com/fehler/<code> (lowercase). extract_zugferd returns ok, summary, and xml.
The service reports persisted: false. The tools call the network, so they are not a local read-only check. Batch volume: https://checkxrechnung.com/api-waitlist
Package name: xrechnung-validator-mcp. Registry name in server.json: io.github.wenboteng/xrechnung-validator (mcpName matches). Not submitted to the MCP registry yet. Build with npm run build (node dist/index.js) or, after publish, npx -y xrechnung-validator-mcp.
Claude Desktop
claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"xrechnung-validator": {
"command": "npx",
"args": ["-y", "xrechnung-validator-mcp"]
}
}
}
Cursor
~/.cursor/mcp.json or the project file .cursor/mcp.json:
{
"mcpServers": {
"xrechnung-validator": {
"command": "npx",
"args": ["-y", "xrechnung-validator-mcp"]
}
}
}
From a checkout, before the npm publish:
{
"mcpServers": {
"xrechnung-validator": {
"command": "node",
"args": ["mcp/dist/index.js"]
}
}
}
VS Code
.vscode/mcp.json:
{
"servers": {
"xrechnung-validator": {
"type": "stdio",
"command": "npx",
"args": ["-y", "xrechnung-validator-mcp"]
}
}
}
Docs: https://checkxrechnung.com/en/docs · Rules: https://checkxrechnung.com/fehler/ · OpenAPI: https://checkxrechnung.com/openapi.json
MIT. Copyright (c) 2026 Bobook Limited.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.