Congressional stock-trade disclosures (House + Senate PTRs) with each filing's lateness vs 45 days
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get high-level database stats: total trades (all-time + 30/60/90d), total members tracked, avg filing delay, sector breakdown.
This tool takes no arguments.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http cta https://congresstradealerts.com/mcp
Get high-level database stats: total trades (all-time + 30/60/90d), total members tracked, avg filing delay, sector breakdown.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get trade counts broken down by chamber (House vs Senate), with optional date filter.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "integer",
"maximum": 3650,
"minimum": 1,
"description": "Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete."
}
}
}For a given congressional committee, returns which members traded stock in the last N days, their trade counts, and the percentage of the committee that traded.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days, measured on trade date (default 90). Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete. |
| committee_name* | string | Committee name or partial match, e.g. "Armed Services", "Finance" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"committee_name"
],
"properties": {
"days": {
"type": "integer",
"default": 90,
"maximum": 365,
"minimum": 1,
"description": "Look-back window in days, measured on trade date (default 90). Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete."
},
"committee_name": {
"type": "string",
"description": "Committee name or partial match, e.g. \"Armed Services\", \"Finance\""
}
}
}Returns a trading profile for one member of Congress: total trades, buys and sells, first and last trade dates, average disclosure lag, party, chamber, state, and committee assignments. member_name must exactly match the stored member name (the STOCK Act filer name with honorifics removed, often a legal name); a name that does not match returns total_trades 0 and no error, so resolve names with search_members_and_tickers first. The profile covers only trades filed under that exact spelling.
| Argument | Type | Description |
|---|---|---|
| member_name* | string | Exact stored member name, e.g. "Tommy Tuberville"; look it up with search_members_and_tickers |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"member_name"
],
"properties": {
"member_name": {
"type": "string",
"description": "Exact stored member name, e.g. \"Tommy Tuberville\"; look it up with search_members_and_tickers"
}
}
}Returns stock trades disclosed by one member of Congress, newest trade first, with optional ticker and date-window filters. member_name must exactly match the member name as stored: the STOCK Act filer name with honorifics removed, which is often a legal name rather than the name the member is commonly known by. A name that does not match returns count 0 and no error, so resolve a common or partial name with search_members_and_tickers first. Only trades filed under that exact spelling are returned; for a member who filed under more than one spelling, use get_trade_feed with a partial name to see them all.
| Argument | Type | Description |
|---|---|---|
| days | integer | Only trades whose trade date is within the last N days. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of the window is incomplete. |
| limit | integer | Max trades to return (default 50) |
| ticker | string | Filter to a specific ticker symbol, e.g. "NVDA" |
| member_name* | string | Exact stored member name, e.g. "Nancy Pelosi"; look it up with search_members_and_tickers |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"member_name"
],
"properties": {
"days": {
"type": "integer",
"maximum": 3650,
"minimum": 1,
"description": "Only trades whose trade date is within the last N days. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of the window is incomplete."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Max trades to return (default 50)"
},
"ticker": {
"type": "string",
"description": "Filter to a specific ticker symbol, e.g. \"NVDA\""
},
"member_name": {
"type": "string",
"description": "Exact stored member name, e.g. \"Nancy Pelosi\"; look it up with search_members_and_tickers"
}
}
}Get trade counts broken down by party (D/R/I), with optional date filter.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "integer",
"maximum": 3650,
"minimum": 1,
"description": "Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete."
}
}
}Get every Congress member who bought a specific ticker in the last N days, aggregated per politician.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete. |
| ticker* | string | Ticker symbol, e.g. "NVDA" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ticker"
],
"properties": {
"days": {
"type": "integer",
"default": 90,
"maximum": 365,
"minimum": 1,
"description": "Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete."
},
"ticker": {
"type": "string",
"description": "Ticker symbol, e.g. \"NVDA\""
}
}
}Get the most-traded stock tickers by Congress in the last N days. Set tx_type='Purchase' for most-bought tickers, or tx_type='Sale' for most-sold. Omit tx_type to rank on all trades (default).
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete. |
| limit | integer | Max results |
| tx_type | string | Filter by transaction type: "Purchase" = buys only, "Sale" = sells only. Omit for all trades. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "integer",
"default": 90,
"maximum": 3650,
"minimum": 1,
"description": "Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Max results"
},
"tx_type": {
"enum": [
"Purchase",
"Sale"
],
"type": "string",
"description": "Filter by transaction type: \"Purchase\" = buys only, \"Sale\" = sells only. Omit for all trades."
}
}
}Returns the most active stock traders in Congress by trade count, optionally filtered by chamber (House or Senate) and date window.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days, measured on trade date (default 90). Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete. |
| limit | integer | Number of traders to return (default 10) |
| chamber | string | Filter by chamber |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "integer",
"default": 90,
"maximum": 3650,
"minimum": 1,
"description": "Look-back window in days, measured on trade date (default 90). Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Number of traders to return (default 10)"
},
"chamber": {
"enum": [
"House",
"Senate"
],
"type": "string",
"description": "Filter by chamber"
}
}
}Get recent congressional stock trades with optional filters for politician, ticker, party, chamber, and transaction type.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results |
| party | string | Filter by party |
| ticker | string | Filter by ticker symbol |
| chamber | string | Filter by chamber |
| tx_type | string | Filter by transaction type |
| politician | string | Case-insensitive partial match on the member name, e.g. "Pelosi" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Max results"
},
"party": {
"enum": [
"D",
"R",
"I"
],
"type": "string",
"description": "Filter by party"
},
"ticker": {
"type": "string",
"description": "Filter by ticker symbol"
},
"chamber": {
"enum": [
"House",
"Senate"
],
"type": "string",
"description": "Filter by chamber"
},
"tx_type": {
"enum": [
"Purchase",
"Sale"
],
"type": "string",
"description": "Filter by transaction type"
},
"politician": {
"type": "string",
"description": "Case-insensitive partial match on the member name, e.g. \"Pelosi\""
}
}
}Get all congressional trades for a specific stock ticker symbol.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete. |
| limit | integer | Max results |
| ticker* | string | Ticker symbol, e.g. "AAPL" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ticker"
],
"properties": {
"days": {
"type": "integer",
"maximum": 3650,
"minimum": 1,
"description": "Look-back window in days, measured on trade date. Disclosures can arrive up to 45 days after the trade (later if filed late), so the newest part of any window is incomplete."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Max results"
},
"ticker": {
"type": "string",
"description": "Ticker symbol, e.g. \"AAPL\""
}
}
}Case-insensitive substring search over member names, ticker symbols, and company names. Returns up to `limit` matching members and up to `limit` matching tickers, each ordered by trade count. Use it to turn a common or partial name into the exact stored name that get_member_trades and get_member_profile require. A member who filed under several spellings appears once, under one of them, with trade_count summed across all of them, so get_member_trades on that name can return fewer trades. It matches substrings only and does not correct misspellings.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results |
| query* | string | Search query |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Max results"
},
"query": {
"type": "string",
"minLength": 1,
"description": "Search query"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.