Skip to main content
Glama
Invoket
by Invoket

Check Peppol e-invoicing reachability

company_peppol

Check if a company can receive Peppol e-invoices by SIREN, SIRET, or participant ID. Get reachability status and accepted document types.

Instructions

Check whether a company can receive e-invoices on the Peppol network before you send one: participant identifiers and accepted document types from the official Peppol Directory export, by SIREN, SIRET or explicit Peppol participant ID. 'Not registered' is a paid, dated answer. No account, no key. Price: $0.01 per call First call each day free (trial). Docs: https://invoket.com/docs/api/company-peppol

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sirenYes9-digit SIREN of the French legal unit. Provide exactly one of 'siren', 'siret' (14 digits, matched on its SIREN prefix) or 'participant' ('<icd>:<value>', explicit Peppol participant ID, any country - e.g. '0009:33328563300033'). Malformed input is a 400 (INVALID_INPUT), a failed Luhn checksum is a 400 (INVALID_CHECKSUM, likely a typo). An identifier absent from the directory is NOT a 404: it is a successful 'reachable: false' answer (200, billed). The only 404 on this route is a well-formed 'siret' or 'siren' that does not exist in the Sirene register (a mistyped number, or an ERP filler value such as 000000000) - not billed, same answer as /company/resolve; 'participant' has no existence check (any country)
Behavior5/5

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

With no annotations provided, the description carries the full burden and does an excellent job. It discloses billing behavior ($0.01, first call free), the nuanced status semantics (absent from directory is a successful 200, not a 404; only non-existent Sirene identifiers are 404 and not billed), error codes (400 INVALID_INPUT, INVALID_CHECKSUM), and Luhn checksum validation. This is exceptional depth for a description.

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 description is dense but well-organized. The first sentence front-loads the core purpose, followed by pricing and docs link. The parameter detail lives in the schema where it belongs. It's lengthy but every clause carries meaning; the behavioral details earn their place given the complexity of the paid/404 nuances.

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 tool with a 100% schema-covered parameter and no output schema, the description fully covers what's needed: the check itself, the billing model, error cases, and identifier variants. There's no output schema, but the description mentions what's returned (participant identifiers, accepted document types, reachable flag) adequately. Very complete for its complexity.

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?

The schema has 100% coverage with a single detailed parameter description. The description reinforces format requirements (9-digit SIREN, 14-digit SIRET, ICD:value participant format) and error semantics. It primarily defers to the schema for parameter detail, which is appropriate given full coverage, but the description itself doesn't add much beyond the schema's rich parameter text.

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 what the tool does: check whether a company can receive e-invoices on the Peppol network, specifying the data source (official Peppol Directory export) and the output (participant identifiers and accepted document types). The title 'Check Peppol e-invoicing reachability' reinforces the purpose precisely.

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?

The description gives clear context: use before sending an e-invoice, and specifies the identifier types accepted (SIREN, SIRET, participant ID). It explains the 'Not registered' paid answer versus free/404 scenarios. However, it doesn't explicitly contrast with sibling tools like invoice_validate or preflight_supplier, though the paid-vs-not-paid distinction provides useful guidance.

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

Install Server

Other Tools

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/Invoket/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server