MCP server giving Claude and any MCP client native tool access to GovGreed's congressional-trading intelligence API (18 tools).
18 tools with complete schemas and descriptions, but quality is uneven. All tools are READ_ONLY with good naming (verb_noun pattern). Descriptions range from 50 - 150 chars, meeting the 10 - 1024 baseline. Schemas present for all tools with proper types and defaults. However, descriptions lack actionable context (when to use vs similar tools, prerequisites, error recovery). Parameter descriptions are minimal (e.g., 'Minimum confidence tier' without explaining what confidence measures). No output schema documentation visible. Error handling guidance absent, tools return raw API responses without recovery hints. Response sanitization code (_strip_internal_fields) shows awareness of token efficiency, but no pagination guidance for large result sets (e.g., politician_trades, bill_votes could return hundreds of items). Missing: per-tool error classification, confirmation patterns for sensitive queries, and chaining IDs in responses.
Show your current GovGreed account: tier, daily quota, remaining calls.
Full bill profile: sponsors, votes, affected industries, politician holdings.
All votes on a bill, with politician holdings in affected industries.
Full donor profile: all contributions, recipient politicians, industries, fingerprint variants.
Health check: confirm API is reachable and your key is valid.
Herd-trading signals: when multiple politicians trade the same stock in the same window.
OGE (Office of Government Ethics) cabinet-member stock trades and holdings.
No output schema documentation. Tools return raw API responses without documenting field structure, types, or which fields are safe for chaining into downstream tools.
Descriptions lack actionable context. No guidance on when to use tool vs similar ones (e.g., search_donors vs search_donors_raw), prerequisites, or error recovery paths.
No pagination guidance for large result sets. Tools like politician_trades (limit=50 default) and bill_votes could return hundreds of items; no documentation of total count, next_cursor, or when to paginate.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Bills a politician voted YES on while holding affected stock (conflict_score breakdown).
Top donors to a politician (FEC contributions, fingerprinted).
Full profile of a politician: trades, scores, donor flows, committee alignment.
All stock trades by a politician, with filing dates and confidence scores.
Recent FEC contributions (last 30 days), deduplicated.
Search bills by title, description, or bill_id.
Search donors by name (fingerprinted: merges FEC name variants by canonical_name + state + employer).
Search donors by name (raw FEC records: no merging, all variants separate).
Search for a politician by name, bioguide_id, or state.
Top congressional-trading signals (politicians buying/selling stocks with high confidence).
Whale opportunities: high-influence politicians with recent stock trades and company influence.
Parameter descriptions are minimal. E.g., 'Minimum confidence tier' does not explain what confidence measures (trade timing? volume? filing delays?). Docstring at top clarifies semantics but tool descriptions do not reference it.
No error classification or recovery guidance. Tools return HTTP errors without telling LLM whether to retry, ask user, or abort. E.g., 'HTTP 400' with no context on what went wrong.