@pipeworx/ferc-form1
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/ferc-form1’s. Install: one-click buttons
Connect to just the @pipeworx/ferc-form1 pack
https://gateway.pipeworx.io/ferc-form1/mcp — only @pipeworx/ferc-form1’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: 7
FERC Form 1 annual financial reports of major US investor-owned electric, gas and combination utilities: income statement, comparative balance sheet, summary of utility plant, purchased power and sales for resale, by respondent (utility) and report year, 1994 to date.
Tools
ferc1_find_utility(query, limit?)— find a Form 1 respondent by name and get its FERC respondent id.found:falsewhen nothing matches.ferc1_income_statement(utility, year?, utility_type?)— Schedule 114 line items for one utility-year, plus a headline block (total operating revenues, operating expenses, net utility operating income, net income). Answers “PacifiCorp total operating revenues 2023”.ferc1_income_history(utility, income_type?, utility_type?)— one income-statement line across every year on file, for trends.ferc1_balance_sheet(utility, year?)— Schedule 110 assets and liabilities/equity with starting and ending balances.ferc1_utility_plant(utility, year?, utility_type?)— Schedule 200 plant in service, construction work in progress and accumulated depreciation by segment.ferc1_purchased_power(utility, year?, purchase_type?, limit?)— Schedule 326 purchased power and exchanges: each seller, purchase type, MWh and settlement dollars, largest first, 1994 to date. Subtotal rows are excluded and reported insubtotals_excluded;top_counterparties_aggregatedsums a seller’s several contract lines. Answers “PacifiCorp 1994 purchased power by supplier”.ferc1_sales_for_resale(utility, year?, classification?, limit?)— Schedule 310 sales for resale: each purchaser, classification, MWh sold and revenue, largest first, 1994 to date. Same subtotal handling. Answers “LG&E 1994 sales for resale, largest purchaser”.
utility takes a name or the numeric FERC respondent id. Trade acronyms resolve too (LG&E, PG&E, KU). An unknown respondent returns found:false; an ambiguous name returns ambiguous:true with candidates. Amounts are US dollars as filed. Rows marked is_correction are reconciliation adjustments added by the data processor so the columns sum.
This is not ferc-elibrary (FERC’s filing and docket search) or ferc-eqr (wholesale power transactions), and it is not sec-xbrl: Form 1 includes non-listed and subsidiary respondents that SEC company facts do not break out. Form 1 figures follow FERC’s Uniform System of Accounts, so a utility’s total can differ slightly from its GAAP figure in an SEC filing.
Auth
Keyless.
Data sources
- Catalyst Cooperative, Public Utility Data Liberation (PUDL) project, processed FERC Form 1 tables and, for sales for resale (not a processed table), the FERC Form 1 filings PUDL publishes for 1994-2020 plus the 2021+ electronic filings — derived from the filings utilities submit to the US Federal Energy Regulatory Commission. Published under CC-BY-4.0 (PUDL README: “The PUDL data and documentation are published under the Creative Commons Attribution License v4.0”); the underlying FERC filings are US federal public data. Every response carries the attribution.
The PUDL tables are large bulk files (hundreds of thousands of rows) with no query API, so a refresh script (scripts/refresh-form1.mjs, run weekly by a scheduled job) groups them by respondent and writes one small object per respondent per schedule group (statements, purchased power, sales for resale) plus a respondent index to the shared R2 store (ferc-form1/). A call reads the index and one respondent’s object. data_as_of is the publication date of the PUDL release the data comes from; copy_refreshed_at is when the copy was last rebuilt. A missing index or respondent object is an error, never found:false: only the index decides that a respondent does not exist.
Notes
- Respondent ids are FERC’s
respondent_id; PUDL’s ownutility_id_pudlis returned alongside for joining to other PUDL data. FERC’s test respondents are excluded. - Several respondents share a trade name (for example “Duke Energy”); use
ferc1_find_utilityand pass the numeric id. - Refresh:
node mcps/ferc-form1/scripts/refresh-form1.mjs(R2 write needsCLOUDFLARE_API_TOKEN+CLOUDFLARE_ACCOUNT_IDor an operator wrangler login);--out <dir>writes the objects to a directory instead,--dry-runwrites nothing.
Tools
- ferc1_find_utility — Find FERC Form 1 respondents (US investor-owned electric/gas utilities that file the annual FERC Form 1) by name. Returns the FERC respondent id to use in the other ferc1_* tools. found:false when no
- ferc1_income_statement — FERC Form 1 income statement (Schedule 114) for one utility and report year: operating revenues, operating expenses, taxes, net utility operating income, net income, in US dollars as filed, by line it
- ferc1_income_history — One FERC Form 1 income-statement line (default operating_revenues) for one utility across every report year on file, 1994 to date, for trends. Use ferc1_income_statement to see the available income_ty
- ferc1_balance_sheet — FERC Form 1 comparative balance sheet (Schedule 110) for one utility and report year: assets and liabilities/equity line items with starting and ending balances in US dollars. Source: FERC Form 1 as p
- ferc1_utility_plant — FERC Form 1 summary of utility plant and accumulated provisions for depreciation, amortization and depletion (Schedule 200) for one utility and report year: plant in service, construction work in prog
- ferc1_purchased_power — FERC Form 1 purchased power and exchanges (Schedule 326) for one utility and report year, 1994 to date: each seller (counterparty), purchase type (RQ requirements, LF long-term firm, IF intermediate f
- ferc1_sales_for_resale — FERC Form 1 sales for resale (Schedule 310) for one utility and report year, 1994 to date: each purchaser (buyer), statistical classification (RQ, LF, IF, SF, LU, OS, AD), MWh sold and revenue dollars
Tools
ferc1_balance_sheet— FERC Form 1 comparative balance sheet (Schedule 110) for one utility and report year: assets and liabilities/equity line items with starting and ending balances in US dollars. Source: FERC Form 1 as pferc1_find_utility— Find FERC Form 1 respondents (US investor-owned electric/gas utilities that file the annual FERC Form 1) by name. Returns the FERC respondent id to use in the other ferc1_* tools. found:false when noferc1_income_history— One FERC Form 1 income-statement line (default operating_revenues) for one utility across every report year on file, 1994 to date, for trends. Use ferc1_income_statement to see the available income_tyferc1_income_statement— FERC Form 1 income statement (Schedule 114) for one utility and report year: operating revenues, operating expenses, taxes, net utility operating income, net income, in US dollars as filed, by line itferc1_purchased_power— FERC Form 1 purchased power and exchanges (Schedule 326) for one utility and report year, 1994 to date: each seller (counterparty), purchase type (RQ requirements, LF long-term firm, IF intermediate fferc1_sales_for_resale— FERC Form 1 sales for resale (Schedule 310) for one utility and report year, 1994 to date: each purchaser (buyer), statistical classification (RQ, LF, IF, SF, LU, OS, AD), MWh sold and revenue dollarsferc1_utility_plant— FERC Form 1 summary of utility plant and accumulated provisions for depreciation, amortization and depletion (Schedule 200) for one utility and report year: plant in service, construction work in prog