MCP Capitol Trades Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Capitol Trades ServerShow me Nancy Pelosi's recent stock trades"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Capitol Trades Server
A Model Context Protocol (MCP) server that extracts politician stock trades with prices from Capitol Trades. Get detailed trade information including politicians, dates, transaction types, sizes, and prices. No API Key required.
β¨ Why This MCP Server?
π 100% Free - No API key required
π Easy Setup - Install and go
π Analytics Tools - Top stocks, buy momentum, party analysis
π― Advanced Filtering - By stock, politician, party, transaction type
π° Real-time Data - Prices and transaction details
Related MCP server: quiver-quant-mcp
Quick Start
Get politician stock trades with prices from Capitol Trades. Simply ask Cursor or VS Code AI to get trades for any stock!
Example: "Get politician trades for Microsoft in the last 90 days"
Installation
Choose Option 1 for a quick start from npm, or Option 2 to build from source.
Option 1: Install from npm (Recommended) β
npm install -g @anguslin/mcp-capitol-tradesThat's it! The package is installed globally.
π No API key or authentication needed! All data is public Congressional financial disclosures.
Option 2: Install from Source
If you want to build from source or contribute:
git clone https://github.com/anguslin/mcp-capitol-trades
cd mcp-capitol-trades
npm install
npm run buildβ
Status: Build folder contains the compiled JavaScript at build/src/index.js
Configuration
Configure Cursor/VS Code to use the MCP server.
Step 1: Open MCP Settings
Press
Ctrl+Shift+P(Windows/Linux) orCmd+Shift+P(macOS)Type "MCP Settings" and select "MCP: Edit Settings" or "Preferences: Open User Settings (JSON)"
Step 2: Add Configuration
If you installed from npm (Option 1):
{
"mcpServers": {
"mcp-capitol-trades": {
"command": "mcp-capitol-trades"
}
}
}If you installed from source (Option 2):
{
"mcpServers": {
"mcp-capitol-trades": {
"command": "node",
"args": [
"C:/Users/anguslin/Projects/mcp-capitol-trades/build/src/index.js"
]
}
}
}Important: Update the path to your actual project location for source installs!
Step 3: Save and Restart
Save the settings file (
Ctrl+S/Cmd+S)Restart Cursor/VS Code completely to load the MCP server
Verify Installation
After restarting, you should see the MCP Capitol Trades server available in your AI chat interface.
Tools Provided
Tool | Description |
| Extract politician trades with advanced filtering options |
| Get the most traded assets (stocks, ETFs, mutual funds, bonds) by politicians ranked by volume |
| Get comprehensive statistics for a specific politician |
| Get comprehensive statistics for a specific asset (stock, ETF, mutual fund, bond) |
| Get assets (stocks, ETFs, mutual funds, bonds) with high buy momentum from politician activity |
| Get buy momentum broken down by political party for all asset types |
get_politician_trades
Extract politician trades with advanced filtering options. Get detailed trade information including transaction types, sizes, and prices.
Parameters:
symbol(optional): Asset ticker or name (e.g., 'Apple', 'AAPL', 'VOO')politician(optional): Politician name (e.g., 'Nancy Pelosi')party(optional): "DEMOCRAT" or "REPUBLICAN"type(optional): Array - ["BUY", "SELL", "RECEIVE", "EXCHANGE"]days(optional): 30, 90, 180, or 365 (default: 90)
Example Prompts:
"Show me all politician trades for Apple"
"What did Nancy Pelosi trade recently?"
"Get Democrat buys in the last 90 days"
"Find all Republican trades for Microsoft"
"What trades did Nancy Pelosi make in the last 30 days?"get_top_traded_assets
Get the most traded assets (stocks, ETFs, mutual funds, bonds) by politicians over a time period, ranked by number of trades.
Parameters:
limit(optional): Number of top assets to return (default: 10, max: 50)days(optional): 30, 90, 180, or 365 (default: 90)
Example Prompts:
"What assets are politicians trading the most?"
"Show me the top 20 most traded assets in the last 180 days"
"What are the most popular assets among politicians?"get_politician_stats
Get comprehensive statistics for a specific politician including total trades, buy/sell ratio, top holdings, and trading activity breakdown.
Parameters:
politician(required): Politician name (e.g., 'Nancy Pelosi', 'Michael')days(optional): 30, 90, 180, or 365 (default: 90)
Example Prompts:
"Get detailed stats for Nancy Pelosi's trading"
"Show me Michael Jordan's trading statistics"
"What are Nancy Pelosi's top holdings?"
"Give me a breakdown of Pelosi's trading activity"get_asset_stats
Get comprehensive statistics for a specific asset (stock, ETF, mutual fund, bond) including total trades, buy/sell ratio, most active traders, and trading activity breakdown.
Parameters:
symbol(required): Ticker or asset name (e.g., 'Apple', 'AAPL', 'VOO', 'Microsoft')days(optional): 30, 90, 180, or 365 (default: 90)
Example Prompts:
"Show me detailed statistics for Microsoft"
"What are the stats for VOO trading?"
"Who are the most active traders of Apple stock?"
"Get buy/sell breakdown for NVDA"get_buy_momentum_assets
Get assets (stocks, ETFs, mutual funds, bonds) with high buy momentum from politician trading activity. Shows assets where politicians are net buyers with scoring based on volume and conviction.
Parameters:
limit(optional): Number of top assets to return (default: 10, max: 50)days(optional): 30, 90, 180, or 365 (default: 90)
Example Prompts:
"Which stocks should I be buying?"
"Show me assets with strong buy momentum"
"What are politicians buying the most?"
"Find stocks with high buying pressure from congress"get_party_buy_momentum
Get buy momentum broken down by political party. Shows consensus assets (stocks, ETFs, mutual funds, bonds) where both parties are buying, Democrat favorites, and Republican favorites.
Parameters:
limit(optional): Number of top assets per category (default: 5, max: 20)days(optional): 30, 90, 180, or 365 (default: 90)
Example Prompts:
"What are Democrats vs Republicans buying?"
"Show me party-specific buy momentum"
"Which stocks do Democrats favor?"
"What are Republicans buying most?"
"Find consensus stocks that both parties are buying"Tips
Search by company name or ticker (e.g., "Apple" or "AAPL")
Search by politician first, last, or full name (e.g., "Nancy", "Pelosi", "Nancy Pelosi")
Supports ETFs and bonds too (e.g., "VOO", "VBTLX")
All parameters are optional for flexible queries
Use natural language to query any of the tools above
Technical Details
Protocol: Model Context Protocol (MCP)
Transport: stdio
Language: TypeScript
Runtime: Node.js 18+
Dependencies:
@modelcontextprotocol/sdk- MCP SDKaxios- HTTP clientcheerio- HTML parsing (static, fast, no browser required)
Additional Documentation
TESTING.md - Testing guide and scenarios
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Support
For issues, questions, or contributions, please open an issue on the GitHub repository.
Available Tools
6 toolsget_asset_statsB
Get comprehensive statistics for a specific asset (stock, ETF, mutual fund, bond) including total trades, buy/sell ratio, most active traders, and trading activity breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back for trades. Must be one of: 30, 90, 180, or 365 days | |
| symbol | Yes | The ticker symbol or company/asset name (e.g., 'Apple', 'AAPL', 'VOO', 'Microsoft'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It lists output components but does not disclose behavioral traits such as whether it is read-only, response structure, or any limitations. The description only says what stats are included, not how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the main action and lists key output components without unnecessary detail or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only 2 well-documented parameters, but the lack of an output schema means the description must convey return structure. It lists several stats but not a full breakdown, and it lacks usage alternatives. It is adequate but has gaps in usage and output details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documents both parameters with clear descriptions, covering 100% of parameters. The description adds minimal extra value by clarifying accepted asset types, but does not enhance parameter semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get comprehensive statistics for a specific asset' which identifies the verb and resource, and lists asset types (stock, ETF, mutual fund, bond). It distinguishes from sibling tools like get_top_traded_assets by emphasizing 'specific asset', though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through 'specific asset' but there is no explicit guidance on when to use this tool versus siblings. No exclusions or alternative tool suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_buy_momentum_assetsA
Get assets (stocks, ETFs, mutual funds, bonds) with high buy momentum from politician trading activity. Shows assets where politicians are net buyers (more buys than sells) with scoring based on volume and conviction.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back for trades. Must be one of: 30, 90, 180, or 365 days | |
| limit | No | Number of top assets to return (default: 10, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It meaningfully explains that the tool shows assets where politicians are net buyers (more buys than sells) and mentions scoring based on volume and conviction. This adds value beyond the tool name and gives insight into how results are derived, though it does not discuss data freshness or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences that are front-loaded with the primary action and resource, followed by clarifying detail. Every sentence earns its place with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with only two optional parameters and no output schema. The description explains what the tool does and the core behavioral logic, which is sufficient for a user to understand when to use it and what to expect. It could be slightly more complete with explicit mention of output format, but that is not essential given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (days and limit), achieving 100% schema coverage. The description does not add any additional parameter-specific semantics beyond what the schema states, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Get assets' immediately indicating the action and resource, and specifies the asset types (stocks, ETFs, mutual funds, bonds) and the specific filter (high buy momentum from politician trading activity). This clearly distinguishes it from sibling tools like get_top_traded_assets, which likely covers all trades volume, whereas this focuses on buy momentum.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when you want to see assets with high buy momentum from political trading. It implies a specific use case without explicitly stating when not to use it or naming alternatives, but the purpose is clear enough to guide selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_party_buy_momentumA
Get buy momentum broken down by political party. Shows consensus assets (stocks, ETFs, mutual funds, bonds) where both parties are buying, Democrat favorites, and Republican favorites with detailed buy/sell breakdowns.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back for trades. Must be one of: 30, 90, 180, or 365 days | |
| limit | No | Number of top assets per category to return (default: 5, max: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral disclosure burden. It describes the output categories and the 'detailed buy/sell breakdowns,' which helps set expectations. However, it does not address potential behaviors such as sorting, default parameter effects, or whether the data is real-time or historical, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and then enumerates the specific categories returned. Every sentence adds valuable detail without redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description sufficiently explains the tool's scope and output categories for a read-only analytical tool. It mentions consensus assets, party favorites, and breakdowns, which gives a clear picture of the returned data. However, without an output schema, more detail on the exact response structure could enhance completeness, but it is not a major gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (days and limit) with enums and defaults, so schema coverage is 100%. The description adds no additional information about these parameters, so it does not enhance parameter understanding beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving buy momentum data specifically broken down by political party. It further distinguishes itself from siblings by naming the distinct categories (consensus, Democrat favorites, Republican favorites), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for party-based buy momentum analysis, but it does not explicitly state when to use it over alternatives like get_buy_momentum_assets or get_top_traded_assets. There are no exclusion criteria or mention of intended scenarios, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_politician_statsA
Get comprehensive statistics for a specific politician including total trades, buy/sell ratio, top holdings, and trading activity breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back for trades. Must be one of: 30, 90, 180, or 365 days | |
| politician | Yes | The politician name to search for (e.g., 'Nancy Pelosi', 'Michael'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output contents (total trades, buy/sell ratio, top holdings, activity breakdown) and implies a read-only aggregation behavior. While it does not mention rate limits, errors, or data freshness, it provides solid transparency about what information the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the primary action ('Get comprehensive statistics') and immediately lists the included data categories. Every phrase contributes meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description compensates by enumerating the return components (total trades, buy/sell ratio, top holdings, activity breakdown). It does not specify the exact response structure or edge-case behavior, but for a stats tool with only two parameters, this is adequately complete for an agent to understand the expected result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% because both parameters ('politician' and 'days') have descriptive text and 'days' includes an enum. The tool description does not add extra meaning beyond the schema; it simply confirms the politician focus. As a result, the description neither enhances nor detracts from the schema's clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'comprehensive statistics for a specific politician', explicitly listing the contained metrics (total trades, buy/sell ratio, top holdings, trading activity breakdown). This clearly distinguishes it from sibling tools like get_politician_trades (which likely returns raw trades) and asset-focused tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for high-level aggregate statistics on a single politician, which indirectly differentiates it from raw trade lists or asset-level metrics. However, it does not explicitly state when to use this tool over alternatives or mention any exclusions, leaving the agent to infer based on the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_politician_tradesB
Get politician trades with advanced filters. Filter by issuer, politician, party, transaction type, and time period.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back for trades. Must be one of: 30, 90, 180, or 365 days | |
| type | No | Filter by transaction type(s). Can specify any combination of 'BUY', 'SELL', 'RECEIVE', 'EXCHANGE'. If all 4 are specified or empty array, treats as ALL (no filter). | |
| party | No | Filter by party affiliation. Options: 'DEMOCRAT' or 'REPUBLICAN'. If null or not provided, treats as ALL (no filter). | |
| symbol | No | Optional: The ticker symbol or company/asset name (e.g., 'Apple', 'AAPL', 'VOO'). If provided, filters trades for that asset. | |
| politician | No | Optional: The politician name to search for (e.g., 'Michael', 'Nancy Pelosi'). If provided, filters trades for that politician. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only lists filter categories. It does not mention default timeframes (90 days), how filters combine (AND/OR), response format, pagination, or any side effects. This is a significant gap for a tool with 5 optional parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary action. It contains no unnecessary words and is easily parsed. However, it could be slightly more informative without harming conciseness, such as mentioning defaults or that all filters are optional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 optional parameters, no annotations, no output schema), the description is incomplete. It fails to explain default behavior, how multiple filters combine, what the response includes, or any rate limits. The schema covers parameters, but the overall context is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds little beyond the schema; it merely summarizes filter cats, such as 'issuer' for symbol and 'time period' for days. It does not explain parameter interactions or provide additional detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving politician trades. It specifies the resource ('politician trades') and lists the available filters (issuer, politician, party, transaction type, time period), which distinguishes it from sibling tools that focus on stats or momentum.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any exclusions, preferred use cases, or situational context. It only implies a general purpose, leaving the agent to infer when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_traded_assetsA
Get the most traded assets (stocks, ETFs, mutual funds, bonds) by politicians over a time period, ranked by number of trades.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back for trades. Must be one of: 30, 90, 180, or 365 days | |
| limit | No | Number of top assets to return (default: 10, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It states the ranking criterion ('ranked by number of trades') and the scope ('by politicians'), but it does not disclose return format, whether buys and sells are combined, or any other caveats. As a read-only 'Get' tool, the safety profile is inferable, but additional details would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose and includes all key details (asset types, actor, time period, ranking) without redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional parameters and no output schema, the description is largely complete. It tells the agent what the tool returns (top traded assets) and how they are ranked. However, lacking any mention of the response structure is a minor gap, given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters (days and limit), so the baseline is 3. The description adds a semantic link by mentioning 'over a time period' (mapping to days) but does not explain limit or provide value beyond the schema's existing descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('Get'), the resource ('most traded assets'), and the specific qualifiers ('by politicians over a time period, ranked by number of trades'). It effectively distinguishes itself from siblings like get_asset_stats (per-asset stats) and get_buy_momentum_assets (momentum-based) by focusing on aggregated trade frequency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (ranking assets by politician trading activity) but does not explicitly state when to use this tool versus alternatives like get_politician_trades or get_party_buy_momentum. There is no mention of exclusions or specific scenarios, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.1- First observed
get_asset_stats - First observed
get_buy_momentum_assets - First observed
get_party_buy_momentum - First observed
get_politician_stats - First observed
get_politician_trades - First observed
get_top_traded_assets
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: ranking top assets, per-politician stats, per-asset stats, buy momentum assets, party-specific buy momentum, and filtered trade listings. Even though several tools involve assets, the specific focus and output differ enough to avoid confusion.
All tool names follow a consistent 'get_' + descriptive noun phrase pattern (e.g., get_politician_stats, get_buy_momentum_assets). The naming is uniform, lowercase with underscores, making it predictable and easy to navigate.
The server has 6 tools, well within the ideal 3-15 range. Each tool covers a distinct informational need for tracking political trading activity, and none feel superfluous or missing.
The tool surface comprehensively covers the domain of congressional trading analytics: rankings, entity-specific stats, momentum analysis, party breakdowns, and raw trade queries with filters. No obvious gaps exist for the intended use case.
Related MCP Connectors
Query normalized U.S. Congress STOCK Act trades with member, ticker, and performance data.
Stock trades of U.S. Congress & executive-branch officials, with conflict flags. Read-only.
US Congress stock trades and financial disclosures by member, ticker, or date, hosted MCP.
Analyze stocks and SEC filings to surface key insights, from price and volume to insider activityβ¦
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables querying and analysis of US congressional stock-trade disclosures from capitoltrades.com, providing tools for filtering, ranking, and exporting trade data.1-
- FlicenseNot gradedqualityDmaintenanceEnables querying alternative financial data including congressional trades, insider transactions, government contracts, and WallStreetBets activity through the Quiver Quantitative API.1-
- AlicenseBqualityAmaintenanceProvides access to Unusual Whales market data including options flow, dark pool activity, congressional trades, and more via natural language queries.167 npm79MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying of U.S. congressional stock trade data, including price history, recent trades, buy signals, stock activity, and politician activity, through natural language tools.1MIT