@pipeworx/osha
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/osha’s. Install: one-click buttons
Connect to just the @pipeworx/osha pack
https://gateway.pipeworx.io/osha/mcp — only @pipeworx/osha’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: 5
US OSHA workplace-safety standards (29 CFR) AND OSHA enforcement records — inspections, violations, and penalties by establishment.
Tools
osha_standard(citation)— full text of one OSHA standard by citation (e.g. “1910.132”), or a part’s section list.osha_search(query, limit?)— keyword search across OSHA standards (29 CFR parts 1900–1990).osha_inspections(establishment?, state?, since?, limit?)— OSHA inspections for a named establishment and/or state, with dates, inspection type, scope, and open/closed status.osha_inspection(activity_nr)— one inspection’s violations: standard cited, violation type, instances, employees exposed, and initial + current penalty amounts, with totals.osha_establishment_summary(name, state?)— rolled-up inspection count, violation count, total penalties, last inspection date, and the distinct establishment names matched.
Auth
osha_standard/osha_search: keyless (eCFR).osha_inspections/osha_inspection/osha_establishment_summary: platform key (PLATFORM_DOL_KEY) with BYO override via_apiKey— the same key and the same DOL Open Data Portal account thedol-whdpack uses.
Data sources
- https://www.ecfr.gov/api — eCFR, for the standards tools.
- https://apiprod.dol.gov/v4/get/osha/inspection/json — OSHA Inspection (DOL dataset 10334).
- https://apiprod.dol.gov/v4/get/osha/violation/json — OSHA Violation (DOL dataset 10338).
Both enforcement tables are called live, per request — no stored copy. Measured 2026-10-09/10 against the live API:
- The HTML establishment-search UI the original task named
(
osha.gov/pls|ords/imis/establishment.search) sits behind an AWS WAF “Human Verification” CAPTCHA on every request —HTTP 405,x-amzn-waf-action: captcha— even from a plain curl with a full browser User-Agent. That is a JS/CAPTCHA challenge, not a UA check, so no server-side fetch (including a Cloudflare Worker) can pass it. It is not used by this pack. enforcedata.dol.gov301-redirects todata.dol.gov, the same React SPA hostdol-whdalready reverse-engineered. Its real API —apiprod.dol.gov/v4— serves OSHA’s inspection and violation tables live and per-request, filterable byfilter_object, not as a bulk-download catalog. Frequency is “Daily”; a live violation row’sload_dtwas the day before this was built. No baking, no KV/D1, no database — this reusesdol-whd’s already-funded platform key.- Row access repeats two
dol-whdfindings: the/v4/get/...endpoint REJECTS the key as anX-API-KEYHEADER (401) and requires it as a QUERY PARAMETER instead; a zero-match query answersHTTP 204with an EMPTY body, not{"data":[]}. - NEW, not documented anywhere DOL publishes:
likematching onestab_nameis CASE-SENSITIVE and the column is stored UPPER-CASE —%walmart%204s,%WALMART%200s for the identical establishment. Every name/establishment argument is upper-cased before building the filter. - The ~20-call/10-minute 429 throttle
dol-whddocumented is shared by this dataset (hit it live while building this pack). On 429, each enforcement tool backs off twice, then returnsreason: 'upstream_rate_limited'rather than a bare throw or a silentfound:false. data_as_ofon every enforcement response is the call’s own timestamp — there is no cache to report a load date for; the request IS the read.
Tools
- osha_standard — Get the full text of one OSHA standard (US workplace-safety / occupational safety and health regulation) by its citation. OSHA standards are 29 CFR — this returns the exact regulatory wording currentl
- osha_search — Keyword search across OSHA standards — the US workplace-safety / occupational safety and health regulations in 29 CFR (parts 1900–1990). Answers “what OSHA standards cover X”, “OSHA regulation / workp
- osha_inspections — OSHA inspections for a named establishment and/or state — the enforcement record OSHA actually took, not the standards. Answers “has OSHA inspected X”, “list OSHA inspections for X”, “OSHA inspections
- osha_inspection — One OSHA inspection by its activity number (from osha_inspections or osha_establishment_summary): the inspection record plus every violation cited — standard cited, violation type (Serious/Willful/Rep
- osha_establishment_summary — Rolled-up OSHA enforcement history for an establishment: how many inspections, how many violations, total initial and current penalty amounts across all of them, the most recent inspection date, and t
Tools
osha_establishment_summary— Rolled-up OSHA enforcement history for an establishment: how many inspections, how many violations, total initial and current penalty amounts across all of them, the most recent inspection date, and tosha_inspection— One OSHA inspection by its activity number (from osha_inspections or osha_establishment_summary): the inspection record plus every violation cited — standard cited, violation type (Serious/Willful/Reposha_inspections— OSHA inspections for a named establishment and/or state — the enforcement record OSHA actually took, not the standards. Answers has OSHA inspected X , list OSHA inspections for X , OSHA inspections inosha_search— Keyword search across OSHA standards — the US workplace-safety / occupational safety and health regulations in 29 CFR (parts 1900–1990). Answers what OSHA standards cover X , OSHA regulation / workplaosha_standard— Get the full text of one OSHA standard (US workplace-safety / occupational safety and health regulation) by its citation. OSHA standards are 29 CFR — this returns the exact regulatory wording currentl