Skip to main content
Glama
hernaninverso

eleata e-invoice MCP server

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_einvoice

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_formats

List the formats eleata validates today + roadmap.

none

explain_error_code

Explain one error code (e.g. 00400, BR-DE-21) in plain English, with the fix. Works offline.

none

Related MCP server: Fintom8 E-Invoice MCP Server

Setup

  1. Get a free API key (200 validations/month, no card) at https://eleata.io/signup/.

  2. 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/.

MIT licensed. Schematron engines: Mustang / phive. Schematron rules from CEN, OpenPeppol, KoSIT.

Available Tools

3 tools
explain_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYesThe rule id / error code, e.g. '00400', 'BR-DE-21', 'PEPPOL-EN16931-R053'.

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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/).

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoFormat hint. Default: auto (the server sniffs XML vs PDF and the profile).auto
is_pdfNoSet true if `content` is a base64-encoded PDF (Factur-X/ZUGFeRD). Default false.
contentYesThe 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

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

  1. 3 tool updatesv0.1.0
    • First observedexplain_error_code
    • First observedlist_formats
    • First observedvalidate_einvoice

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: error code explanation, format listing, and invoice validation. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: explain_error_code, list_formats, validate_einvoice.

Tool Count5/5

3 tools is well-scoped for a focused e-invoice validation server, covering the core needs without excess.

Completeness5/5

The tool surface covers the full workflow: understanding formats, validating invoices, and interpreting errors. No obvious gaps for the domain.

Maintenance

ActivityStale
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    InvoiceXML 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 n
    5
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Validates electronic invoices (XRechnung, ZUGFeRD, Factur-X, Peppol BIS, etc.) against authority-pinned rules and explains failures.
    2
    21
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    EU 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

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