Skip to main content
Glama

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

Search companies by name

search_companies
Read-onlyIdempotent

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. BODACC events and dated capital. Public contracts won since 2024 (DECP, weekly). Spain: BORME acts since 2 January 2009. Every BORME act as an event. UK: no officers or PSCs. ISINs and BICs from GLEIF, by LEI. 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.

Input Schema

NameRequiredDescriptionDefault
pageNoResults page, 10 per page.
limitNoRows in one file, up to 100, with a non-json format only. 2 units per started 25 rows (100 rows = 8 units).
queryYesCompany name, 2 to 200 characters.
formatNoAnswer 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
statusNoOnly companies with this status.
countryYesISO country code: FR or ES or GB.
localityNoRegistered-office town filter (Spain).
postal_codeNoRegistered-office postal code filter.
jurisdictionNoOptional ISO 3166-2 region to search in, for countries with regional registers (list_coverage lists them).

Output Schema

NameRequiredDescriptionDefault
dataYes
metaYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"ISO country code: FR or ES."New value: +"ISO country code: FR or ES or GB."
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "FR",
      -  "ES"
      -]New value: +[
      +  "FR",
      +  "ES",
      +  "GB"
      +]
  2. Changed1 schema field changed
    • addedOutput schema / $defs / Name / properties / privacy_note
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Privacy Note"
      +}
  3. Changed3 schema fields changed
    • addedOutput schema / $defs / MatchInfo / properties / band
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "exact (an official ID matched), strong (same name), possible or insufficient. A name alone never identifies a company: confirm by ID.",
      +  "title": "Band"
      +}
    • changedOutput schema / $defs / MatchInfo / properties / score / description
      Previous value: -"0 to 1: how well the company's name matches the query (not data accuracy)."New value: +"0 to 1: name similarity, not confidence (and not data accuracy)."
    • addedOutput schema / $defs / SearchMeta / properties / outcome
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "verified, partial, unverified, status_unknown, not_found, not_covered, ambiguous, stale or source_unavailable: https://api.fuentio.com/docs/outcomes",
      +  "title": "Outcome"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, open-world, idempotent, and non-destructive behavior. The description adds substantial context beyond annotations: unit costs per page and per file rows, country-specific data coverage and vintage, UK limitations on officers/PSCs, GLEIF ISIN/BIC sourcing, and the no-person-name constraint.

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 front-loaded with purpose and routing, then structured as inputs, returns, limits, country caveats, and search terms. It is appropriately detailed for a complex multi-country search tool, but the trailing keyword list and some schema-repetitive details could be trimmed.

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?

Given the nine parameters, output schema, and cross-country complexity, the description is complete enough to invoke correctly. It covers when to use it, alternatives, required and optional inputs, return-shape highlights, cost limits, data coverage caveats, and privacy constraints.

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%, so the schema already documents all parameters, including query length, country enum, page size, format behavior, and limit/unit rules. The description groups inputs and repeats key constraints, but adds little semantic detail beyond what the schema already provides.

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 and resource: find companies by name in official registers for France, Spain, and the UK. It also distinguishes this from ID-based lookup, so an agent can tell it apart from sibling tools such as lookup_company or verify_company.

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?

Explicitly says to use it when you know a name but no ID, then call lookup_company or verify_company with an ID from the results. It also explicitly says not to use it when an official ID is already known, which is exactly the routing guidance an agent needs.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.