@pipeworx/latvia-beneficial-owners
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/latvia-beneficial-owners’s. Install: one-click buttons
Connect to just the @pipeworx/latvia-beneficial-owners pack
https://gateway.pipeworx.io/latvia-beneficial-owners/mcp — only @pipeworx/latvia-beneficial-owners’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: 1
A Latvian legal entity’s beneficial owners — forename, surname, date of birth, nationality, country of residence and registration date — from Latvia’s beneficial-owners open data, published by LR Uznemumu registrs (Latvia Enterprise Register).
Fleet #3332, Bruce’s build-names ruling (#3329, CLAUDE.md “What we will
source” -> personal data). Loaded live 2026-10-19 (Bruce, direct):
199,964 lv_beneficial_owners rows across 164,174 entities, verified
table-count-matched against the ingest manifest.
Tools
lv_beneficial_owners(registration_number)— every beneficial owner on file for one Latvian legal entity, by its unique registration number (e.g."40008018725"). Returns each owner’s forename+surname, date of birth, the register’s own partially-masked personal code, nationality and country of residence (ISO-2 codes — never a street address), and the date the holding was registered. A registration number with no rows answersfound: false, reason: "not_held", not a bare[]— a company can genuinely have no beneficial-owner entry on file.
Auth
Keyless. The tool answers only through the Pipeworx gateway, which holds the
D1 mirror; a standalone npm install has no data to read, and the tool
throws a clear “not bound in this runtime” error there instead of returning
an empty list.
Personal data
Beneficial owners’ names, dates of birth, and nationality/residence
(country-level only) are served under Bruce’s build-names ruling
(fleet #3329/#3332). A shared removal mechanism (@pipeworx/shared’s
applyRemovals, the same one sos-entities uses under the 2026-10-08
names-and-roles ruling) withholds any name on request to
[email protected] — withheld_by_removal_request on every response says
how many were suppressed for that lookup. No address of any kind (the
residence field is a country code, confirmed against a live sample of the
open-data file — never a street address) is collected or served.
Data sources
- LR Uznemumu registrs (Latvia Enterprise Register), beneficial owners open
data. Licence: CC0-1.0 (public domain dedication), published on Latvia’s
national open-data portal. Refreshed by the publisher on its own schedule
(observed daily); this pack refreshes on the same cadence once the daily
workflow is applied (currently a proposal —
proposals/agent-config/.github/workflows/latvia-beneficial-owners-refresh.yml— CLAUDE.md’s agent-config-paths push ruleset blocks a direct.github/workflows/edit, so a human applies it). The exact download route lives only inscripts/latvia-beneficial-owners/refresh.sh(CLAUDE.md step 9b).
Refreshing the mirror
bash scripts/latvia-beneficial-owners/refresh.sh build # download + build local SQLite; no remote writes
bash scripts/latvia-beneficial-owners/refresh.sh load # the above, then replace the D1 tables and verify
Automated daily once the proposed workflow above is applied; until then, run
by hand or via gh workflow run after it lands.
Schema
scripts/latvia-beneficial-owners/schema.sql: lv_beneficial_owners (one
row per owner-entity pair) + lv_meta (key/value: data_as_of, source,
licence). Must stay in sync with src/store.ts’s BeneficialOwnerRow.
Tools
- lv_beneficial_owners — A Latvian entity’s beneficial owners (name, DOB, nationality, residence country) by registration number.
Tools
lv_beneficial_owners— A Latvian entity's beneficial owners (name, DOB, nationality, residence country) by registration number.