Skip to main content
Glama

Server Details

Free, read-only e-invoicing data: mandate dates, Peppol providers, validation-error explainers.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 7 tools

Disambiguation4/5

Most tools target clearly distinct information needs: deadlines, Peppol directory counts, validation errors, foreign-supplier scope, access-point lookup, and provider details. The main friction is between 'provider' (profile by name/id) and 'providers' (country listing), and there is some conceptual overlap between 'lookup_access_point' and provider metadata, though the descriptions clarify the boundaries.

Naming Consistency3/5

The set mixes noun-only names like 'deadlines' and 'provider'/'providers' with verb_noun names like 'explain_validation_error' and 'lookup_access_point'. Singular/plural inconsistency between 'provider' and 'providers' adds minor unpredictability, but names remain readable and mostly self-explanatory.

Tool Count5/5

Seven tools is a well-scoped count for this informational e-invoicing reference server. Each tool appears to earn its place by covering a specific query type without excessive breadth.

Completeness4/5

The surface covers country deadlines, foreign-supplier obligations, Peppol directory counts, validation-rule explanations, access-point lookup, and provider listing/profile. Minor gaps remain, such as a general country e-invoicing-system overview or a way to enumerate validation rules, but core reference workflows are supported.

Available Tools

7 tools
deadlinesE-invoicing mandate datesA
Read-onlyIdempotent
Inspect

Dates when e-invoicing becomes mandatory, per country (or all countries), each with its official source_url and the date it was checked. Country is a two-letter code such as 'be', 'de', 'ae' or a country name; leave it out for all countries.

NameRequiredDescriptionDefault
countryNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds that records are sourced with an official source_url and a checked date, which is meaningful trust context, but it says nothing about freshness policy, ordering, or behavior for countries with no mandate.

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?

Two sentences, front-loaded with what the tool returns and followed by parameter guidance; every clause carries information an agent needs and nothing is redundant.

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 single optional parameter with an output schema and read-only annotations, the description covers format, default behavior, and the shape of each record. Minor gaps remain around error handling for invalid country values and result ordering.

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 description coverage is 0%, so the description must carry the parameter — and it does, specifying accepted forms (two-letter code such as 'be', 'de', 'ae', or a country name) and that omitting it returns all countries. It stops short of covering case sensitivity or unknown-country behavior.

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 names the specific resource (e-invoicing mandate dates) and its granularity (per country or all countries), plus the payload each record carries (source_url and check date). It does not explicitly distinguish itself from siblings like foreign_supplier_scope, but the purpose is unmistakable.

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?

'Leave it out for all countries' gives clear guidance on the no-argument case, but there is no statement of when to reach for this tool versus the related scope/provider tools, and no exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

directory_countsPeppol Directory countsA
Read-onlyIdempotent
Inspect

How many businesses are listed in the Peppol network directory, per country, with the change since the last day (source: Peppol Directory (OpenPeppol AISBL)). Country is a two-letter code or 'all'; leave it out for every country.

NameRequiredDescriptionDefault
countryNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds useful context beyond that: the data source (Peppol Directory / OpenPeppol AISBL) and that each count carries the change since the previous day, which shapes how the agent should interpret results.

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?

Two sentences, no filler, with what is measured and the change metric front-loaded before the parameter note. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape need not be described; the description covers what is counted, the source, the daily-delta semantic, and the full parameter behavior. Nothing needed to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the param has only a null default, so the description carries the full burden — and it does: accepted values are a two-letter country code or 'all', and omission means all countries. That is exactly the semantics the schema lacks.

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 gives a precise verb+resource: counts of businesses listed in the Peppol network directory, broken down per country with day-over-day change. An agent can tell this apart from lookup/provider siblings by the 'counts per country' framing, though no sibling is named explicitly.

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 states that country is a two-letter code or 'all', and that omitting it returns every country, which is the only branching decision this tool has. It does not name alternatives or when-not-to-use, but for a single-purpose read tool the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_validation_errorExplain an e-invoice validation errorA
Read-onlyIdempotent
Inspect

Plain-language explanation of a common e-invoice validation rule such as 'BR-CO-10' or 'PEPPOL-EN16931-R120': what it means, usual causes, how to fix it and who fixes it.

NameRequiredDescriptionDefault
codeYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description usefully adds what the response will contain (meaning, usual causes, fix, and who is responsible for the fix), which is behavioral context beyond the annotations.

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?

One dense sentence with the purpose front-loaded and examples placed immediately after the resource, so the format hint arrives before any schema lookup is needed. No filler.

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?

An output schema exists, so return values need not be spelled out, and the description still previews the four content sections of the answer. Complete enough for a one-parameter lookup tool; the only missing piece is guidance on invalid or unknown codes.

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 0% for the single required 'code' parameter, so the description carries the burden — and it does supply concrete example values that convey the expected code format. It stops short of stating the accepted code systems, case sensitivity, or behavior on an unrecognized code.

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?

States a specific verb ('explain') and a specific resource (an e-invoice validation rule code), and even names the standard families the codes come from ('BR-CO-10', 'PEPPOL-EN16931-R120'). No sibling tool ('deadlines', 'providers', 'lookup_access_point') could be mistaken for this one.

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?

Usage is only implied: an agent can infer it should call this when it has a validation error code in hand, but the description never says when to use it versus other routes, nor what to do if the code is unknown or unrecognized.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foreign_supplier_scopeDo foreign suppliers have to e-invoice?A
Read-onlyIdempotent
Inspect

Whether a supplier with no establishment in a country must e-invoice there, from our 47-country table: the system, the B2B status and what applies to foreign suppliers, with official sources. Country is a two-letter code or an English name.

NameRequiredDescriptionDefault
countryYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds useful context beyond that: it draws from a 47-country table and includes official sources, which tells the agent the answer is authoritative and reference-oriented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single dense sentence with the core scope front-loaded. It is efficient, though the clause about returned contents is slightly packed in and could be clearer.

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?

With an output schema present, the description need not explain return structure, but it does summarize the included fields. The main remaining gap is a brief note on country-code normalization or error handling, but overall the definition is sufficient for a safe lookup call.

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 description coverage is 0%, so the description must carry parameter meaning. It does by stating the country input accepts a two-letter code or an English name, which is essential for correct invocation. It does not describe invalid-input behavior, keeping it below a 5.

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 states a precise question-domain: whether a supplier with no establishment in a country must e-invoice there, plus the data returned (system, B2B status, foreign-supplier applicability). This is clearly distinguishable from siblings like deadlines or providers.

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 implied use case is clear from the tool title and description, but there is no explicit 'use this when' or comparison to sibling tools. An agent can infer it is a country-scoped lookup, but the routing guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_access_pointWhich provider receives a company's e-invoices?A
Read-onlyIdempotent
Inspect

For a business identifier you give (for example a Belgian company number or a Peppol ID such as 0208:0521875440), find the access-point provider that receives its e-invoices on the Peppol network: provider organisation, SMP host, document types, certificate validity. Provider metadata only. Limited per day; when the limit is reached the answer points to the free lookup on the website. Country is an optional two-letter hint.

NameRequiredDescriptionDefault
countryNo
identifierYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (which already mark it read-only, idempotent, open-world, non-destructive) by disclosing a daily rate limit and the graceful degradation path when the limit is hit (answer points to the free web lookup). It also tells the agent that returned data includes certificate validity, which signals freshness-sensitive metadata rather than a live transaction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the identifier argument, followed by short, purposeful sentences on scope, rate limits, and the optional hint. The opening sentence is dense with a nested parenthetical and a colon-list, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter lookup with an output schema already present, the description covers everything an agent needs: what input to supply, what comes back at a conceptual level, the read-only metadata scope, and the rate-limit failure mode. No significant gap remains.

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 description coverage is 0%, so the description carries the burden and mostly does: it explains the identifier with concrete examples (Belgian company number, Peppol ID 0208:0521875440) and defines country as an optional two-letter hint. It stops short of giving explicit format constraints or noting that country may disambiguate identifier collisions.

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?

States a concrete verb and resource: find the access-point provider that receives a given business identifier's e-invoices on the Peppol network. It also enumerates the returned fields (provider organisation, SMP host, document types, certificate validity) and scopes the tool with 'Provider metadata only', which separates it from sibling tools like providers/provider that presumably list or manage provider records.

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?

Clearly frames the trigger condition: you have a business identifier (company number or Peppol ID) and want to know which access point receives its invoices. The 'Provider metadata only' clause functions as a scope exclusion, and the rate-limit sentence tells the agent what happens at the boundary, but no sibling tool is named as an alternative for related questions (e.g. provider catalogue browsing).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

providerOne provider's profileA
Read-onlyIdempotent
Inspect

Profile of one tracked provider by name or id (for example 'billit'): what it can do, formats, languages, free plan and prices, each price with its source and check date.

NameRequiredDescriptionDefault
name_or_slugYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered structurally. The description adds some domain context — that prices carry a source and check date, hinting at data freshness — but says nothing about what happens when the name is unknown, or about rate limits and result size.

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?

A single front-loaded sentence that states the lookup key first and the returned payload second. No filler, no restatement of the title.

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 one-parameter, read-only lookup with an output schema that already documents return shape, the description covers purpose and payload scope adequately. The only real gap is the slug-vs-id naming mismatch and the lack of not-found behavior, which are minor at this complexity.

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 description coverage is 0%, so the description must carry the parameter, and it does partially: 'by name or id (for example 'billit')' gives a concrete example. However, the parameter is named 'name_or_slug' while the description says 'name or id', an unresolved slug-vs-id ambiguity that leaves format expectations unclear.

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 names the resource (one tracked provider), the lookup key (name or id), and enumerates the returned content: capabilities, formats, languages, free plan, and prices with source and check date. That is far more specific than the bare name 'provider' and implicitly separates it from the sibling 'providers' list tool, though it never names that sibling explicitly.

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?

Usage is only implied: an agent can infer this is the per-entity lookup to use once it has a name or id, versus the 'providers' sibling for enumeration. No explicit when-to-use, when-not-to-use, or alternative routing statement is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

providersTracked e-invoicing providersA
Read-onlyIdempotent
Inspect

E-invoicing providers we track in a country (two-letter code), alphabetical by product name, with a link to each provider's page. The order never depends on payment; ads and affiliate links are not included.

NameRequiredDescriptionDefault
countryYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavioral context beyond the annotations: results are alphabetical by product name, ordering is independent of payment, and ads/affiliate links are excluded. These are non-obvious guarantees that help the agent trust the output. It does not describe edge cases such as countries with no tracked providers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences front-load the core purpose. The second sentence about payment neutrality is relevant but slightly tangential; overall it is well-sized with no wasted clauses.

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, read-only, single-parameter listing tool with an output schema, the description covers purpose, parameter format, ordering, and output contents (page link). Minor gaps around empty-result behavior or country coverage prevent a 5.

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?

With 0% schema description coverage, the description must compensate, and it does by specifying that the country parameter is a two-letter code. That is the key semantic detail absent from the schema. It does not mention case sensitivity or invalid-code behavior.

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 states the resource (tracked e-invoicing providers) and the scoping dimension (country), along with ordering and output contents. It clearly implies a listing operation, but it does not explicitly distinguish itself from the singular sibling tool 'provider', which likely returns a single provider's details.

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?

Usage is implied: use this to find providers in a given country. However, there is no explicit guidance on when not to use it or how it differs from the sibling 'provider' tool, leaving selection partly to inference.

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.

  1. 7 tool updates
    • First observeddeadlines
    • First observeddirectory_counts
    • First observedexplain_validation_error
    • First observedforeign_supplier_scope
    • First observedlookup_access_point
    • First observedprovider
    • First observedproviders

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides free read-only business checks for IBANs, EU VAT number format, Peppol e-invoice rules, supplier bank-detail changes, and CSV/XLSX data cleaning.
    MIT
  • A
    license
    Not graded
    quality
    D
    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
  • A
    license
    A
    quality
    A
    maintenance
    Reads and validates any European e-invoice a business receives — XRechnung, UBL, CII, ZUGFeRD/Factur-X PDF, Peppol BIS 3, FatturaPA, KSeF FA(3) — into canonical EN 16931 JSON with plain-language fix hints in EN/DE/PL/IT/FR, plus PDF, CSV and DATEV export. Nothing is stored; works without a key on a small daily quota.
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Validates EU electronic invoices (Peppol, XRechnung, FatturaPA, etc.) and explains validation error codes, enabling AI coding agents to check invoice validity and get fixes before rejection.
    3
    39 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources