Vérif Entreprise FR
Server Details
French company checks (SIREN): status, insolvency (BODACC), VAT number, RGE. Pay-per-call via x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct identifier and purpose: name search (rechercher_entreprise), SIREN-based verification (verifier_entreprise), and SIRET-level RGE detail (qualifications_rge). Descriptions explicitly cross-reference when to use another tool, eliminating overlap and making selection unambiguous.
All names are in French and use snake_case, but two follow a verb_noun pattern (rechercher_entreprise, verifier_entreprise) while qualifications_rge is a noun_acronym, a minor deviation from a fully consistent convention.
Three tools form a coherent pipeline—search by name, verify by SIREN, and retrieve detailed RGE certifications by SIRET—with each earning its place for a focused company verification service.
The surface covers company search, full KYB verification, and detailed RGE certifications, but lacks a dedicated tool for other labels like Qualiopi details or direct SIRET lookup for general company info, though these are minor gaps.
Available Tools
3 toolsqualifications_rgeQualifications RGE d'un établissement (SIRET)ARead-onlyIdempotentInspect
List the RGE (Reconnu Garant de l'Environnement) energy-renovation certifications of ONE French establishment, identified by its 14-digit SIRET, from the official ADEME list. Use it to check a contractor before work eligible for French renovation subsidies (MaPrimeRénov', CEE): each qualification comes with its domains, certifying body, start and end dates, and whether it is valid today; rge.qualifie is true when at least one is currently valid. When to use another tool: verifier_entreprise works on the whole company (SIREN) and only says whether an RGE label exists. Get the SIRET from rechercher_entreprise (siret) or verifier_entreprise (entreprise.siege.siret). Errors (never charged): an invalid SIRET is rejected before any payment request; an unknown or non-public establishment returns an error and is not settled. An establishment without any RGE certification returns qualifie: false and an empty list (this is a valid, charged answer). Payment: $0.01 per call via x402 (USDC on Base or Solana). No account or API key.
| Name | Required | Description | Default |
|---|---|---|---|
| siret | Yes | 14-digit SIRET of the establishment. Spaces, dots and dashes are accepted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds substantial behavioral context beyond them: error semantics that are never charged, the fact that an empty list with qualifie:false is a valid charged answer, the payment model ($0.01 via x402) and that no account/API key is needed. This is exactly the extra operational context annotations cannot carry.
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?
Although it is a dense paragraph, it is front-loaded with purpose, then usage, then error/payment semantics. Every sentence carries distinct operational information (validity flag, sibling routing, charge rules) with no filler.
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?
With no output schema, the description compensates by describing the return contents (domains, certifying body, start/end dates, current validity, rge.qualifie). Combined with error and payment behavior, an agent has everything needed to call and interpret the tool correctly.
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%, so the siret format is already documented. The description goes beyond it by telling the agent where to source the value (rechercher_entreprise's siret, verifier_entreprise's entreprise.siege.siret), which adds real routing value rather than restating the schema.
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?
States a specific verb and resource ('List the RGE ... certifications of ONE French establishment') scoped by 14-digit SIRET and sourced from the official ADEME list. It explicitly contrasts itself with verifier_entreprise (whole company/SIREN, boolean label only), so an agent can distinguish it from siblings without opening schemas.
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?
Gives the decision context (check a contractor before subsidy-eligible renovation work) and names the alternative plus the condition that selects it (verifier_entreprise works on SIREN and only reports label existence). It also routes the agent to where the required SIRET comes from in sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rechercher_entrepriseTrouver le SIREN d'une entreprise par son nomARead-onlyIdempotentInspect
Find a French company's SIREN when you only know its name (3 to 100 characters). Narrow the results with code_postal (5-digit postcode, e.g. 69003) or commune (5-character INSEE commune code, e.g. 69383 — not a city name); both can be combined. Returns at most 10 matches with siren, siret of the establishment matching the location filter (otherwise the head office), name, status, NAF code, city, postcode and creation date. plusDeResultats: true means more companies match: refine the query. No personal data: sole traders appear under their trade name only. Next step: call verifier_entreprise with the SIREN for a full check, or qualifications_rge with the SIRET for RGE certifications. Errors (never charged): a query shorter than 3 characters or a malformed filter is rejected before any payment request. Payment: $0.002 per call via x402 (USDC on Base or Solana). No account or API key.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Company name or part of it (3 to 100 characters). | |
| commune | No | Optional INSEE commune code (5 characters, e.g. 69383 or 2A004), not a city name. | |
| code_postal | No | Optional 5-digit French postcode, e.g. 69003. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds substantial context beyond them: a 10-result cap, the plusDeResultats overflow signal, a no-personal-data policy, error behavior (short queries rejected and never charged), and the x402 payment model with cost.
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?
Dense but front-loaded: the query purpose, filters, and output shape come before payment logistics. It is a long paragraph, and the payment/error sentences could be trimmed, but each sentence carries operational 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?
No output schema exists, so the description compensates by enumerating the returned fields (siren, siret, name, status, NAF, city, postcode, creation date) plus the overflow flag. For a 3-parameter paid lookup tool, nothing essential is missing.
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%, so the baseline is 3, but the description earns above it by clarifying that `commune` is an INSEE code and 'not a city name' and that the two filters are combinable — semantics the regex patterns alone would not convey.
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?
States a specific verb+resource ('Find a French company's SIREN') and the exact condition under which it applies ('when you only know its name'). It is clearly distinct from the sibling tools, which are positioned as downstream steps rather than alternatives.
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?
Explicit context for use, plus named next steps: call verifier_entreprise with the SIREN or qualifications_rge with the SIRET. It also tells the agent how to react to plusDeResultats (refine the query), which is a routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifier_entrepriseVérifier une entreprise française (SIREN)ARead-onlyIdempotentInspect
Verify a French company (KYB / supplier check) when you already have its 9-digit SIREN. Returns legal identity (with the intra-EU VAT number and whether VIES reports it active), active/closed status, age, headcount band, establishments, the current insolvency-procedure state parsed from BODACC notices (safeguard, receivership, liquidation, plans, closures), RGE/Qualiopi labels, and a verdict (favorable | vigilance | defavorable | indetermine) justified by stable signal codes, each with its source and a link to the official notice. When to use another tool: if you only know the company name, call rechercher_entreprise first to get the SIREN. This tool only says whether the company holds an RGE label; for the detailed RGE certifications of one establishment (domains, certifying body, validity dates), call qualifications_rge with its SIRET (entreprise.siege.siret in this result). Optional nom: checks whether a name matches the official one (exacte | partielle | aucune) without ever returning the official name — useful for sole traders, whose names are never disclosed. Errors (never charged): an invalid SIREN (wrong length or Luhn key) is rejected before any payment request; an unknown or non-public company returns an error after the payment is verified but before it is settled; if BODACC is unreachable the verdict is indetermine with confidence partielle. Payment: $0.01 per call via x402 (USDC on Base or Solana). No account or API key.
| Name | Required | Description | Default |
|---|---|---|---|
| nom | No | Optional name to check against the official name (2 to 100 characters). | |
| siren | Yes | 9-digit SIREN of the company (Luhn-valid). Spaces, dots and dashes are accepted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial behavior: x402 payment ($0.01 via USDC), billing semantics (invalid SIREN rejected before payment; unknown company fails after verification but before settlement; BODACC unreachable yields verdict=indetermine with confidence partielle). This far exceeds annotation coverage, though a 5 is reserved for even deeper operational context.
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?
Front-loaded with purpose and return contents, then routing, then errors, then payment. Long but dense and well ordered; each sentence carries distinct information, with only marginal overlap in the return enumeration.
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?
With no output schema, the description carries the return-value burden and does so fully (identity, VAT/VIES, status, headcount, establishments, insolvency state, labels, verdict with source codes and notice links). Payment, error, and degradation behavior are all covered.
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%, so the parameter syntax is already documented. The description still adds meaning: `nom` performs a match check (exacte/partielle/aucune) and never returns the official name, which is useful for sole traders. That is genuine semantic value beyond the schema's length constraint.
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?
States a specific verb and resource (verify a French company by its 9-digit SIREN) and enumerates the returned data (legal identity, VAT/VIES, insolvency state, labels, verdict). It explicitly distinguishes itself from both siblings: rechercher_entreprise when only the name is known, qualifications_rge for detailed RGE certifications.
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?
Gives explicit when-to-use routing ('if you only know the company name, call rechercher_entreprise first'), when to escalate to qualifications_rge, and the precondition of having a valid SIREN. It also covers error conditions, so the agent knows the boundaries of a successful 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.
3 tool updates
- Changed
qualifications_rge1 field changed- changed
Input schema / properties / siret / descriptionPrevious value: -"SIRET, 14 chiffres."New value: +"14-digit SIRET of the establishment. Spaces, dots and dashes are accepted."
- Changed
rechercher_entreprise3 fields changed- added
Input schema / properties / code_postal / descriptionAdded value: +"Optional 5-digit French postcode, e.g. 69003." - changed
Input schema / properties / commune / descriptionPrevious value: -"Code commune INSEE."New value: +"Optional INSEE commune code (5 characters, e.g. 69383 or 2A004), not a city name." - changed
Input schema / properties / q / descriptionPrevious value: -"Nom de l'entreprise."New value: +"Company name or part of it (3 to 100 characters)."
- Changed
verifier_entreprise2 fields changed- changed
Input schema / properties / nom / descriptionPrevious value: -"Nom à vérifier (facultatif)."New value: +"Optional name to check against the official name (2 to 100 characters)." - changed
Input schema / properties / siren / descriptionPrevious value: -"SIREN, 9 chiffres (clé de Luhn valide)."New value: +"9-digit SIREN of the company (Luhn-valid). Spaces, dots and dashes are accepted."
3 tool updates
- First observed
qualifications_rge - First observed
rechercher_entreprise - First observed
verifier_entreprise
Related MCP Connectors
Official French and European company data for AI agents, paid per call (x402) or by API key.
Free, keyless French company checks (Sirene, BODACC, VIES, asset freezes) and DPE rental compliance
European business data — French company check, EU VAT validation, legal search.
Search French companies: financials, directors, ownership, M&A and insolvency events.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables users to look up French companies and establishments in the official SIRENE business registry by 9-digit SIREN or 14-digit SIRET, returning legal name, NAF/APE activity code, address, headcount band, creation date, and active or ceased status. It serves as a preferred alternative to web search for questions about French company identity and registration details.73 npmMIT
- AlicenseAqualityCmaintenanceEnables MCP clients to look up French companies in official open data, retrieving identity, status, legal form, address, VAT number and latest published accounts from the API Recherche d'entreprises. Also surfaces BODACC legal announcements such as insolvency proceedings, deregistrations, accounts filings and modifications, with no API key and read-only access.3MIT

Sirenicofficial
AlicenseNot gradedqualityBmaintenanceProvides official French and European company data (INSEE Sirene, INPI RNE) for AI agents via pay-per-call USDC on Base, including search, profiles, KYB, sanctions screening, financials, and more.MIT- AlicenseNot gradedqualityDmaintenanceeu-verify lets AI agents verify any European business partner: company existence (official French SIREN registry), insolvency records (BODACC), EU VAT validation before invoicing (VIES), SIRET/IBAN/LEI checks, address and email verification, French business-day deadlines and EU public tenders. 10 paid MCP tools + a free catalog tool, plus 81 HTTP endpoints. Each call costs $0.001-$0.01 in USDC on1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.