@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. Ifcountrynarrows the result to nothing, the filter is dropped and the response says so viacountry_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 asresolved_from_name.legal_formandregistration_authorityare decoded inline, best-effort, aslegal_form_decoded/registration_authority_decoded(seedecode_elf_code/decode_registration_authoritybelow) — 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 asmapped: 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 theXXXhead-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_countandby_jurisdictionalways cover the full group; the member list is capped atlimit(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. Carriesdata_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 inDEthat 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_daysapplies tostatus_date(LAPSED = the renewal date missed; RETIRED/ANNULLED = entity expiration date, else last update; ISSUED = initial registration) or, withevent_type, to the event date.totalis exact up to 100,000. GLEIF records a merger asRETIREDplus aMERGERS_AND_ACQUISITIONS/ABSORPTIONevent withsuccessor_lei—MERGEDis refused with that explanation rather than answered with zero rows. Sole-proprietor names are withheld in bulk results (they name individuals). Carriesdata_as_of.decode_elf_code(code)— decode an ISO 20275 Entity Legal Form code (the 4-character code inlegal_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 viais_sentinelrather than answered as a plain miss.decode_registration_authority(code)— decode a GLEIF Registration Authority code (the code inregistration_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.