Congress Trade Alerts
com.congresstradealerts/ctacongresstradealerts.comstreamable-httpv1.0.0Scanned
Congressional stock-trade disclosures (House + Senate PTRs) with each filing's lateness vs 45 days
12 tools: 12 only read.
- Reads private data · 1
- Reads text others write · 0
- Can send data out · 0
- No findings
Anlyon alternative
Run the operations that matter as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
12 tools
Only reads 12Show 12 read-only tools
get_aggregate_statsGet high-level database stats: total trades (all-time + 30/60/90d), total members tracked, avg filing delay, sector breakdown.Reads private dataNo findings
Why it is in this group
- The name "get_aggregate_stats" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "get" and "database": it reads databases.
Description, as the server wrote it Get high-level database stats: total trades (all-time + 30/60/90d), total members tracked, avg filing delay, sector breakdown.
get_chamber_breakdownGet trade counts broken down by chamber (House vs Senate), with optional date filter.No findings
Why it is in this group
- The name "get_chamber_breakdown" says "get": a word for reading.
Description, as the server wrote it Get trade counts broken down by chamber (House vs Senate), with optional date filter.
get_committee_tradingFor 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.No findings
Why it is in this group
- The name "get_committee_trading" says "get": a word for reading.
Description, as the server wrote it 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.
get_member_profileReturns 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 assignm…No findings
Why it is in this group
- The name "get_member_profile" says "get": a word for reading.
Description, as the server wrote it 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.
get_member_tradesReturns stock trades disclosed by one member of Congress, newest trade first, with optional ticker and date-window filters.No findings
Why it is in this group
- The name "get_member_trades" says "get": a word for reading.
Description, as the server wrote it 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.
get_party_breakdownGet trade counts broken down by party (D/R/I), with optional date filter.No findings
Why it is in this group
- The name "get_party_breakdown" says "get": a word for reading.
Description, as the server wrote it Get trade counts broken down by party (D/R/I), with optional date filter.
get_ticker_buyersGet every Congress member who bought a specific ticker in the last N days, aggregated per politician.No findings
Why it is in this group
- The name "get_ticker_buyers" says "get": a word for reading.
Description, as the server wrote it Get every Congress member who bought a specific ticker in the last N days, aggregated per politician.
get_top_tickersGet the most-traded stock tickers by Congress in the last N days.No findings
Why it is in this group
- The name "get_top_tickers" says "get": a word for reading.
Description, as the server wrote it 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).
get_top_tradersReturns the most active stock traders in Congress by trade count, optionally filtered by chamber (House or Senate) and date window.No findings
Why it is in this group
- The name "get_top_traders" says "get": a word for reading.
Description, as the server wrote it Returns the most active stock traders in Congress by trade count, optionally filtered by chamber (House or Senate) and date window.
get_trade_feedGet recent congressional stock trades with optional filters for politician, ticker, party, chamber, and transaction type.No findings
Why it is in this group
- The name "get_trade_feed" says "get": a word for reading.
Description, as the server wrote it Get recent congressional stock trades with optional filters for politician, ticker, party, chamber, and transaction type.
get_trades_by_tickerGet all congressional trades for a specific stock ticker symbol.No findings
Why it is in this group
- The name "get_trades_by_ticker" says "get": a word for reading.
Description, as the server wrote it Get all congressional trades for a specific stock ticker symbol.
search_members_and_tickersCase-insensitive substring search over member names, ticker symbols, and company names.No findings
Why it is in this group
- The name "search_members_and_tickers" says "search": a word for reading.
Description, as the server wrote it 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.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input or outbound.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write0
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
No check matched anything in these tool definitions. That is not a safety guarantee.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http cta https://congresstradealerts.com/mcpclaude mcp add --transport http cta https://congresstradealerts.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__cta__get_committee_trading",
"mcp__cta__get_member_trades",
"mcp__cta__get_top_traders",
"mcp__cta__get_trade_feed",
"mcp__cta__get_member_profile",
"mcp__cta__get_trades_by_ticker",
"mcp__cta__get_ticker_buyers",
"mcp__cta__get_top_tickers",
"mcp__cta__get_party_breakdown",
"mcp__cta__get_chamber_breakdown",
"mcp__cta__get_aggregate_stats",
"mcp__cta__search_members_and_tickers"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as cta. Review it before you use it.
Capability tags behind 1 rule
- mcp__cta__get_aggregate_stats private-data
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/com.congresstradealerts/cta/verify?hash=fb5ed33266ed1627f87addf47ed0795edaf37e0c97260053b27f7e6c350ba1c9" | jq -e '.changed == false'Pinned hash fb5ed33266ed, from Nov 3, 2026, 03:17 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.congresstradealerts/cta/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.congresstradealerts/cta)Source: MCP Registry. Synced Nov 3, 2026, 03:17 UTC.