@pipeworx/peru-sunat-ruc
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/peru-sunat-ruc’s. Install: one-click buttons
Connect to just the @pipeworx/peru-sunat-ruc pack
https://gateway.pipeworx.io/peru-sunat-ruc/mcp — only @pipeworx/peru-sunat-ruc’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: 2
Peru’s SUNAT (tax authority) taxpayer register, “Padron reducido del RUC”: every 11-digit company RUC with the registered name (razon social), taxpayer status (active, deregistered, suspended …), domicile condition (habido / no habido …) and, for legal entities, the registered address with its INEI ubigeo code. About 2.37 million company and government-office RUCs (individuals excluded) as of the 2026-10-29 edition.
latam-validate checks RUC format only; this pack answers whether the RUC is
in SUNAT’s register and what state it is in.
Tools
pe_ruc(ruc)— look up one taxpayer by 11-digit RUC. Returnsfound: falsewith areason(bad_format, ornot_in_registerpluscheck_digit_valid) anddata_as_of— never an empty object.pe_ruc_search(name, ubigeo?, active_only?, limit?)— accent-insensitive name search over legal entities (every word of 3+ letters must appear), active registrations first, optional ubigeo prefix (2 = department, 4 = province, 6 = district).
Every response carries data_as_of and source. Status and domicile condition
are returned as SUNAT published them (the publisher truncates its labels to 20
characters, e.g. BAJA PROV. POR OFICI) beside a best-effort English gloss.
Natural persons are excluded
This pack covers companies and organisations only (RUC prefix 20, plus
government offices, prefix 00; about 2.37M registrations). Individuals (RUCs
beginning 10, 15, 17, about 16.1M of the register) are not stored, not
looked up and not searchable — Bruce ruling, 2026-10-29. pe_ruc on an
individual’s RUC answers found: false, reason: "natural_person_not_served"
from the RUC prefix alone, without reading the database and without disclosing
a name, status or whether the number exists. The loader drops those prefixes
before writing.
Auth
Keyless. The tools work only through the Pipeworx gateway (the register lives
in a gateway-side database); a standalone install returns a loud
StoreUnavailableError, never an empty result.
Data source & reuse terms
- SUNAT (Superintendencia Nacional de Aduanas y de Administracion Tributaria,
Peru), “Padron reducido del RUC”, published as a daily-updated bulk file
(page stamp “Actualizado al DD/MM/YYYY”).
data_as_ofon every response is that stamp for the loaded edition. Fetch mechanics live only inscripts/peru-sunat-ruc/, which does not publish (CLAUDE.md step 9b). - Reuse terms: none are published. The publisher’s download page (read 2026-10-29) carries only the title “Padron Reducido”, the stamp “(Actualizado al 29/10/2026)” and two download links; there is no licence, terms-of-use or redistribution statement on it. It is Peruvian public tax-register data served to anyone without credentials, and nothing forbids redistribution, so it is served — flagged here as no explicit reuse grant.
Refresh
bash scripts/peru-sunat-ruc/refresh.sh load downloads the edition, builds a
local SQLite file (ISO-8859-1, |-delimited, \| escapes a literal pipe;
fails loudly on an unknown status, a malformed row, or a truncated download),
replaces the D1 tables, fills the trigram name index in batches and asserts it
is complete. refresh.sh verify is read-only; verify --self-test proves the
completeness gate can fail.
Tools
- pe_ruc — Look up a Peruvian company by RUC (individuals excluded) in the SUNAT register.
- pe_ruc_search — Search Peruvian companies by name in the SUNAT register, optionally by ubigeo.
Tools
pe_ruc— Look up a Peruvian company by RUC (individuals excluded) in the SUNAT register.pe_ruc_search— Search Peruvian companies by name in the SUNAT register, optionally by ubigeo.