Skip to main content
Glama

verify_entity

Verify that a company is really registered, and return its official registry record. RETURNS JSON with: entity_name, jurisdiction, registration_number, status (ACTIVE / DISSOLVED / LIQUIDATION / NOT_FOUND), incorporation_date (ISO 8601, e.g. "1989-04-21"), registered_address, company_type (legal form, e.g. "Public Limited Company"), lei (20-character Legal Entity Identifier, or null if the entity has none), verification_confidence, data_sources (array of registries that answered), and notes. SOURCES: GLEIF Global LEI Index, Companies House (GB), SEC EDGAR (US), OpenCorporates, CVR (DK), BRREG (NO), PRH (FI), ARES (CZ), KRS (PL), ACRA (SG), Recherche Entreprises (FR), plus RCSL (LU), Bolagsverket (SE), Firmenbuch (AT), ABN Lookup (AU), MCA21 (IN) and CIPC (ZA). Queries the jurisdiction-specific registry first and falls back to GLEIF. USE WHEN you need to confirm a counterparty legally exists, is still active, or to resolve its LEI before onboarding. Called via MCP — usage is logged but not billed. For metered billing use the REST API with an API key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entity_nameYesFull registered company name, as close to the legal name as possible. Example: "Barclays PLC". Partial names work but reduce match confidence; omit punctuation-heavy suffixes if no result is found.
jurisdictionYesISO 3166-1 alpha-2 country code of incorporation, uppercase, exactly 2 letters. Examples: "GB" (United Kingdom), "DE" (Germany), "US" (United States), "AE" (UAE), "SG" (Singapore), "FR" (France). Determines which national registry is queried, so an accurate code materially improves results.
registration_numberNoOptional national company number, which makes the lookup exact rather than name-based. Format varies by jurisdiction. Examples: "00048839" (GB Companies House, 8 digits), "HRB 12345" (DE Handelsregister), "197401234N" (SG UEN), "552032534" (FR SIREN, 9 digits). Omit if unknown.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / entity_name / description
      Previous value: -"Company name to verify"New value: +"Full registered company name, as close to the legal name as possible. Example: \"Barclays PLC\". Partial names work but reduce match confidence; omit punctuation-heavy suffixes if no result is found."
    • changedInput schema / properties / jurisdiction / description
      Previous value: -"ISO 2-letter country code (e.g. GB, DE, AE, US)"New value: +"ISO 3166-1 alpha-2 country code of incorporation, uppercase, exactly 2 letters. Examples: \"GB\" (United Kingdom), \"DE\" (Germany), \"US\" (United States), \"AE\" (UAE), \"SG\" (Singapore), \"FR\" (France). Determines which national registry is queried, so an accurate code materially improves results."
    • changedInput schema / properties / registration_number / description
      Previous value: -"Company registration number (optional)"New value: +"Optional national company number, which makes the lookup exact rather than name-based. Format varies by jurisdiction. Examples: \"00048839\" (GB Companies House, 8 digits), \"HRB 12345\" (DE Handelsregister), \"197401234N\" (SG UEN), \"552032534\" (FR SIREN, 9 digits). Omit if unknown."
  2. Changed3 schema fields changed
    • addedInput schema / properties / entity_name / description
      Added value: +"Company name to verify"
    • addedInput schema / properties / jurisdiction / description
      Added value: +"ISO 2-letter country code (e.g. GB, DE, AE, US)"
    • addedInput schema / properties / registration_number / description
      Added value: +"Company registration number (optional)"
  3. Changed3 schema fields changed
    • removedInput schema / properties / entity_name / description
      Removed value: -"Company name to verify"
    • removedInput schema / properties / jurisdiction / description
      Removed value: -"ISO 2-letter country code (e.g. GB, DE, AE, US)"
    • removedInput schema / properties / registration_number / description
      Removed value: -"Company registration number (optional)"
  4. First observed

TDQS

A4.4/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses the return shape (JSON fields and enums), the data sources, the query order ('jurisdiction-specific registry first and falls back to GLEIF'), and that usage is logged but not billed – substantial transparency about behavior and side effects.

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 long but tightly organized into RETURNS / SOURCES / USE WHEN / billing sections; each sentence carries distinct information. The source list and field enumeration are justified because there is no output schema, though a shorter version could trim the registry roll-call.

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?

For a tool with no annotations and no output schema, the description is remarkably complete: it defines the return contract, lists supported registries, explains fallback and billing, and the input schema covers all parameters. An agent has everything needed to decide whether and how to call it.

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 coverage is 100%, with rich per-parameter descriptions and examples, so the description need not repeat parameter semantics. The description adds only tangential context (e.g., that jurisdiction determines the registry queried), which keeps it at the baseline for fully documented schemas.

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 action ('Verify that a company is really registered') with a clear resource (official registry record), and the returned fields make the output unambiguous. The purpose is clearly distinct from the sibling tools (map_ownership, score_risk, screen_sanctions), which target different concerns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'USE WHEN' guidance names three concrete triggers: confirming legal existence, checking active status, or resolving an LEI before onboarding. An alternative channel (metered REST API) is mentioned, but it does not spell out when this tool should not be used versus sibling tools, so it is clear but not exhaustive.

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.

Resources