@pipeworx/gleif

Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/gleif’s. Install: one-click buttons

Connect to just the @pipeworx/gleif pack

https://gateway.pipeworx.io/gleif/mcp — only @pipeworx/gleif’s own tools, nothing else in the catalog.

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 11

Global Legal Entity Identifier Foundation MCP — LEI lookup, ISIN/BIC-to-entity mapping, and corporate hierarchy, no auth.

Tools

  • search_lei(query, country?, status?, page_size?) — fuzzy entity-name search. If country narrows the result to nothing, the filter is dropped and the response says so via country_filter_dropped — GLEIF filters on the registered legal address, which often is not where the entity operates (no Sberbank-named record has a Russian one; they sit in CY/SK/LU/GB).
  • get_lei(lei) — full Level 1 record: legal name, addresses, jurisdiction, legal form, and LEI registration status. Accepts a company name as well as a 20-character LEI; a resolved name is echoed back as resolved_from_name. legal_form and registration_authority are decoded inline, best-effort, as legal_form_decoded / registration_authority_decoded (see decode_elf_code / decode_registration_authority below) — a decode failure never blocks the base record, and the raw codes are always still present.

registered_as + registration_authority (on get_lei and every search_lei result). The company’s id in its OWN national business register, and the code of that register — RA000585 UK Companies House, RA000189 INSEE Sirene, RA000413 Japan NTA, RA000472 Brønnøysund. This is what ties an LEI to a national-register record by key rather than by name similarity (the name route is what resolved “Porsche” to a Martinique entity). An id is only unique within its register, so always read the pair. Two things to know: GLEIF publishes some registers’ ids with spaces inside them (Equinor’s Norwegian orgnr arrives as 923 609 016) and this pack strips all whitespace so the id joins — nothing else is changed, because -, ., _ and / are part of how those registers format their own ids; and RA999999 is GLEIF’s “other / not applicable” sentinel, which never carries an id (0 of 201 in a sampled daily delta). Null when GLEIF publishes no id — ~7.5% of records.

  • get_lei_relationships(lei) — Level 2 direct parent, ultimate parent, direct children (one hop).
  • isin_to_lei(isin) — resolve a security’s ISIN to the legal entity that issued it (LEI + legal name). A valid-but-unmapped ISIN is reported as mapped: false, reason: "isin_unmapped" — the mapping lags new issuance, so unmapped ≠ nonexistent.
  • lei_to_isins(lei) — all ISINs issued by an entity (LEI or company name accepted). Returns the full set — one entity issues many securities.
  • bic_to_lei(bic) — resolve a SWIFT/BIC (8 or 11 chars) to the bank’s legal entity. 8-char codes are padded to the XXX head-office form (GLEIF’s filter matches 11-char BICs only); a branch BIC with no mapping of its own falls back to the head office and says so.
  • lei_hierarchy_tree(lei, depth?) — multi-hop ownership: ancestor chain up to the ultimate parent plus a breadth-first subsidiary tree (depth 1–4, default 2, node budget 150/call).
  • gleif_group_members(lei, limit?) — the WHOLE consolidated group in one call, across every jurisdiction. Pass any member (LEI or name); the tool climbs to the ultimate accounting-consolidation parent and returns every entity that reports it, every direct-parent descendant, and their international branches. member_count, jurisdiction_count and by_jurisdiction always cover the full group; the member list is capped at limit (default 300, max 2000) and says when it is. Siemens AG: 572 reported subsidiaries, matching GLEIF’s own ultimate-children count. Fund-management links are not ownership and are excluded. Carries data_as_of.
  • gleif_lei_screen(jurisdiction, registration_status?, entity_status?, category?, event_type?, since_days?, name_contains?, limit?, offset?) — bulk screen across all ~3.4M LEIs: e.g. every LEI in DE that lapsed in the last 30 days, Delaware (US-DE) entities retired this quarter, UK entities whose latest event is a merger. A country code includes its subdivisions. since_days applies to status_date (LAPSED = the renewal date missed; RETIRED/ANNULLED = entity expiration date, else last update; ISSUED = initial registration) or, with event_type, to the event date. total is exact up to 100,000. GLEIF records a merger as RETIRED plus a MERGERS_AND_ACQUISITIONS/ABSORPTION event with successor_lei — MERGED is refused with that explanation rather than answered with zero rows. Sole-proprietor names are withheld in bulk results (they name individuals). Carries data_as_of.
  • decode_elf_code(code) — decode an ISO 20275 Entity Legal Form code (the 4-character code in legal_form) to its registered name, language, country and jurisdiction, e.g. "XJHM" → Sweden’s “Aktiebolag”. The two ISO sentinel codes, "8888" (no specific legal form recorded) and "9999" (not yet classified), carry no country and are flagged via is_sentinel rather than answered as a plain miss.
  • decode_registration_authority(code) — decode a GLEIF Registration Authority code (the code in registration_authority) to the national business register’s name, website and jurisdiction(s), e.g. "RA000585" → the UK’s Companies House. Bare digits are zero-padded and prefixed with "RA" automatically.

Data source

gleif_group_members and gleif_lei_screen answer from the GLEIF golden copy (Level 2 relationship records and Level 1 entity reference data, published three times a day at goldencopy.gleif.org), refreshed daily. data_as_of in each response is the GLEIF publish time the answer reflects.

Licence. GLEIF LEI Data Terms of Use, section II: “The data available through the Access Service are provided under the CC0 licence” (terms, read 2026-09-30).

decode_elf_code and decode_registration_authority answer per code from GLEIF’s own ISO 20275 Entity Legal Forms code list and its Registration Authorities list. get_lei’s inline legal_form_decoded / registration_authority_decoded use the same two lookups.

The other tools:

https://api.gleif.org/api/v1/ — public JSON:API, no key required. ISIN and BIC joins use GLEIF’s official ISIN-to-LEI and BIC-to-LEI mapping files as served through the same API (filter[isin], filter[bic], /lei-records/{lei}/isins).

Passing an LEI

Every tool that takes an lei argument also takes a company name — the name is resolved against the registry and the match is returned alongside the answer. Pass the name whenever that is what you have.

Never construct an LEI code. A guessed 20-character string that happens to be a real LEI belongs to some other company, and GLEIF returns its record with nothing to indicate the wrong entity was fetched — a request for Wirecard AG once came back as Baader Bank Aktiengesellschaft. Codes are checked against the ISO 17442 (ISO 7064 MOD 97-10) check digits before any request is made, and a code that fails is rejected with a message naming search_lei; that catches roughly 96 of every 97 invented codes, but not one that collides with a live record, which is why the name path exists.

Tools

  • search_lei — Legal entities matching a name search, with their LEI codes, from the Global LEI Foundation.
  • get_lei — One legal entity’s registration record by its LEI code, from the Global LEI Foundation.
  • get_lei_relationships — A legal entity’s parent and subsidiary relationships, by LEI, from the Global LEI Foundation.
  • isin_to_lei — The LEI code(s) mapped to a security’s ISIN, from the Global LEI Foundation.
  • lei_to_isins — The security ISINs mapped to a legal entity’s LEI, from the Global LEI Foundation.
  • bic_to_lei — The LEI code mapped to a bank’s BIC/SWIFT code, from the Global LEI Foundation.
  • lei_hierarchy_tree — A legal entity’s full parent/subsidiary hierarchy tree, by LEI, from the Global LEI Foundation.
  • gleif_group_members — Every legal entity in a corporate group across jurisdictions, from the GLEIF golden copy.
  • gleif_lei_screen — LEI registrations in a jurisdiction screened by status, event and date, from the GLEIF golden copy.
  • decode_elf_code — The name, country and jurisdiction behind an ISO 20275 entity-legal-form code, from the Global LEI Foundation.
  • decode_registration_authority — The national business register behind a GLEIF registration-authority code, from the Global LEI Foundation.

Tools

  • bic_to_lei — The LEI code mapped to a bank's BIC/SWIFT code, from the Global LEI Foundation.
  • decode_elf_code — The name, country and jurisdiction behind an ISO 20275 entity-legal-form code, from the Global LEI Foundation.
  • decode_registration_authority — The national business register behind a GLEIF registration-authority code, from the Global LEI Foundation.
  • get_lei — One legal entity's registration record by its LEI code, from the Global LEI Foundation.
  • get_lei_relationships — A legal entity's parent and subsidiary relationships, by LEI, from the Global LEI Foundation.
  • gleif_group_members — Every legal entity in a corporate group across jurisdictions, from the GLEIF golden copy.
  • gleif_lei_screen — LEI registrations in a jurisdiction screened by status, event and date, from the GLEIF golden copy.
  • isin_to_lei — The LEI code(s) mapped to a security's ISIN, from the Global LEI Foundation.
  • lei_hierarchy_tree — A legal entity's full parent/subsidiary hierarchy tree, by LEI, from the Global LEI Foundation.
  • lei_to_isins — The security ISINs mapped to a legal entity's LEI, from the Global LEI Foundation.
  • search_lei — Legal entities matching a name search, with their LEI codes, from the Global LEI Foundation.

Regenerated from source · build October 30, 2026