@pipeworx/politician-trades
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/politician-trades’s. Install: one-click buttons
Connect to just the @pipeworx/politician-trades pack
https://gateway.pipeworx.io/politician-trades/mcp — only @pipeworx/politician-trades’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 congressional stock-trade disclosures under the STOCK Act.
Tools
politician_recent_trades(ticker?, member?, transaction?, days?, limit?),politician_top_movers(days?, limit?),politician_member_activity(member, days?)— House and Senate trades from an open aggregator (the 35 most active filers for cross-member views; full history for a named member or ticker).house_ptr_search(member?, ticker?, tx_type?, from?, to?, late_only?, limit?)— House trades parsed from the Clerk of the House’s own Periodic Transaction Reports, every member, with transaction date, notification date, real filing date,days_to_file,is_late(filed more than 45 days after the trade, the STOCK Act limit), the disclosed amount bracket and a link to the Clerk’s document. The window is by FILING date.house_ptr_late_filers(from?, to?, min_transactions?, limit?)— the whole House ranked by late transactions over a filing-date window.
Auth
Keyless to the caller. The house_ptr_* tools read a stored copy; the store is
loaded by scripts/load-house-ptr.py (migration 269).
Data sources
- Clerk of the House of Representatives, financial-disclosure filings (Periodic Transaction Reports), 2019 onward. Public, served without credentials. Parsed from the filers’ own documents; each row links to its source document.
- Open aggregator of House and Senate disclosures (the first three tools).
Things the next person would otherwise rediscover
-
Every
house_ptr_*response carries anotice: 5 U.S.C. 13107 bars using these reports for any commercial purpose other than news and communications media dissemination (also credit ratings and solicitation). The notice is the caller’s warning; the store is built on Bruce’s authorisation. -
Refresh:
scripts/load-house-ptr.pyis incremental by DocID. The daily workflow is proposed atproposals/agent-config/.github/workflows/house-ptr-refresh.yml(push-blocked path, applied by Bruce). It exits red when the store is behind an active Clerk index for 7+ days. -
Unread filings are listed, not OCR-read:
coverage.most_recent_unread_filingsgives the ten newest with the Clerk document link. -
House only for
house_ptr_*. The Senate is not in the store. The Senate’s search site requires accepting a use agreement before any disclosure can be read, so it is held until that agreement is accepted by the company. -
Some filings cannot be read. Scanned filings (no text layer) and a few layouts the parser does not read are stored as filings with zero rows and counted in
coverage.filings_not_machine_readable. A member with such a filing may have more trades than shown. Before 2019 the layout varies and coverage is partial; the store starts at 2019. -
Amounts are brackets.
amount_max_usdis null for open-ended brackets (“Over $1,000,000”). The midpoint is only computed for closed brackets. -
is_lateisdays_to_file > 45, filing date minus transaction date. Thedays_from_notificationfield gives the other reading of the rule. -
Loader refresh:
python3 scripts/load-house-ptr.py --years 2026skips filings already stored, so a daily run is one index download plus the new PDFs. A filing-count mismatch between parsed rows and the document’s own status markers is recorded inhouse_ptr_filings.status_markers.
Tools
- politician_recent_trades — Stock trades disclosed by members of Congress under the STOCK Act, back to 2012.
- politician_top_movers — Which tickers attracted the most congressional trading activity in the last N days, aggregated across the top 35 most-active filers. Returns each ticker with trade count, distinct member count, purcha
- politician_member_activity — Detail view for a single member of Congress (or executive-branch filer): full lifetime trade count, windowed activity, late-filing rate, avg days-to-file, estimated disclosed volume, and avg excess re
- house_ptr_search — House members’ stock trades with filing dates, lateness against the 45-day STOCK Act limit, and Clerk document links.
- house_ptr_late_filers — Ranking of House members by late stock-trade filings over a window, from the Clerk’s own reports.
Tools
house_ptr_late_filers— Ranking of House members by late stock-trade filings over a window, from the Clerk's own reports.house_ptr_search— House members' stock trades with filing dates, lateness against the 45-day STOCK Act limit, and Clerk document links.politician_member_activity— Detail view for a single member of Congress (or executive-branch filer): full lifetime trade count, windowed activity, late-filing rate, avg days-to-file, estimated disclosed volume, and avg excess repolitician_recent_trades— Stock trades disclosed by members of Congress under the STOCK Act, back to 2012.politician_top_movers— Which tickers attracted the most congressional trading activity in the last N days, aggregated across the top 35 most-active filers. Returns each ticker with trade count, distinct member count, purcha