Stdio bridge for the hosted Bargo Congress Trades MCP server providing access to congressional stock trading data
This MCP server exposes 6 tools for querying congressional stock trades. Tool naming follows verb_noun convention (health, stats, members, member, trades, tickerTrades), which is acceptable but inconsistent, some are gerunds/nouns rather than imperative verbs. Descriptions are present but minimal (10 - 50 chars), below the 50 - 200 char baseline for LLM-optimized docs. Input schemas are visible in the TypeScript definitions with basic type info (string, number), but lack enums, ranges, and detailed constraints. Parameter descriptions exist but are terse ('Filter by stock ticker symbol'). Output schemas are documented in TypeScript interfaces (Trade, TradesResponse, MembersResponse) but not exposed in the MCP tool registration itself, LLMs cannot see these schemas at runtime. Error handling is absent from the visible code; no guidance on retryability, user-fixable vs. fatal errors, or recovery steps. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Overall, the server is functional but lacks production-grade polish in descriptions, constraints, and error messaging.
Check the health status of the Congress Trades API
Get detailed information about a specific congressional member
Get a list of members with their trading activity summaries
Get statistics about congressional stock trades
Get all congressional stock trades for a specific ticker symbol
Get congressional stock trades with optional filtering by ticker, member, chamber, type, and date range
Descriptions are too short (10 - 50 chars) to guide LLM tool selection. Baseline is 50 - 200 chars. E.g., 'Check the health status of the Congress Trades API' lacks context on when to call it or what it returns.
No enums or constraints on filter parameters. 'chamber' accepts 'house' or 'senate' but is declared as free-form string. 'type' (transaction type) has no documented valid values. LLMs will hallucinate invalid values.
Output schemas (Trade, TradesResponse, MembersResponse) are defined in TypeScript but not exposed in MCP tool registration. LLMs cannot see what fields to expect at runtime, forcing them to guess or make extra calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling guidance. Code throws BargoCongressError but does not document retryability, user-fixable errors, or recovery steps. LLMs cannot determine whether to retry, ask the user, or fail.
No tool annotations despite all tools being read-only. Missing readOnlyHint annotation prevents LLMs from optimizing caching and retry logic.