Access US federal award, recipient, agency, and spending analytics data from USAspending.gov via MCP. STDIO or Streamable HTTP.
Five tools with strong naming (verb_noun pattern), comprehensive descriptions (150-350 chars), and detailed parameter schemas. All tools are READ_ONLY with clear intent. Schemas include enums, min/max constraints, and descriptions for all parameters. Output structures are documented in descriptions. Key gaps: no explicit error handling guidance in descriptions, no recovery hints for common failure modes (e.g., 'If DEF codes are invalid, call usaspending_list_agencies first'), and no documented output field mappings for chaining. Tool annotations present (toolAnnotations=true) but not visible in source. Descriptions are LLM-optimized and avoid example values.
Look up valid code values for filter fields by searching free-text descriptions. Use the type parameter to select the lookup table: naics (NAICS industry codes), psc (product/service codes), cfda (CFDA/Assistance Listing program numbers), awarding_agency (agency names and IDs), or recipient (recipient names with UEI/DUNS). Call this before filtering awards when you know a description but not the exact code. Returns matching codes and names for use in other tool filters.
Fetch disaster and emergency supplemental spending (COVID-19, hurricanes, infrastructure law, etc.) broken down by agency, CFDA assistance program, recipient, or geography. Use the dimension parameter to select the breakdown axis: overview (top-level totals), agency, cfda, recipient, or geography. Filter by DEF codes (Disaster/Emergency Funding codes) to isolate a specific emergency appropriation. DEF codes appear in usaspending_get_award account_obligations_by_defc and usaspending_get_agency def_codes fields.
Fetch an agency's fiscal-year overview including mission, budgetary resources, obligation and outlay totals (for the most recent fiscal year), sub-agency count, and DEF codes for disaster/emergency funding. Also returns a paginated sub-agency breakdown with obligation and transaction counts. Accepts either a 3-digit toptier_code (e.g., 097 for DoD, 012 for Agriculture) or an agency_slug (e.g., department-of-defense) — both appear in usaspending_list_agencies results and award search results.
List the Treasury federal accounts that funded an award, with the amount obligated from each and the funding agency behind it. This is the award → appropriation link: each row returns federal_account (AGENCY-MAIN format, e.g. 080-0120) to chain into usaspending_get_federal_account for the account budget detail. The award_id must be a generated_unique_award_id — from usaspending_search_awards (generated_internal_id field) or usaspending_get_award. Distinct from usaspending_get_award account_obligations_by_defc, which breaks funding down by Disaster/Emergency Funding code rather than by account. An award_id that does not exist returns an empty list rather than an error.
No error recovery guidance in tool descriptions. When DEF codes are invalid or a resource is not found, descriptions do not hint at recovery steps (e.g., 'If DEF codes are invalid, call usaspending_list_agencies first').
Output schemas documented only in descriptions, not as explicit structured return type definitions. LLMs cannot parse prose descriptions to infer response field names and types for downstream tool chaining.
usaspending_disaster_spending requires DEF codes for non-overview dimensions but description states 'Required for all dimensions except overview', ambiguous whether overview dimension accepts optional DEF codes or rejects them entirely.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
List subaward contracts or grants under a prime federal award. Reveals the sub-contractor or sub-grantee layer — the organizations that actually perform the work. Each row shows the subaward number, amount, description, action date, and recipient. Check subaward_count on usaspending_get_award first to confirm subawards exist before calling this tool.
No batch variants offered. Agents calling usaspending_get_award_subawards or usaspending_get_award_federal_accounts in loops will make N sequential calls instead of one batch call, wasting tokens and latency.
usaspending_get_award_subawards description states 'Check subaward_count on usaspending_get_award first' but usaspending_get_award is not exposed as a tool in this server, creating a broken dependency hint.