Fuentio: France & Spain company data from official registries
Server Details
Official company checks for France and Spain, for AI agents
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- THEMAGNET-NICHEP-Lab/fuentio-mcp
- GitHub Stars
- 0
TDQS
Score is being calculated.
Available Tools
17 toolscheck_addressValidate a company's registered addressRead-onlyIdempotentInspect
Validate a company's registered address against the official address base: France via API Adresse (Base Adresse Nationale, IGN). Use it to check that an address exists and is the company's, or to geolocate it. Don't use it to find companies: call search_companies. Inputs: country and identifier, as lookup_company (e.g. 'FR', '441639465'). Returns: validated (true, false or null with a reason), normalized address, BAN ids, coordinates, precision, confidence, and how many active companies share the address. Limits: 1 unit. Spain not available yet. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO country code: FR or ES. | |
| identifier | Yes | Official ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
check_insolvencyInsolvency notices and state of a companyRead-onlyIdempotentInspect
Check a company's insolvency notices and state: France from BODACC (safeguard, reorganisation, liquidation, plans, closures), Spain from BORME insolvency acts. Use it for credit or supplier checks. Don't use it for sanctions: call screen_company. Inputs: country and identifier, as lookup_company (e.g. 'FR', '441639465'). Returns: state (in_procedure, under_plan, closed, notice_found, none_found, not_covered), procedure, dates, notices with official citations, covered_since. Limits: 1 unit. No notice outside the loaded years is not proof of no procedure. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO country code: FR or ES. | |
| identifier | Yes | Official ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
check_vatA company's EU VAT number (registration not checked)Read-onlyIdempotentInspect
Give a company's EU VAT number and how it was obtained. Registration is never checked: the answer links the official VIES page. Use it to fill an invoice or a supplier file. Don't use it as proof of VAT registration: check it on VIES. Inputs: country and identifier, as lookup_company (e.g. 'FR', '441639465'). Returns: number, origin (published or computed), registration_checked false, note, check_url. Limits: 1 unit. Spain: no VAT numbers published. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO country code: FR or ES. | |
| identifier | Yes | Official ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
explain_matchWhy two records are (or aren't) the same companyRead-onlyIdempotentInspect
Explain why two register records are, or are not, the same company: today's decision with reason codes and evidence, stored decisions, links, and whether they share one Fuentio entity. Use it after resolve_company or lookup_company when you must justify a match or a rejection. Don't use it to find companies: call resolve_company. Inputs: left and right, Fuentio record IDs (e.g. 'FR-SIREN-441639465', 'FR-LEI-969500F7JLTX36OUI695'). Returns: same_entity, summary, decision (status, band, reasons), stored_decisions, links, uncertainty. Limits: 1 unit. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| left | Yes | A Fuentio record ID. | |
| right | Yes | Another record ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
get_company_historySee what changed at a companyRead-onlyIdempotentInspect
See what changed at a company, and when: versions with the fields that changed (address, status), each with its official source. Use it for changes over time. Don't use it for the current state: call lookup_company. Inputs: country FR or ES; identifier as for lookup_company (441639465); optional id_scheme; page. Returns: versions newest first with source, fetched_at and the fields changed; dated events where the source has them (BORME acts). meta.history_since says where history starts. Limits: 1 unit; keyless 20 units a day. Read-only. France: from Fuentio's first fetch of the company. Spain: from 2 January 2009. Search words: historique, historial, cambios, due diligence.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Versions page, 10 per page. | |
| detail | No | summary: a few key fields; standard (default): the record, long lists shortened; full: everything. | standard |
| country | Yes | ISO country code: FR or ES. | |
| id_scheme | No | Optional: force the ID type when it is ambiguous. | |
| identifier | Yes | Official ID, as for lookup_company. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
get_evidenceThe evidence behind a company's factsRead-onlyIdempotentInspect
Show the evidence behind what Fuentio says about a company: for each field, the value served and every competing value with its source, record, retrieval time, source link and record hash; and the match decision behind each link. Use it to justify an answer in a review or an audit. Don't use it to look a company up: call resolve_company first for its entity_id. Inputs: entity_id (e.g. 'fu_7K3M9Q2XH4PZ'), optional field (name, status, address, legal_form, creation_date, activity), optional as_of 'YYYY-MM-DD'. Returns: evidence, links, decisions, uncertainty, how_to_check. Limits: 1 unit. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | YYYY-MM-DD. | |
| field | No | One field, e.g. status. | |
| entity_id | Yes | A Fuentio entity ID (from resolve_company). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
get_graphA company's group: GLEIF parents and subsidiariesRead-onlyIdempotentInspect
Show a company's group: its parent and child companies from GLEIF (direct and ultimate parents), company to company, every edge with its source. Use it to map a company's group. Don't use it to look a company up: call resolve_company first for its entity_id. Inputs: entity_id (e.g. 'fu_7K3M9Q2XH4PZ'), depth 1 or 2. Returns: nodes (companies), edges (from, kind parent_of, to, source, evidence), ownership (signals only; beneficial owners not covered), uncertainty. Limits: 2 units; API key required. No people, no director links. A company without an LEI shows no links. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | 1 or 2. | |
| entity_id | Yes | A Fuentio entity ID (from resolve_company). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
list_coverageList covered countries and ID formatsRead-onlyIdempotentInspect
List the countries, ID formats and official sources Fuentio covers. Free, no key. Use it first when unsure whether a country or ID format is supported, or to explain coverage. Don't use it to check a company: call lookup_company or search_companies. Inputs: none. Example: list_coverage(). Returns: per country, status (available or planned), coverage level, ID formats with real examples and whether lookup works, regional registers, and sources with licence and update frequency. Limits: 0 units. Read-only. Covered today: France and Spain. Search words: company registry, KYB, SIREN, RCS, Annuaire des Entreprises, société; BORME, Registro Mercantil, empresa, sociedad.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
lookup_companyLook up a company by official IDRead-onlyIdempotentInspect
Look up one company in its official register by ID: status, address, legal form, activity, source and check date. Use it when you have an official ID. Don't use it with a name: call search_companies first. Inputs: country FR or ES; identifier. FR: SIREN 441639465, SIRET 44163946500091, VAT FR63441639465, LEI 969500F7JLTX36OUI695. ES: Registro Mercantil sheet VI-23266, LEI 549300EEJH4FEPDBBR25 (no NIF/CIF). Optional: id_scheme (if ambiguous), format (json, csv, tsv, markdown, html, xml, ndjson; xlsx or parquet as a 24 h link). Returns: the record, a one-line summary, meta with source, source_url, last_verified_at. Limits: 1 unit (also a valid ID not found); keyless 20/day. France: insolvency from BODACC since 2008. Spain: BORME acts since 2 January 2009. No person's name in any answer. For KYB, supplier checks, due diligence: SIREN, RCS, Annuaire des Entreprises, société; BORME, Registro Mercantil, empresa, sociedad.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | summary: a few key fields; standard (default): the record, long lists shortened; full: everything. | standard |
| format | No | Answer format: json (default); csv, tsv, markdown, html (table), xml or ndjson come back inline, one row per company with source and fetched_at; xlsx or parquet as a download link valid 24 hours. Same units; search takes limit (up to 100 rows) with a non-json format. | json |
| country | Yes | ISO country code: FR or ES. | |
| id_scheme | No | Optional: force the ID type when it is ambiguous. | |
| identifier | Yes | Official ID. FR: SIREN (9 digits), SIRET (14) or VAT (FR + 11). ES: Registro Mercantil sheet, e.g. VI-23266. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | The record; a few key fields with detail=summary (when enabled); null when meta.export holds it. |
| meta | Yes |
report_issueReport a wrong or missing answerInspect
Report an answer you believe is wrong or missing, so Fuentio checks it against the official source. Use it when a result contradicts an official document you hold. Don't use it to ask questions: call the lookup tools. Inputs: subject (entity ID, record ID such as 'FR-SIREN-441639465', or tool name), category (wrong_data, wrong_link, missing_data, wrong_status, other), message. Returns: issue_id, status 'open'. Limits: free; API key required; 20 reports per key per day.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | What you expected and what you got. | |
| subject | Yes | Entity ID, record ID or tool name. | |
| category | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
resolve_companyIs this the same company? (match with evidence)Read-onlyIdempotentInspect
Decide whether a company you know (an official ID, or a name with a postcode or town) is a company in the official registers, with evidence: candidates each with a decision, linked, possible or rejected, and the reasons. Use it to match a supplier or customer record to a register record. Don't use it to read a company you already identified: call lookup_company. Inputs: country FR or ES; name ('Renault', postal_code '92100') and/or identifier (441639465); optional id_scheme, locality, limit (1-10). Returns: outcome (linked, possible_match, no_match), uncertainty, best, candidates with entity_id, reason codes and evidence. Limits: 2 units. Only an official ID links: a name, even with an address, is never proof. Read-only, nothing stored.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The company's name as you have it. | |
| limit | No | Candidates. | |
| country | Yes | ISO country code: FR or ES. | |
| locality | No | ||
| id_scheme | No | Optional: force the ID type. | |
| identifier | No | An official ID, if you have one: the only thing that links exactly. | |
| postal_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
review_reportA review-ready report on a companyRead-onlyIdempotentInspect
Produce one review-ready report on a company: identity and links with reasons, facts with sources, last year's changes and gaps, and every check at once (insolvency, sanctions, address, VAT). Use it for a KYB or supplier review you must file. Don't use it for one quick fact: call lookup_company. Inputs: country and identifier, as lookup_company (e.g. 'FR', '441639465'). Returns: company, facts, links, decisions, changes_last_year, modules, gaps, uncertainty, sha256, markdown. Limits: 8 units; API key required. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO country code: FR or ES. | |
| identifier | Yes | Official ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
screen_companyScreen a company against sanctions listsRead-onlyIdempotentInspect
Screen a company's own names against sanctions lists: EU Financial Sanctions File, UK Sanctions List, OFAC SDN list, France's registre des gels. Use it for KYB/onboarding checks on a supplier or customer. Don't use it to identify a company: call resolve_company or lookup_company first. Inputs: country and identifier, as lookup_company (e.g. 'FR', '441639465'). Returns: result 'possible_match' (list, entry, score, reasons, listing date, legal act, official link), 'no_match_found' or 'not_checked', the list versions, and a note. Limits: 2 units; API key required. A possible match is not proof; no match is never 'clear'. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO country code: FR or ES. | |
| identifier | Yes | Official ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
search_companiesSearch companies by nameRead-onlyIdempotentInspect
Find companies by name in the official registers of France and Spain, 10 per page. Use it when you know a name but no ID, then call lookup_company or verify_company with an ID from the results. Don't use it when you already have an official ID. Inputs: country FR or ES; query, 2 to 200 characters ('telefonica'). Optional: postal_code, locality, status, jurisdiction (regional registers), page, format; limit (up to 100 rows) with a file format. Returns: best match first, each with match.score (0-1) and reasons, name, status, address, IDs, provenance; meta.next_page. Limits: 2 units a page; files 2 per started 25 rows. Read-only. France: insolvency from BODACC since 2008. Spain: BORME acts since 2 January 2009. No person's name in any answer. Search words: SIREN, RCS, Annuaire des Entreprises, société; BORME, Registro Mercantil, empresa, sociedad, KYB, supplier check.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Results page, 10 per page. | |
| limit | No | Rows in one file, up to 100, with a non-json format only. 2 units per started 25 rows (100 rows = 8 units). | |
| query | Yes | Company name, 2 to 200 characters. | |
| format | No | Answer format: json (default); csv, tsv, markdown, html (table), xml or ndjson come back inline, one row per company with source and fetched_at; xlsx or parquet as a download link valid 24 hours. Same units; search takes limit (up to 100 rows) with a non-json format. | json |
| status | No | Only companies with this status. | |
| country | Yes | ISO country code: FR or ES. | |
| locality | No | Registered-office town filter (Spain). | |
| postal_code | No | Registered-office postal code filter. | |
| jurisdiction | No | Optional ISO 3166-2 region to search in, for countries with regional registers (list_coverage lists them). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
verify_companyVerify a company (KYB check)Read-onlyInspect
Verify a company for onboarding, KYB or before paying or signing: an outcome with reasons, checks, warning signals and a proof code you can show an auditor. Use it to decide about a company. Don't use it for a cheap single read (lookup_company) or with a name (call search_companies first). Inputs: country FR or ES; identifier as for lookup_company (441639465); optional id_scheme; optional reference (your case id). Returns: outcome (verified, partial, unverified, insufficient_data) + reasons, checks, signals (present, none_found, not_covered), recent changes, provenance, proof code (FUE-…). Limits: 5 units (1 if not found); keyless 20/day. Stored 24 months. France: insolvency from BODACC since 2008. Spain: BORME acts since 2 January 2009. No person's name in any answer. Search words: KYB, KYC, verify supplier, vérifier une société, verificar empresa.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | summary: a few key fields; standard (default): the record, long lists shortened; full: everything. | standard |
| country | Yes | ISO country code: FR or ES. | |
| id_scheme | No | Optional: force the ID type. | |
| reference | No | Optional: your own case id, stored with the result. | |
| identifier | Yes | Official ID: FR SIREN or SIRET; ES Registro Mercantil sheet from search_companies. Never a name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
watch_companyWatch a company for changes (signed webhooks)Inspect
Watch a company: when its official records change, Fuentio POSTs the changes, signed, to your https endpoint. Use it to monitor a supplier or customer. Don't use it for a one-off check: call what_changed. Inputs: entity_id (from resolve_company), callback_url (your https endpoint; private or local addresses are refused). Returns: watch_id, signing_secret (shown once) and how to verify each POST. Limits: 1 unit; API key required; free plan 3 watches.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes | A Fuentio entity ID (from resolve_company). | |
| callback_url | Yes | Your https endpoint. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
what_changedWhat changed at a company since a dateRead-onlyIdempotentInspect
List what changed at a company since a date, from every official record Fuentio holds for it: status, name, address, legal form, and the source's dated events (BORME acts), each with its source and evidence. Use it to review a supplier or customer since your last check. Don't use it for the current state: call lookup_company. Inputs: entity_id (from resolve_company, e.g. 'fu_7K3M9Q2XH4PZ'), since 'YYYY-MM-DD', optional until. Returns: changes (type, old/new or added/removed, observed_at or effective_date, source, evidence), gaps (days not loaded, sources not checked since), uncertainty. Limits: 1 unit. A gap is never reported as no change. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| since | Yes | YYYY-MM-DD. | |
| until | No | YYYY-MM-DD; default today. | |
| entity_id | Yes | A Fuentio entity ID (from resolve_company). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
- First observed
check_address - First observed
check_insolvency - First observed
check_vat - First observed
explain_match - First observed
get_company_history - First observed
get_evidence - First observed
get_graph - First observed
list_coverage - First observed
lookup_company - First observed
report_issue - First observed
resolve_company - First observed
review_report - First observed
screen_company - First observed
search_companies - First observed
verify_company - First observed
watch_company - First observed
what_changed
Related MCP Connectors
European business data — French company check, EU VAT validation, legal search.
Free, keyless French company checks (Sirene, BODACC, VIES, asset freezes) and DPE rental compliance
Verify French and UK companies, EU VAT and IBANs; screen OFAC, UN, EU and UK sanctions lists.
Sourced answers on FR/EU rules + French company search (SIREN, NAF) for agents, quoted and budgeted
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceCompany data for Spain, France, the UK, Ireland and Poland — registry, KYB and sanctions.1,343 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform due diligence, KYB, and supplier or client verification by querying Spanish company registry data cross-referenced with public grants and procurement awards, each fact linking to its official publication.MIT
- AlicenseAqualityCmaintenanceStructured business intelligence for AI agents. 5.5M verified entities across 34 countries, 40.3M BORME mercantile acts, EU VAT validation, GLEIF, healthcare registries. 20 tools.61MIT
- AlicenseBqualityCmaintenanceEnables AI agents in Codex or Claude Code to research French companies through tools for company searches, mandates, BODACC announcements, INPI acts and accounts, published decisions, and relationship graphs, with a method to distinguish facts, homonyms, and leads to verify.18MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.