MCP Server

Give an AI agent direct, self-validating access to EU e-invoice validation, generation, and conversion.

Connect

InvoiceHub hosts a Model Context Protocol (MCP) server over Streamable HTTP JSON-RPC 2.0 at https://api.invoicehub.dev/mcp. No install, no API key required for validate_invoice or generate_invoice.

In Claude Desktop, claude.ai, or any MCP-compatible client, add:

{ "mcpServers": { "invoicehub": { "url": "https://api.invoicehub.dev/mcp" } } }

Server manifest: /.well-known/mcp/server.json

Tools

validate_invoice

Validate a UBL 2.1 invoice or credit note XML string against the official EN 16931 Schematron. Free, unauthenticated.

curl -X POST https://api.invoicehub.dev/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"validate_invoice","arguments":{"xml":"<Invoice …>…</Invoice>"}}}'

generate_invoice

Generate an EN 16931-conformant UBL 2.1 invoice from structured fields — self-validated before being returned. Free, unauthenticated.

curl -X POST https://api.invoicehub.dev/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"generate_invoice","arguments":{
         "invoiceNumber":"INV-001","issueDate":"2026-06-19","currency":"EUR",
         "seller":{"name":"Acme GmbH","vatId":"DE123456789","address":{"country":"DE"}},
         "buyer":{"name":"Buyer SARL","address":{"country":"FR"}},
         "lines":[{"description":"Consulting","quantity":1,"unitPrice":1000,"vatRate":19}]
       }}}'

convert_invoice

Convert between formats via the shared canonical model: parse the source document, re-serialize as the target, validate the result before returning it. Format ids: UBL_2.1, UN_CEFACT_CII, XRechnung_UBL, XRechnung_CII, Factur-X (base64 in both directions — it's a PDF). Query the live list for current availability.

Targets beyond plain UBL_2.1 require an API key on the Pro plan or above — the same key you use for the REST API. Pass it as an Authorization: Bearer header.

curl -X POST https://api.invoicehub.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ih_live_xxx" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"convert_invoice","arguments":{
         "from":"UBL_2.1","to":"XRechnung_UBL","document":"<Invoice …>…</Invoice>"
       }}}'

list_supported_formats

List the e-invoice formats InvoiceHub supports today, rendered from the same live registry as GET /api/v1/formats. Free, unauthenticated.

Registries

InvoiceHub is listed in public MCP directories via its manifest at /.well-known/mcp/server.json. See also /llms.txt for a plain-text summary aimed at LLM crawlers.

Need the REST API instead?

Read the full API reference for /validate, /generate, and /convert.