MCP Capitol Trades Server
Server Quality Checklist
Latest release: v1.0.1
- Disambiguation5/5
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.
Naming Consistency5/5All 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.
Tool Count5/5The 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.
Completeness5/5The 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.
Average 3.7/5 across 6 of 6 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
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.
Conciseness4/5Is 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.
Completeness2/5Given 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.
Parameters3/5Does 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.
Purpose5/5Does 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.
Usage Guidelines2/5Does 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.
- Behavior2/5
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.
Conciseness5/5Is 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.
Completeness3/5Given 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.
Parameters3/5Does 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.
Purpose4/5Does 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.
Usage Guidelines3/5Does 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.
- Behavior3/5
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.
Conciseness5/5Is 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.
Completeness4/5Given 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.
Parameters3/5Does 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.
Purpose5/5Does 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.
Usage Guidelines3/5Does 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.
- Behavior3/5
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.
Conciseness5/5Is 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.
Completeness4/5Given 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.
Parameters3/5Does 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.
Purpose5/5Does 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.
Usage Guidelines3/5Does 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.
- Behavior4/5
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.
Conciseness5/5Is 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.
Completeness4/5Given 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.
Parameters3/5Does 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.
Purpose5/5Does 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.
Usage Guidelines3/5Does 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.
- Behavior4/5
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.
Conciseness5/5Is 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.
Completeness4/5Given 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.
Parameters3/5Does 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.
Purpose5/5Does 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.
Usage Guidelines4/5Does 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.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anguslin/mcp-capitol-trades'
If you have feedback or need assistance with the MCP directory API, please join our Discord server