Skip to main content
Glama

Server Details

Vérifie une facture électronique (Factur-X, UBL, CII), un SIREN/SIRET, une TVA ; explique un rejet.

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
Uptime
100.0% over 14 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a distinct primary input/action, but there is notable overlap: verifier_tiers also checks VAT validity and verifier_tva also returns registry company data, so the boundary between the two checks is fuzzy. Similarly, valider_facture's 'correction attendue' output overlaps expliquer_code_rejet's explanatory role. The differing inputs (file vs. code vs. SIREN/SIRET vs. VAT) still make selection workable.

Naming Consistency5/5

All four tools follow a clean verb_noun snake_case pattern in French (expliquer_code_rejet, valider_facture, verifier_tiers, verifier_tva). Consistent use of 'verifier_' for registry/VAT checks and clear verb prefixes throughout.

Tool Count4/5

Four tools is lean but well-matched to a focused e-invoice validation service; each tool earns its place. Slightly thin — no bulk or maintenance operations — but not over-scoped.

Completeness4/5

Covers the core lifecycle of validation (validate a file, explain a rejection code, verify counterparty identity, verify VAT) with no obvious dead ends for the stated purpose. Minor gaps such as bulk validation or code-to-correction lookups in one call are workable around.

Available Tools

4 tools
expliquer_code_rejetExpliquer un code de rejet ou une règle de validationA
Read-only
Inspect

Traduit en clair un motif de rejet ou de refus de facture électronique (codes AFNOR XP Z12-012 : REJ_SEMAN, REJ_ADR, DEST_INC, NON_TRANSMISE, TX_TVA_ERR…) ou une règle de validation EN 16931 / française (BR-CO-15, BR-FR-10, BR-S-08…) : signification, action attendue, faut-il un avoir. Sans clé, données du site MaFactureOK.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode tel que reçu, par exemple REJ_SEMAN ou BR-CO-15

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds useful context beyond them: it names the returned content (signification, action attendue, faut-il un avoir) and discloses the data source/auth condition ('Sans clé, données du site MaFactureOK').

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?

One dense sentence, front-loaded on the action, with the code families and output content packed efficiently. It is long but every clause (code families, output fields, no-key note) carries 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?

With no output schema, the description must convey what comes back, and it does (meaning, expected action, whether a credit note is needed). Combined with the readOnly annotation and the data-source note, an agent has enough to call it correctly; only explicit alternative-routing guidance is missing.

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 100% and the single 'code' parameter already carries examples (REJ_SEMAN, BR-CO-15). The description's longer code enumeration reinforces the accepted format but adds little beyond the schema, so baseline 3 applies.

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 ('Traduit en clair') and a precise resource (rejection reasons / validation rules for electronic invoices), with concrete code families (AFNOR XP Z12-012, EN 16931, BR-CO-15). An agent can distinguish this explanatory tool from the sibling validators (valider_facture, verifier_tva) without opening the schema.

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 makes the usage context inferable ('un motif de rejet … tel que reçu') but never states when to call this instead of valider_facture or verifier_tiers, nor does it exclude any cases. Adequate implied usage, no explicit routing.

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

valider_factureVérifier une facture électronique (dépôt de fichier)A
Read-only
Inspect

Ouvre une carte de dépôt dans la conversation. L'utilisateur y glisse sa facture électronique (PDF Factur-X, XML UBL ou CII, 15 Mo au maximum) ; le fichier est envoyé directement à MaFactureOK, analysé puis effacé, et la carte affiche le verdict (valide, à vérifier, invalide), chaque anomalie en français avec la correction attendue, et l'état des entreprises de la facture au registre officiel. À appeler dès que l'utilisateur veut vérifier, valider ou comprendre le rejet d'une facture qu'il possède en fichier. Aucun argument : le fichier n'est jamais transmis par le modèle.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only supply readOnlyHint and openWorldHint; the description goes well beyond them by disclosing the interaction model (a drag-and-drop card, not a model-supplied argument), the 15 MB size cap, that the file goes directly to the third-party MaFactureOK service and is deleted after analysis, and exactly what the card returns (verdict, per-anomaly French explanations with expected correction, company registry status).

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?

It is one dense but well-ordered paragraph: mechanism first, then output, then the usage trigger, then the no-argument note. Every clause carries information, though the single-block format and long sentence make it slightly harder to scan than a split structure would.

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?

With no output schema, the description fully carries the return contract (verdict values, anomaly explanations, registry status) and the input contract (formats, size limit, privacy handling). Nothing needed to invoke or interpret the result 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?

The schema is empty (0 parameters), so the baseline is 4, but the description adds real meaning: "Aucun argument : le fichier n'est jamais transmis par le modèle" explains both the absence of parameters and the mechanism by which input reaches the tool, removing any temptation for the agent to construct a file argument.

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 (opens an upload card to verify an e-invoice) and names the accepted formats (PDF Factur-X, XML UBL/CII), the verdict outcomes, and the registry check. This clearly separates it from the sibling checks verifier_tva, verifier_tiers and expliquer_code_rejet.

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?

"À appeler dès que l'utilisateur veut vérifier, valider ou comprendre le rejet d'une facture qu'il possède en fichier" gives an explicit trigger plus an implicit boundary (the invoice must exist as a file). It never names the sibling tools as alternatives, so the routing is inferred rather than spelled out.

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

verifier_tiersVérifier une entreprise (SIREN ou SIRET)A
Read-only
Inspect

Vérifie un ou plusieurs SIREN (9 chiffres) ou SIRET (14 chiffres) au registre officiel des entreprises et auprès de VIES : existe-t-elle, est-elle active ou cessée, sous quel nom et à quelle adresse, son numéro de TVA est-il valide. À utiliser avant de payer une facture ou de créer un client. Sans clé : 5 identifiants par appel, 30 par jour. Avec une clé gratuite (https://mafactureok.com/api) : 25 par appel, 200 par jour.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifiantsYesSIREN ou SIRET, espaces et points tolérés

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety and openness (readOnlyHint=true, openWorldHint=true), yet the description still adds substantive behavior: two external data sources, quota tiers per call/per day, and how to lift the limit via a free key. It does not explain batch-failure semantics for the up-to-25 identifiers, which is the main remaining gap.

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: purpose and return contents first, then the usage trigger, then quota and key information. Every clause carries information an agent needs, and nothing is repeated from the schema or annotations.

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 single-parameter, read-only, no-output-schema tool, the description covers purpose, trigger, data sources, and quota constraints. Return-value shape is unnecessary given the enumerated checks, and error-code interpretation is plausibly delegated to the sibling expliquer_code_rejet.

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% and the schema already states that SIREN or SIRET strings are accepted with spaces and dots tolerated. The description adds digit-length semantics (9 for SIREN, 14 for SIRET) and confirms plural input, which the schema does not state, so it earns a step above the baseline 3.

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 a specific verb and resource (verifying SIREN/SIRET against the official registry and VIES) and enumerates exactly what is returned: existence, active/ceased status, name, address, and VAT validity. It is clear on its own, but it never distinguishes itself from the sibling verifier_tva, which overlaps on the VAT-validity check.

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 gives an explicit triggering context ('À utiliser avant de payer une facture ou de créer un client'), which is real decision guidance rather than generic filler. It stops short of naming alternatives or exclusions, so nothing tells the agent when to prefer verifier_tva or valider_facture over this tool.

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

verifier_tvaVérifier un numéro de TVA intracommunautaire françaisA
Read-only
Inspect

Vérifie un numéro de TVA intracommunautaire français (FR + 2 caractères + 9 chiffres) : clé de contrôle, validité auprès du service européen VIES, et entreprise associée au registre officiel (nom, adresse, active ou cessée). Numéros français uniquement ; pour un autre pays, utiliser VIES directement. Sans clé : quota réduit ; clé gratuite facultative.

ParametersJSON Schema
NameRequiredDescriptionDefault
numeroYesNuméro de TVA, par exemple FR42456500537 ; espaces tolérés

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds substantive behaviour: the three-stage verification pipeline, the returned company fields (nom, adresse, active ou cessée), the reduced quota without a key, and the free optional key as an authentication path. That is well beyond what the annotations convey.

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 dense sentence, front-loaded with the operation and format, then the scope exclusion, then the quota caveat. No filler and nothing buried.

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?

With no output schema, the description carries the return-value burden and does so by naming the three verification stages and the company fields returned. For a one-parameter read-only tool, an agent has everything needed to invoke it and interpret the result.

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?

Only one parameter, and the schema already documents it at 100% coverage with an example and space tolerance. The description still adds a structural breakdown of the expected value ('FR + 2 caractères + 9 chiffres'), which helps an agent construct or pre-validate input, so it edges above the baseline 3.

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 (Vérifie) and resource (numéro de TVA intracommunautaire français) and enumerates the three checks performed: control key, VIES validity, and associated company in the official registry. The scope restriction 'Numéros français uniquement' cleanly separates it from a generic VIES lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit exclusion and alternative: 'Numéros français uniquement ; pour un autre pays, utiliser VIES directement.' It also flags the authentication condition ('Sans clé : quota réduit ; clé gratuite facultative'), so an agent knows both when to call it and how quotas shape the call.

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. 4 tool updates
    • First observedexpliquer_code_rejet
    • First observedvalider_facture
    • First observedverifier_tiers
    • First observedverifier_tva

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Read and check European e-invoices (Factur-X, ZUGFeRD, XRechnung, UBL, CII) from an AI assistant: contents in plain text plus an EN 16931 consistency check.
    2
    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
    17 npm
    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
    165 npm
    MIT
  • 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
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources