eleata e-invoice MCP server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@eleata e-invoice MCP serverValidate this Peppol invoice XML"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
eleata e-invoice MCP server
Validate EU electronic invoices and explain validation error codes directly from your AI coding agent (Claude, Cursor, Copilot, …). It wraps the hosted eleata validation API plus a bundled offline error-code reference.
Never ship a broken invoice. When you ask your agent "is this FatturaPA / XRechnung / Peppol file valid?", it runs the official Schematron rules and gets back the rule id and the fix — before a rejection (an SdI scarto, a Chorus Pro refusal, a KSeF error) ever happens.
Tools
Tool | What it does | API key |
| Validate one invoice (Peppol BIS 3.0, EN 16931 UBL/CII, XRechnung 3.0.x, Factur-X/ZUGFeRD, UBL, CII). Returns valid/invalid + each rule id, explanation and fix. | required |
| List the formats eleata validates today + roadmap. | none |
| Explain one error code (e.g. | none |
Related MCP server: Fintom8 E-Invoice MCP Server
Setup
Get a free API key (200 validations/month, no card) at https://eleata.io/signup/.
Add the server to your agent's MCP config.
Claude Desktop / Claude Code (claude_desktop_config.json or .mcp.json)
{
"mcpServers": {
"eleata-einvoice": {
"command": "npx",
"args": ["-y", "eleata-einvoice-mcp"],
"env": { "EINVOICE_API_KEY": "your_free_key_here" }
}
}
}Cursor (~/.cursor/mcp.json)
Same block as above.
Example prompts
"Validate this XRechnung file and tell me what to fix" (paste the XML)
"What does FatturaPA error 00400 mean and how do I fix it?"
"Which e-invoice formats can you validate today?"
Privacy
validate_einvoice sends the invoice you pass to the hosted eleata API for validation. list_formats
and explain_error_code are local/offline (the error-code reference is bundled). See
https://eleata.io/privacy/.
Links
Web validator, CLI and GitHub Action: https://eleata.io
Error-code reference: https://eleata.io/error/
CLI (
npx @eleata/validate-einvoice): same API, for CI/CD
MIT licensed. Schematron engines: Mustang / phive. Schematron rules from CEN, OpenPeppol, KoSIT.
Available Tools
3 toolsexplain_error_codeA
Explain a single e-invoice validation error code (e.g. a FatturaPA SdI control like 00400, or an XRechnung rule like BR-DE-21) in plain English, with the suggested fix and an example. Works offline; no API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | The rule id / error code, e.g. '00400', 'BR-DE-21', 'PEPPOL-EN16931-R053'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses offline operation and no API key requirement, which is valuable. However, it does not mention behavior on unknown error codes or rate limits, which would improve transparency for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence. Every word adds value: explains action, gives examples, states offline/no-key. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is nearly complete. It describes the output (plain English, fix, example) and usage context. Minor gap: it doesn't explicitly state that the output is text, but that's implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter. The description adds value by providing concrete examples (00400, BR-DE-21) and clarifying the parameter is for a single code. This goes beyond the schema's dry definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: explain a single e-invoice validation error code in plain English with fix and example. It distinguishes itself from siblings (list_formats, validate_einvoice) by focusing on error code explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Usage is implied (after validation errors), but no alternatives or exclusions are mentioned. The context from sibling tools makes it understandable but the description does not provide direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_formatsA
List the EU e-invoice formats eleata can validate today, plus what is on the roadmap (e.g. FatturaPA, KSeF). No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It discloses that the operation is a list (read-only) and that no API key is needed, which is valuable. However, it does not mention whether data is cached or any rate limits; for a simple list operation, this is acceptable but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences with no wasted words. It front-loads the core purpose and then adds the no-API-key detail. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values. It states what is listed but not the format (e.g., array of strings) or any pagination. For a simple tool, this is adequate but incomplete; the agent lacks full information about the expected response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the input schema is fully covered. The description adds meaning beyond the schema by specifying that the list includes both current formats and roadmap items, giving context to the output. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'EU e-invoice formats', including both current validation capabilities and roadmap items. It is specific and distinguishes itself from sibling tools (explain_error_code and validate_einvoice) by focusing on listing supported formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for discovering supported e-invoice formats and mentions no API key required, but does not explicitly compare to sibling tools or provide when-not-to-use guidance. It lacks explicit context on when to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_einvoiceA
Validate an EU electronic invoice against the official Schematron rules (Peppol BIS 3.0, EN 16931 UBL/CII, XRechnung 3.0.x, Factur-X/ZUGFeRD, UBL, CII). Returns whether it is valid and, for each violation, the rule id, a plain-English explanation and a suggested fix. Use this before a developer ships or transmits an invoice so a rejection (an SdI scarto, a Chorus Pro refusal, a KSeF error) is caught early. Requires EINVOICE_API_KEY (a free key from https://eleata.io/signup/).
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Format hint. Default: auto (the server sniffs XML vs PDF and the profile). | auto |
| is_pdf | No | Set true if `content` is a base64-encoded PDF (Factur-X/ZUGFeRD). Default false. | |
| content | Yes | The invoice to validate. For XML formats, the raw XML text. For a Factur-X / ZUGFeRD PDF, the base64-encoded PDF bytes (set is_pdf=true). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the validation behavior, return value structure, and authentication requirement. It does not mention side effects, rate limits, or cost, but for a read-only validation tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. It front-loads the core validation action and output, then usage guidance, then authentication. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains returns. All parameters are documented, and authentication is covered. It lacks detail on error handling or response format specifics, but overall sufficient for a validation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions. The main description adds overall purpose but does not significantly enhance parameter meaning beyond the schema descriptions. The API key is mentioned as an external requirement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates EU electronic invoices against multiple official standards, and lists what it returns (validity and violation details). However, it could better distinguish from sibling tool explain_error_code, which likely serves a complementary role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use before shipping or transmitting invoices to catch rejections early, and notes the required API key. It does not discuss when not to use or explicitly compare to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
explain_error_code - First observed
list_formats - First observed
validate_einvoice
TDQS
Each tool has a clearly distinct purpose: error code explanation, format listing, and invoice validation. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern: explain_error_code, list_formats, validate_einvoice.
3 tools is well-scoped for a focused e-invoice validation server, covering the core needs without excess.
The tool surface covers the full workflow: understanding formats, validating invoices, and interpreting errors. No obvious gaps for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Validate, generate & convert EU e-invoices (UBL, CII, XRechnung, Factur-X) — EN 16931 pre-validated.
Validate EU, UK, AU VAT numbers for AI agents. EU ViDA e-invoicing compliance.
Validiert E-Rechnungen (ZUGFeRD/Factur-X, XRechnung) gegen EN 16931 mit Korrekturvorschlägen.
Generate & validate EN 16931 e-invoices (Factur-X, ZUGFeRD, XRechnung); verification certificates
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceInvoiceXML brings e-invoice compliance to your AI agent. Create, validate, convert, render, and extract structured invoices across UBL (Peppol BIS Billing 3.0, used worldwide), CII, Factur-X, ZUGFeRD, and XRechnung, all checked against the EN 16931 standard and official Schematron rules. Ask your assistant to generate a compliant invoice, validate one for errors, or convert between formats, with n5MIT- AlicenseNot gradedqualityDmaintenanceEnables autonomous agents to validate, audit, and correct e-invoices against European standards (EN16931) and Peppol regulations.1MIT
- AlicenseAqualityCmaintenanceValidates electronic invoices (XRechnung, ZUGFeRD, Factur-X, Peppol BIS, etc.) against authority-pinned rules and explains failures.221MIT
- AlicenseNot gradedqualityCmaintenanceEU e-invoice validation, as a developer API. Check whether an electronic invoice conforms to EN 16931 — the European standard behind France, Germany, Belgium, Poland and the 2030 ViDA mandate — with a single REST call. Structured JSON errors mapped to the official BR-* business rules. No enterprise sales call required.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hernaninverso/eleata-einvoice-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server