Skip to main content
Glama

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

Screen a company against sanctions lists

screen_company
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
countryYesISO country code: FR or ES or GB.
identifierYesOfficial ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266. GB: Companies House company number, e.g. 00445790.

Output Schema

NameRequiredDescriptionDefault
dataYes
metaYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 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"
      +]
    • changedInput schema / properties / identifier / description
      Previous value: -"Official ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266."New value: +"Official ID, as lookup_company: FR SIREN (9 digits), SIRET or VAT; ES Registro Mercantil sheet, e.g. VI-23266. GB: Companies House company number, e.g. 00445790."
    • changedInput schema / properties / identifier / examples
      Previous value: -[
      -  "441639465",
      -  "VI-23266"
      -]New value: +[
      +  "441639465",
      +  "VI-23266",
      +  "00445790"
      +]
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive, but the description goes well beyond them: it discloses a metered cost ('2 units'), an auth requirement ('API key required'), and crucial interpretation semantics ('A possible match is not proof; no match is never clear'). That last point materially changes how an agent reports results and is not derivable from any structured field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Labeled sections (Inputs / Returns / Limits) front-load the purpose and routing rule, and every sentence carries distinct information: routing, cost, auth, output states, and interpretation caveat. No filler or restated name/title.

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?

Despite the tool's three possible result states and external list dependencies, the description covers inputs, outputs (including the 'not_checked' state and list versions), cost, auth, and the critical caveat about match interpretation. An output schema exists, and the description still summarizes results usefully rather than being redundant.

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% and the enum is documented in the schema, so the schema does the heavy lifting. The description adds only a cross-reference ('as lookup_company') and a format example, which is a marginal gain over the schema text. Baseline 3 is appropriate.

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?

Starts with a precise verb+resource ('Screen a company's own names against sanctions lists') and enumerates the four specific lists consulted. It also explicitly distinguishes itself from the identification siblings (resolve_company, lookup_company), so an agent can route correctly without opening any schema.

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?

Names the exact pipeline step ('sanctions-list step of onboarding a supplier or customer'), explicitly scopes it as 'not full KYB', and gives a when-not with the alternative: 'Don't use it to identify a company: call resolve_company or lookup_company first.' This is full when/when-not/alternative coverage.

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.