MCP server documentation
Validate, create, convert and extract e-invoices from Claude, ChatGPT and other MCP clients
The remote MCP server connects an AI assistant to the Electronic Invoice API. You sign in once with your own API key; after that the assistant can validate XRechnung and ZUGFeRD invoices, create them from your data, convert and export them. This page covers setup, tools, supported formats and troubleshooting.
Server
| URL | https://mcp.electronic-invoice.app/mcp (Streamable HTTP) |
|---|---|
| MCP Registry | Listed in the official MCP Registry as app.electronic-invoice/mcp |
| Sign-in | OAuth 2.1, or Authorization: Bearer with your API key for direct clients |
| Without sign-in | Service status and limits tools |
| For | Businesses only (B2B) |
Sign-in and API key
The MCP server has no accounts of its own. You create an API key in the console. When the assistant first uses a protected tool, it opens a sign-in page on mcp.electronic-invoice.app, where you enter that key. For the duration of the connection the key is stored only AES-GCM encrypted. It is deleted when you revoke the connection or when it expires.
Clients that do not support OAuth can send the key directly as Authorization: Bearer eia_live_.... The tools for service status and limits work without any sign-in.
Set up
Menu names change between versions; if a label differs, look for the equivalent entry.
Claude
- Open Settings or Customize, then Connectors.
- Choose Add custom connector and enter
https://mcp.electronic-invoice.app/mcp. - In a chat, ask for something that needs an invoice tool. On first use of a protected tool, Claude asks you to connect; sign in with your API key.
ChatGPT
At the moment this works through developer mode: in Settings, Apps, create an app with the server URL and choose OAuth as the authentication. The exact steps depend on your plan and workspace settings.
Other clients
Any client that supports remote MCP servers over Streamable HTTP can use the URL. Choose OAuth if offered, or set the bearer header with your API key.
Tools
| Tool | What it does |
|---|---|
validate_invoice | Checks an e-invoice (XML or PDF) and returns the verdict and findings with rule ID |
generate_invoice | Creates an XRechnung (UBL or CII) or a ZUGFeRD/Factur-X PDF from invoice data as JSON |
convert_invoice | Converts UBL to CII, CII to UBL, or XML to PDF |
extract_invoice | Reads invoice data as JSON, CSV or a DATEV export |
open_invoice_check | Opens an upload field in the chat, for clients that cannot pass files to the tool (for example Claude) |
get_service_status | Service status and rule set versions, no sign-in needed |
get_usage_limits | Technical limits (rate, size, billable status codes), no sign-in needed |
Supported formats for validation
The MCP server checks the same formats as the API: XRechnung, EN 16931, Peppol BIS, NLCIUS, CIUS-RO, French CIUS rules, ZUGFeRD/Factur-X, and Italy and Poland against the schema only. The table with the scope of the check per format is on the API page. Creating invoices is limited to XRechnung and ZUGFeRD/Factur-X. The server does not send invoices and has no Peppol access.
Example prompts
- "Is this e-invoice valid?" with a PDF or XML file attached. In Claude the assistant opens the upload field.
- "Create an XRechnung (CII) for Muster GmbH, 3 hours of consulting at EUR 120, 19 percent VAT, buyer reference 04011000-12345-34." Then check the data the assistant lists before you use the file.
- "Convert this UBL invoice to CII."
- "Export this invoice as a DATEV booking batch."
- "Which rule is violated here, and what do I have to change in the XML?"
- "Is the invoice service up, and what are the rate and size limits?"
Quota and costs
Each billable call counts against the quota of your plan, exactly like a direct API call. Plans and limits are listed on the API page. Opening the upload field is free; a check counts once you start it.
Troubleshooting
- Sign-in loop: the key was rejected or is revoked. Create a new key in the console, remove the connector in the client and add it again. Enter the key on the sign-in page only, not in the connector settings.
- 401 error: the key is missing, wrong or revoked. Reconnect with an active key; with a bearer header, check the header value.
- 429 quota exceeded: the monthly quota of your plan is used up. Wait for the next period or change the plan. For a 429 with a wait time (rate limit), try again after the stated seconds.
- File not passed: the client cannot hand the file to the tool. Ask the assistant to open the invoice check; it shows an upload field in the chat.
- Result looks wrong: ask for the findings with rule IDs and compare them with the invoice. Findings are the output of the official rules, not a statement about your contract or tax position.
Still stuck? Write to us via the contact page.
Privacy and terms
Which data is processed, where and for how long is described in the privacy policy, section on the MCP server. The API terms apply. If you put an invoice in a chat, the provider of the assistant also sees it; its terms apply to that.
Note: checks and results are technical aids, not legal or tax advice.