Skip to main content
Glama

gouda_studios/gleif-company-lei-lookup

gouda_studios--gleif-company-lei-lookup
Destructive

Looks up a company LEI by name, or returns LEI details by identifier, from the GLEIF registry (legal name, status, jurisdiction, addresses, parents). Use for company identity checks.

Input Schema

NameRequiredDescriptionDefault
leisNoOptional 20-character LEIs to fetch directly.
countryNoOptional ISO 2-letter country of the legal address, .
waitSecsNoSeconds to wait for the run to finish (0-45).
activeOnlyNoIf true, skip archived notices.
maxResultsNoMaximum notices to return.
companyNamesNoLegal names to look up, e.g. ["Apple Inc.","Siemens.
includeParentsNotrue (default) = add direct and ultimate parent (LEI.
maxMatchesPerNameNoHow many candidate entities to return per name or.
registrationNumbersNoOptional company-registry numbers as reported to GLEIF.

Output Schema

NameRequiredDescriptionDefault
tipNoAdvisory guidance RAG Web Browser wrote to its key-value.
runIdYesActor run ID
statsNoRun statistics
statusYesRun status: READY | RUNNING | TIMING-OUT | TIMED-OUT |.
actorIdYesStable Apify Actor ID from the run record
summaryYesPast-tense summary of the run state
exitCodeNoActor process exit code; populated for terminal states.
nextStepYesOne primary follow-up action with identifiers interpolated
storagesYesDataset and key-value store metadata, keyed by alias.
actorNameNo"username/actor-name"
startedAtNoISO timestamp when the run started
finishedAtNoISO timestamp when the run finished (terminal states only)
statusMessageNoPass-through from Apify run.statusMessage
apifyConsoleUrlNoPersonalized Apify Console link to the run; present only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed48 schema fields changed
    • changedInput schema / description
      Previous value: -"Looks up legal entities worldwide in the official GLEIF Legal Entity Identifier (LEI) database and returns one JSON row per matched company with legal name, status, address, registration number and parent companies. Example: {\"companyNames\":[\"Apple Inc.\"],\"country\":\"US\"} or {\"leis\":[\"HWUPKR0MPOU8FGXBT394\"]}. Pricing: $0.003 per company row."New value: +"Looks up legal entities worldwide in the official GLEIF."
    • changedInput schema / properties / activeOnly / description
      Previous value: -"true (default) = skip lapsed/inactive entities for name and registration searches.\nExample values: true"New value: +"If true, skip archived notices."
    • removedInput schema / properties / activeOnly / examples
      Removed value: -[
      -  true
      -]
    • removedInput schema / properties / activeOnly / title
      Removed value: -"Active entities only"
    • removedInput schema / properties / companyNames / default
      Removed value: -[]
    • changedInput schema / properties / companyNames / description
      Previous value: -"Legal names to look up, e.g. [\"Apple Inc.\",\"Siemens AG\"]. Exact legal name match first, then fuzzy full-text.\nExample values: [\"Apple Inc.\"]"New value: +"Legal names to look up, e.g. [\"Apple Inc.\",\"Siemens."
    • removedInput schema / properties / companyNames / examples
      Removed value: -[
      -  "Apple Inc."
      -]
    • removedInput schema / properties / companyNames / items / description
      Removed value: -"Legal names to look up, e.g. [\"Apple Inc.\",\"Siemens AG\"]. Exact legal name match first, then fuzzy full-text."
    • removedInput schema / properties / companyNames / items / title
      Removed value: -"Company names"
    • removedInput schema / properties / companyNames / prefill
      Removed value: -[
      -  "Apple Inc."
      -]
    • removedInput schema / properties / companyNames / title
      Removed value: -"Company names"
    • changedInput schema / properties / country / description
      Previous value: -"Optional ISO 2-letter country of the legal address, e.g. US, GB, DE. Improves name matching."New value: +"Optional ISO 2-letter country of the legal address, ."
    • removedInput schema / properties / country / title
      Removed value: -"Country"
    • changedInput schema / properties / includeParents / description
      Previous value: -"true (default) = add direct and ultimate parent (LEI, name, country) where reported.\nExample values: true"New value: +"true (default) = add direct and ultimate parent (LEI."
    • removedInput schema / properties / includeParents / examples
      Removed value: -[
      -  true
      -]
    • removedInput schema / properties / includeParents / title
      Removed value: -"Include parent companies"
    • removedInput schema / properties / leis / default
      Removed value: -[]
    • removedInput schema / properties / leis / items / description
      Removed value: -"Optional 20-character LEIs to fetch directly."
    • removedInput schema / properties / leis / items / title
      Removed value: -"LEI codes"
    • removedInput schema / properties / leis / title
      Removed value: -"LEI codes"
    • changedInput schema / properties / maxMatchesPerName / description
      Previous value: -"How many candidate entities to return per name or registration number (1-50).\nExample values: 3"New value: +"How many candidate entities to return per name or."
    • removedInput schema / properties / maxMatchesPerName / examples
      Removed value: -[
      -  3
      -]
    • removedInput schema / properties / maxMatchesPerName / title
      Removed value: -"Max matches per name"
    • changedInput schema / properties / maxResults / description
      Previous value: -"Maximum rows overall (1-5000). You pay per row: 100 rows = $0.30.\nExample values: 100"New value: +"Maximum notices to return."
    • removedInput schema / properties / maxResults / examples
      Removed value: -[
      -  100
      -]
    • removedInput schema / properties / maxResults / title
      Removed value: -"Max results"
    • removedInput schema / properties / registrationNumbers / default
      Removed value: -[]
    • changedInput schema / properties / registrationNumbers / description
      Previous value: -"Optional company-registry numbers as reported to GLEIF (registeredAs), e.g. a UK Companies House number."New value: +"Optional company-registry numbers as reported to GLEIF."
    • removedInput schema / properties / registrationNumbers / items / description
      Removed value: -"Optional company-registry numbers as reported to GLEIF (registeredAs), e.g. a UK Companies House number."
    • removedInput schema / properties / registrationNumbers / items / title
      Removed value: -"Registration numbers"
    • removedInput schema / properties / registrationNumbers / title
      Removed value: -"Registration numbers"
    • changedInput schema / properties / waitSecs / description
      Previous value: -"Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget."New value: +"Seconds to wait for the run to finish (0-45)."
    • changedOutput schema / properties / apifyConsoleUrl / description
      Previous value: -"Personalized Apify Console link to the run; present only for Console sessions"New value: +"Personalized Apify Console link to the run; present only."
    • changedOutput schema / properties / exitCode / description
      Previous value: -"Actor process exit code; populated for terminal states (especially FAILED)"New value: +"Actor process exit code; populated for terminal states."
    • changedOutput schema / properties / status / description
      Previous value: -"Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED"New value: +"Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT |."
    • changedOutput schema / properties / storages / description
      Previous value: -"Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry."New value: +"Dataset and key-value store metadata, keyed by alias."
    • changedOutput schema / properties / storages / properties / datasets / additionalProperties / properties / apifyConsoleUrl / description
      Previous value: -"Personalized Apify Console link to the dataset; present only for Console sessions"New value: +"Personalized Apify Console link to the dataset; present."
    • changedOutput schema / properties / storages / properties / datasets / additionalProperties / properties / inflatedBytes / description
      Previous value: -"Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching."New value: +"Approximate uncompressed byte size of the dataset. Use."
    • changedOutput schema / properties / storages / properties / datasets / description
      Previous value: -"Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset."New value: +"Map of dataset alias → metadata. Key \"default\" is always."
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / apifyConsoleUrl / description
      Previous value: -"Personalized Apify Console link to the dataset; present only for Console sessions"New value: +"Personalized Apify Console link to the dataset; present."
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / inflatedBytes / description
      Previous value: -"Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching."New value: +"Approximate uncompressed byte size of the dataset. Use."
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / description
      Previous value: -"JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema."New value: +"JSON Schema for rows in the dataset at."
    • changedOutput schema / properties / storages / properties / keyValueStores / additionalProperties / properties / apifyConsoleUrl / description
      Previous value: -"Personalized Apify Console link to the store; present only for Console sessions"New value: +"Personalized Apify Console link to the store; present."
    • changedOutput schema / properties / storages / properties / keyValueStores / description
      Previous value: -"Map of key-value store alias → metadata. Key \"default\" is always the run's primary store."New value: +"Map of key-value store alias → metadata. Key \"default\"."
    • changedOutput schema / properties / storages / properties / keyValueStores / properties / default / properties / apifyConsoleUrl / description
      Previous value: -"Personalized Apify Console link to the store; present only for Console sessions"New value: +"Personalized Apify Console link to the store; present."
    • changedOutput schema / properties / tip / description
      Previous value: -"Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key"New value: +"Advisory guidance RAG Web Browser wrote to its key-value."
    • changedOutput schema / properties / tip / properties / caveat / description
      Previous value: -"Present when this session cannot run the Actor the tip recommends"New value: +"Present when this session cannot run the Actor the tip."
    • changedOutput schema / properties / tip / properties / message / description
      Previous value: -"Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer"New value: +"Truncated to 300 characters, with a trailing ellipsis if."
  2. First observed

TDQS

A3.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, yet the description frames the tool purely as a read-only registry lookup with no hint of side effects, cost, or actor-run behavior. The waitSecs/wait semantics of an async run are also never surfaced. The description's 'lookup/return' framing is at odds with the destructive annotation.

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?

Two short sentences, front-loaded with the primary capability and then the intended use case. No wasted wording, though the second sentence is thin enough to border on filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the description covers both lookup modes for a 9-parameter all-optional tool. It omits the asynchronous run/wait behavior and any note on result limits, which leaves a small completeness gap.

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 all nine parameters documented, so the schema carries parameter meaning. The description only implies the name-vs-LEI modes (companyNames vs leis) and adds no format or behavior detail beyond that, so baseline 3 applies.

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 specific verbs and resource: 'Looks up a company LEI by name, or returns LEI details by identifier, from the GLEIF registry', and enumerates the returned fields (legal name, status, jurisdiction, addresses, parents). The two lookup modes are clearly distinguished, so an agent can tell this apart from the sibling feed/search tools.

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?

Gives an explicit use context: 'Use for company identity checks', which tells the agent the scenario this tool serves. It does not name when-not-to-use or point to alternatives, so it falls short of full routing guidance.

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.