@pipeworx/ferc-elibrary
Connect: https://gateway.pipeworx.io/ferc-elibrary/mcp · Install: one-click buttons
Tools: 3
FERC eLibrary MCP — search the Federal Energy Regulatory Commission’s public docket and document record (elibrary.ferc.gov). Keyless JSON API, no bot wall.
Tools
ferc_docket(docket, page?, limit?)— all filings/orders for a docket number. Matches the docket family, so results can include related sub-dockets.ferc_search(query?, since?, until?, full_text?, page?, limit?)— full-text search across all dockets, optionally bounded to a filed-date window.ferc_class_types(search?)— browse the document class/type/library vocabulary used incategoryandclass_typesfields.
Auth
Keyless.
Data sources
POST https://elibrary.ferc.gov/eLibraryWebAPI/api/Search/AdvancedSearch— undocumented (FERC publishes no API docs for this endpoint); the request/response shape was reconstructed from the Angular SPA’s bundled JS and live-verified (seedocs/ferc-elibrary-api.md).GET https://elibrary.ferc.gov/eLibraryWebAPI/api/Search/GetClassTypes— keyless, backsferc_class_types.
Quirks
dateTypeis snake_case (filed_date/created_date/posted_date), not the UI label (“Filed”). Sending the wrong value is a silent failure: HTTP 200,success:true,errorMessage:null,totalHits:0— indistinguishable from a genuine no-hits query. This pack always sendsfiled_datein snake_case;ferc_searchechoes the applied window back so a caller can tell the filter actually took effect.- Upstream’s own field name for accession number has a typo —
acesssionNumber(three s’s) — kept as-is on the wire, normalized toaccession_numberin this pack’s output. - Zero hits (or
success:false) returns{found:false, reason, hint}from bothferc_docketandferc_searchrather than a bare empty array — a bare empty list would be indistinguishable from an upstream fault or adateTypemistake. - FERC’s own Cloudflare edge intermittently 522s (transient origin flakiness, not a rate limit or a block — confirmed not reproducible in 13 consecutive attempts after the first). This pack retries once with a short backoff before surfacing an
upstream_down:error. - Document file download (
GetDocInfoByAccessionNo,GetDocInfo,GetFileListByAccession) is out of scope — all three 404/400 on the shapes tried during the probe, andAdvancedSearchalready returns everything these tools need (accession numbers, dates, categories, docket families).
Tools
- ferc_docket — Get all filings, orders, and correspondence for a FERC (Federal Energy Regulatory Commission) docket number — e.g. rate cases, interconnection agreements, tariff filings, orders on rehearing. Returns
- ferc_search — Full-text search across all FERC (Federal Energy Regulatory Commission) eLibrary filings and orders — not limited to one docket. Optionally bound to a filed-date window with since/until. Use for “FERC
- ferc_class_types — Browse FERC eLibrary’s document class/type/library vocabulary — what “category” and “class_types” values from ferc_docket/ferc_search mean (e.g. “Order/Opinion” / “Delegated Order”, “Submittal” / “Aff
Tools
-
ferc_class_types— Browse FERC eLibrary's document class/type/library vocabulary — what category and class_types values from ferc_docket/ferc_search mean (e.g. Order/Opinion / Delegated Order , Submittal / Affidavits/Sw -
ferc_docket— Get all filings, orders, and correspondence for a FERC (Federal Energy Regulatory Commission) docket number — e.g. rate cases, interconnection agreements, tariff filings, orders on rehearing. Returns -
ferc_search— Full-text search across all FERC (Federal Energy Regulatory Commission) eLibrary filings and orders — not limited to one docket. Optionally bound to a filed-date window with since/until. Use for FERC