mcpField
X
XRechnung Validator

XRechnung Validator

Local
checkxrechnung.comFinance0Updated 1w ago

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

  1. 01Validate XRechnung XML and ZUGFeRD PDFs
  2. 02Validate ZUGFeRD PDFs separately
  3. 03Extract PDF XML and a JSON summary
  4. 04Return error locations, severity, and rule hints

Use cases

  1. 01Check UBL or CII XRechnung files
  2. 02Verify ZUGFeRD PDF/A-3 and compliance
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"wenboteng-xrechnung-validator": {
"command": "npx",
"args": [
"-y",
"xrechnung-validator-mcp"
]
}
}
}
Run commandnpx -y xrechnung-validator-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmxrechnung-validator-mcp0.2.0

Tools

1

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
xmlstringNoXRechnung XML (UBL or CII) as a string. Use this or file_path.
file_pathstringNoPath to an XRechnung XML file or a ZUGFeRD PDF. Resolved by this process.

Details

From the project README

xrechnung-validator-mcp

Stdio MCP server, package version 0.2.0. Tools:

  • validate_xrechnung uploads an XRechnung XML file (UBL or CII) or a ZUGFeRD PDF to POST https://checkxrechnung.com/v1/validate (file_path or xml).
  • validate_zugferd uploads a PDF to POST https://checkxrechnung.com/v1/zugferd/validate (file_path). PDF/A-3 check, profile, EN 16931 CII Schematron, rule_url.
  • extract_zugferd uploads a PDF to POST 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

Markdown supported

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.