MCP Server

trades

com.potomacledger/trades
Data & Analytics Finance & Investing Public & reachable MCP 2026-07-28

What this MCP does

Searches and aggregates disclosed stock trades by US congressional and executive officials, including ticker activity and potential conflicts.

aggregates
Summary stats over the filtered set: totals, branch split, most-active officials, top tickers bought/sold (per individual stock), top sectors bought/sold, potential conflict count, date range. Accepts the same branch/role/since/until/type/ticker filters as search — pass branch=congress + role=Senate + since=YYYY-MM-DD to scope. Use this BEFORE paginating search_trades when you only need ranked counts.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'role': {'type': 'string', 'description': 'Chamber (Senate/House) or title substring'}, 'type': {'type': 'string', 'description': 'Direction: "buy", "sell", or "exchange" (case-insensitive)'}, 'since': {'type': 'string'}, 'until': {'type': 'string'}, 'branch': {'type': 'string', 'description': 'Either "congress" or "executive" (case-insensitive)'}, 'ticker': {'type': 'string'}}}
get_person_trades
All disclosed trades for a named member of Congress or executive-branch official.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'limit': {'type': 'number'}}}
get_ticker_activity
Which officials have disclosed trades in a given ticker.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'limit': {'type': 'number'}, 'ticker': {'type': 'string'}}}
list_conflicts
Trades flagged as a potential conflict (company sector overlaps the official's committee or agency). Accepts branch/role/since/until filters.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'role': {'type': 'string'}, 'limit': {'type': 'number'}, 'since': {'type': 'string'}, 'until': {'type': 'string'}, 'branch': {'type': 'string', 'description': 'Either "congress" or "executive" (case-insensitive)'}}}
list_recent_trades
The most recently disclosed trades — newest first. Accepts the same branch/role/since/until/type filters as search_trades so an agent can scope to a chamber or window in one call.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'role': {'type': 'string', 'description': 'Chamber (Senate/House) or title substring'}, 'type': {'type': 'string', 'description': 'Direction: "buy", "sell", or "exchange" (case-insensitive)'}, 'limit': {'type': 'number'}, 'since': {'type': 'string', 'description': 'ISO date lower bound'}, 'until': {'type': 'string', 'description': 'ISO date upper bound'}, 'branch': {'type': 'string', 'description': 'Either "congress" or "executive" (case-insensitive)'}}}
search_trades
Search disclosed trades by person, ticker, branch, role (Senate/House/title), buy/sell, conflict flag, minimum dollar amount, and date window. Returns newest first.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'role': {'type': 'string', 'description': 'Chamber for Congress (Senate / House) or title substring for executive (President / Secretary / Administrator…), case-insensitive'}, 'type': {'type': 'string', 'description': 'Transaction direction: "buy", "sell" (includes partial sales), or "exchange". Case-insensitive.'}, 'limit': {'type': 'number', 'description': 'Max results per page (default 100, capped 500)'}, 'since': {'type': 'string', 'description': 'ISO date lower bound (disclosure/trade date)'}, 'until': {'type': 'string', 'description': 'ISO date upper bound'}, 'branch': {'type': 'string', 'description': 'Either "congress" or "executive" (case-insensitive)'}, 'offset': {'type': 'number', 'description': 'Skip the first N matching rows — pair with limit to page through large result sets'}, 'person': {'type': 'string', 'description': 'Member or official name (substring, case-insensitive)'}, 'ticker': {'type': 'string', 'description': 'Stock ticker, e.g. NVDA (case-insensitive)'}, 'conflict': {'type': 'boolean', 'description': 'Only trades flagged as a potential conflict'}, 'minAmount': {'type': 'number', 'description': 'Minimum upper-bound of the disclosed dollar range'}}}
Added
aggregates
Sept. 17, 2026, 12:36 p.m.
Added
list_conflicts
Sept. 17, 2026, 12:36 p.m.
Added
list_recent_trades
Sept. 17, 2026, 12:36 p.m.
Added
get_ticker_activity
Sept. 17, 2026, 12:36 p.m.
Added
get_person_trades
Sept. 17, 2026, 12:36 p.m.
Added
search_trades
Sept. 17, 2026, 12:36 p.m.