trades
Stock trades of U.S. Congress & executive-branch officials, with conflict flags. Read-only.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"trades": {
"url": "https://potomacledger.com/mcp"
}
}
}Remote endpoints
https://potomacledger.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
π’search_trades(person, ticker, branch, role, type, ...)
Search disclosed trades by person, ticker, branch, role (Senate/House/title), buy/sell, conflict flag, minimum dollar amount, and date window. Returns newest first.
Input Schema
{
"type": "object",
"properties": {
"person": {
"type": "string",
"description": "Member or official name (substring, case-insensitive)"
},
"ticker": {
"type": "string",
"description": "Stock ticker, e.g. NVDA (case-insensitive)"
},
"branch": {
"type": "string",
"description": "Either \"congress\" or \"executive\" (case-insensitive)"
},
"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."
},
"conflict": {
"type": "boolean",
"description": "Only trades flagged as a potential conflict"
},
"minAmount": {
"type": "number",
"description": "Minimum upper-bound of the disclosed dollar range"
},
"since": {
"type": "string",
"description": "ISO date lower bound (disclosure/trade date)"
},
"until": {
"type": "string",
"description": "ISO date upper bound"
},
"limit": {
"type": "number",
"description": "Max results per page (default 100, capped 500)"
},
"offset": {
"type": "number",
"description": "Skip the first N matching rows β pair with limit to page through large result sets"
}
}
}π’get_person_trades(name, limit)
All disclosed trades for a named member of Congress or executive-branch official.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"limit": {
"type": "number"
}
},
"required": [
"name"
]
}π’get_ticker_activity(ticker, limit)
Which officials have disclosed trades in a given ticker.
Input Schema
{
"type": "object",
"properties": {
"ticker": {
"type": "string"
},
"limit": {
"type": "number"
}
},
"required": [
"ticker"
]
}π’list_recent_trades(branch, role, since, until, type, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"branch": {
"type": "string",
"description": "Either \"congress\" or \"executive\" (case-insensitive)"
},
"role": {
"type": "string",
"description": "Chamber (Senate/House) or title substring"
},
"since": {
"type": "string",
"description": "ISO date lower bound"
},
"until": {
"type": "string",
"description": "ISO date upper bound"
},
"type": {
"type": "string",
"description": "Direction: \"buy\", \"sell\", or \"exchange\" (case-insensitive)"
},
"limit": {
"type": "number"
}
}
}π’list_conflicts(branch, role, since, until, limit)
Trades flagged as a potential conflict (company sector overlaps the official's committee or agency). Accepts branch/role/since/until filters.
Input Schema
{
"type": "object",
"properties": {
"branch": {
"type": "string",
"description": "Either \"congress\" or \"executive\" (case-insensitive)"
},
"role": {
"type": "string"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
},
"limit": {
"type": "number"
}
}
}π’aggregates(branch, role, since, until, type, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"branch": {
"type": "string",
"description": "Either \"congress\" or \"executive\" (case-insensitive)"
},
"role": {
"type": "string",
"description": "Chamber (Senate/House) or title substring"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
},
"type": {
"type": "string",
"description": "Direction: \"buy\", \"sell\", or \"exchange\" (case-insensitive)"
},
"ticker": {
"type": "string"
}
}
}Community
Evidence