Fuentio: UK, France & Spain company data from official registries

com.fuentioPublished by fuentio.comOfficial publisherv1.1.0Updated Oct 24, 2026

Official UK, France and Spain company checks for AI agents

VerifiedStreamable HTTPWeb executableFinanceSecurity & MonitoringBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for looking up, verifying and screening UK, French and Spanish companies from official registries, with sources and receipts.

What you can do
  • Search and look up companies by name or official ID in the UK, France and Spain, with history and change tracking
  • Verify a company for onboarding, resolve whether records are the same entity, and explain match decisions
  • Check insolvency notices, sanctions lists, registered addresses, VAT numbers and GLEIF group links
  • Pull the evidence behind each fact, retrieve verification receipts, and produce a review-ready report
  • Check a supplier list in bulk, set signed change webhooks, report wrong answers, and list coverage
When to use it
Useful when an assistant must answer questions about UK, French or Spanish companies for onboarding, KYB, supplier or customer due diligence, credit and insolvency checks, or audit trails that need a citable source and receipt.
Requirements
A remote streamable HTTP endpoint; no local install. Works keyless with a daily trial allowance; an optional API key is sent in the X-API-Key header (or as a bearer token) and unlocks higher limits and key-only tools. Network access to the Fuentio endpoint is required.
Before you install
Some tools consume paid units and key-only tools need a paid or free key; check pricing before heavy use. watch_company registers a callback to your own HTTPS endpoint, and report_issue sends your report to Fuentio. Results are registry checks, not full KYB: no beneficial owners, credit scores or VAT registration confirmation, and Spain covers only companies with BORME acts since 2009.

Installation

In SourceWeft

  1. Open Fuentio: UK, France & Spain company data from official registries in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.fuentio%2Fcompany-data/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "fuentio-uk-france-spain-company-data-fro": {
      "type": "http",
      "url": "https://api.fuentio.com/mcp"
    }
  }
}

README

Fuentio: UK, France & Spain company data from official registries

Verify UK, French and Spanish companies from official registries, with source, check date and receipt on every answer.

Fuentio gives AI agents and compliance teams clean company data for the United Kingdom, France and Spain, straight from official sources: Companies House for the UK (every company, with insolvency cases, charges and latest filings), INSEE Sirene and the national register for France, BORME (Registro Mercantil acts since 2009) for Spain, and GLEIF for LEIs and group links. Every answer carries the source, link, check date and a receipt you can show an auditor. Connect with just the URL; free tier, no card.

https://api.fuentio.com/mcp

Ask your agent "Verify the UK company 00445790 for onboarding.", "Which company is behind this SIREN?" or "¿Sigue activa esta sociedad según el BORME?" and get an answer you can trust and prove.

What you get

  • UK company lookup, search and verification from Companies House (company number or name), including dissolved companies, insolvency cases, charges and latest filings.
  • Company lookup and search for France (SIREN, SIRET, name) and Spain (company name, BORME acts since January 2009).
  • One record per real company, matched across registers and GLEIF, with the reason for every match and every non-match.
  • Company group links (parent and subsidiary companies reported to GLEIF).
  • Company history: what changed and when.
  • A verify_company check for onboarding (KYB): status, address, identifiers and evidence in one call.
  • Insolvency notices (BODACC for France, BORME for Spain).
  • Sanctions list screening with clear coverage notes.
  • Change alerts with watch_company.

Why agents pick it

  • Official sources only, never scraped guesses.
  • Every answer includes the source, a link, the check date, an uncertainty label and a receipt id.
  • When sources disagree, you see both values, never a silent pick.
  • Short answers by default, errors that say exactly what to retry.

Install

Claude Code

bash
claude mcp add --transport http fuentio https://api.fuentio.com/mcp

Claude Desktop / claude.ai: Settings → Connectors → Add custom connector → paste https://api.fuentio.com/mcp.

Cursor / VS Code / any client (JSON), as in this repository's mcp.json:

json
{ "mcpServers": { "fuentio": { "url": "https://api.fuentio.com/mcp" } } }

VS Code's own .vscode/mcp.json format:

json
{ "servers": { "fuentio": { "type": "http", "url": "https://api.fuentio.com/mcp" } } }

Gemini CLI: gemini extensions install <this repository's URL> (it reads gemini-extension.json).

Cline: ask Cline to install this server; it follows llms-install.md.

ChatGPT (developer mode): create a connector with the URL above, no authentication.

With a key (paid plans, or a free key for the tools marked "key" below):

json
{ "mcpServers": { "fuentio": { "url": "https://api.fuentio.com/mcp", "headers": { "Authorization": "Bearer YOUR_KEY" } } } }

A free key (100 units a month, one per person) takes under a minute: curl -X POST https://api.fuentio.com/v1/keys -H "Content-Type: application/json" -d '{"email":"[email protected]"}'. The key arrives by email.

Tools

ToolWhat it doesCost
list_coverageCountries, ID formats and official sources coveredfree
lookup_companyA company by official ID: UK company number (e.g. 00445790); France SIREN (9 digits), SIRET (14), VAT; Spain Registro Mercantil sheet (e.g. VI-23266)1 unit
search_companiesFind a company by name, 10 per page2 units
get_company_historyWhat changed at a company, and when, each change with its source1 unit
verify_companyOnboarding (KYB) check: outcome with reasons, warning signals, receipt5 units
get_receiptThe Fuentio receipt of a verification by proof code, normal or detailed (public view unless your key ran the check)free
resolve_companyIs this the same company? Candidates with evidence, from an ID or a name and town2 units
explain_matchWhy two records are, or are not, the same company1 unit
get_evidenceEvery value behind a company's facts, each with its source and date1 unit
what_changedWhat changed at a company since a date, across all its records1 unit
get_graphA company's group: GLEIF parents and subsidiaries, every link with its source (key)2 units
check_insolvencyInsolvency notices: BODACC (France), BORME insolvency acts (Spain)1 unit
screen_companyThe company's own names against the EU, UK, OFAC and French sanctions lists (key)2 units
check_addressA French company's registered address against the Base Adresse Nationale1 unit
check_vatA French company's EU VAT number, with a link to check it on VIES1 unit
review_reportOne review-ready report: identity, facts with sources, changes, every check (key)8 units
watch_companySigned webhooks when a company's official records change (key)1 unit
report_issueReport an answer you believe is wrong, so it is checked against the source (key)free

Prompt: check_a_company(country, name_or_id) finds and verifies a company, then answers in one paragraph with the outcome, source, check date and receipt.

Sources

  • United Kingdom: Companies House (its public data API and free monthly company file), with insolvency cases, charges and latest filings. Contains public sector information licensed under the Open Government Licence v3.0.
  • France: INSEE Sirene and the Registre national des entreprises, through the Annuaire des Entreprises; BODACC; Base Adresse Nationale. Licence Ouverte / Etalab 2.0.
  • Spain: BORME, the Registro Mercantil gazette published by the Agencia Estatal Boletín Oficial del Estado (https://www.boe.es).
  • All three: GLEIF (LEIs and parent links, CC0); the EU, UK, OFAC and French sanctions lists.

Limits

  • Keyless trial: 20 units a day. Free key: 100 units a month. Paid plans: https://fuentio.com/pricing/
  • UK, France and Spain only. No Spanish NIF/CIF lookup, no full financial statements, no data about people (no UK officers or PSCs).
  • Spain covers companies with an act published in BORME since 2 January 2009, not every Spanish company: search Spanish companies by name.
  • No beneficial owners and no credit scores.
  • Fuentio does not check VAT registration: check_vat gives the number and links VIES.

Dify plugin

dify-plugin/ holds the Fuentio tool plugin for Dify: search, look up and verify companies, insolvency notices and company history, with your own Fuentio API key. See dify-plugin/README.md.

Licence

The documentation, install snippets and the Dify plugin code in this repository are MIT-licensed. The Fuentio service and its data are governed by the terms at https://fuentio.com and the sources' licences above.

Contact: [email protected]

Source: README.md at commit fd1a2ea

Tools

19

lookup_company

Look up a company by official ID

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 or GB; identifier. FR: SIREN 441639465, SIRET 44163946500091, VAT FR63441639465, LEI 969500F7JLTX36OUI695. ES: Registro Mercantil sheet VI-23266, LEI 549300EEJH4FEPDBBR25 (no NIF/CIF). GB: company number 00445790, LEI 2138002P5RNKC5W2JZ46. 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. Public contracts won since 2024 (DECP, weekly). Spain: BORME acts since 2 January 2009. UK: no officers or PSCs. No person's name in any answer. For KYB steps, supplier checks, due diligence: SIREN, RCS, Annuaire des Entreprises, société; BORME, Registro Mercantil, empresa, sociedad; Companies House, company number, Ltd, plc, LLP.

Parametersdetailformatcountryrequiredid_schemeidentifierrequired

search_companies

Search companies by name

Find companies by name in the official registers of France, Spain and United Kingdom, 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 or GB; 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. Public contracts won since 2024 (DECP, weekly). Spain: BORME acts since 2 January 2009. UK: no officers or PSCs. No person's name in any answer. Search words: SIREN, RCS, Annuaire des Entreprises, société; BORME, Registro Mercantil, empresa, sociedad; Companies House, company number, Ltd, plc, LLP, KYB, supplier check.

Parameterspagelimitqueryrequiredformatstatuscountryrequiredlocalitypostal_codejurisdiction

get_company_history

See what changed at a company

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 or GB; 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, Companies House filings). 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. United Kingdom: the latest filings, and every change since Fuentio first held it. Search words: historique, historial, cambios, due diligence.

Parameterspagedetailcountryrequiredid_schemeidentifierrequired

verify_company

Verify a company (registry check)

Verify a company against its official register, for onboarding or before paying or signing: an outcome with reasons, checks, warning signals and a proof code you can show an auditor. A registry check, not full KYB. 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 or GB; identifier as for lookup_company (441639465); optional id_scheme; optional reference (your case id). Returns: outcome (verified, partial, unverified; open insolvency never verified) + 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. Public contracts won since 2024 (DECP, weekly). Spain: BORME acts since 2 January 2009. UK: no officers or PSCs. No person's name in any answer. Search words: KYB, KYC, verify supplier, vérifier une société, verificar empresa.

Parametersdetailcountryrequiredid_schemereferenceidentifierrequired

get_receipt

Get a verification receipt by proof code

Give back the Fuentio receipt of a verification by its proof code: outcome and reasons, status, legal form, registered office, insolvency (what was searched), source, check time, hash and the public link to check it. Use it when the user asks for a receipt or proof of a check. Always ask the user first: 'Normal or detailed receipt?', then call it. Use the proof code from verify_company. Don't use it to run a new check: call verify_company. Inputs: proof_code (e.g. 'FUE-FR-20261015-DZ7TP9', any case; a lookup's meta.receipt.request_id also works, same key), format 'normal' or 'detailed'. Returns: data.markdown, the branded receipt: show it as is; data.text, plain text. Limits: free; 30 a minute. The key that ran the check also sees its reference; anyone else, the public view. Read-only.

Parametersformatrequiredproof_coderequired

resolve_company

Is this the same company? (match with evidence)

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 or GB; 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.

Parametersnamelimitcountryrequiredlocalityid_schemeidentifierpostal_code

explain_match

Why two records are (or aren't) the same company

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.

Parametersleftrequiredrightrequired

what_changed

What changed at a company since a date

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.

Parameterssincerequireduntilentity_idrequired

screen_company

Screen a company against sanctions lists

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 as the sanctions-list step of onboarding a supplier or customer (not full KYB). 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.

Parameterscountryrequiredidentifierrequired

check_insolvency

Insolvency notices and state of a company

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.

Parameterscountryrequiredidentifierrequired

check_address

Validate a company's registered address

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.

Parameterscountryrequiredidentifierrequired

get_graph

A company's group: GLEIF parents and subsidiaries

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.

Parametersdepthentity_idrequired

report_issue

Report a wrong or missing answer

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.

Parametersmessagerequiredsubjectrequiredcategoryrequired

get_evidence

The evidence behind a company's facts

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.

Parametersas_offieldentity_idrequired

check_vat

A company's EU VAT number (registration not checked)

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.

Parameterscountryrequiredidentifierrequired

watch_company

Watch a company for changes (signed webhooks)

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.

Parametersentity_idrequiredcallback_urlrequired

review_report

A review-ready report on a company

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, and in France the public contracts won). Use it for the registry part of a KYB or supplier review you must file (not full KYB: no UBO, PEP or adverse-media checks). 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.

Parameterscountryrequiredidentifierrequired

check_supplier_list

Check a supplier list (registry check)

Check a supplier list against the official registers: which suppliers are ok, which need a look and why (e.g. in liquidation since a date, per BODACC), with a proof code each, and a private report link to share. Use it for 2 to 100 suppliers at once, or to read a batch you started. Don't use it for one company: call verify_company. Inputs: rows [{reference, company_name, country, identifier}] (an official ID is best; a name alone counts only with postal_code and street matching one company), or batch_id. Returns: counts by review_state (ok, review, could_not_confirm, not_covered, error), the review rows with reasons, share_url; 'next' when still checking. Limits: 5 units a row (+2 for a name), checks reused 24 h free. A registry check, not KYB or sanctions clearance; no person's name.

Parametersrowsbatch_id

list_coverage

List covered countries and ID formats

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, Spain and United Kingdom. Search words: company registry, KYB, SIREN, RCS, Annuaire des Entreprises, société; BORME, Registro Mercantil, empresa, sociedad; Companies House, company number, Ltd, plc, LLP.

Takes no parameters.

Version history

2
  1. v1.1.0LatestOct 17, 2026
  2. v1.0.1Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts