Skip to main content
Glama

usaspending-mcp-server

Get Award Subawards

usaspending_get_award_subawards
Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based)
sortNoSort field for subawardsaction_date
limitNoMaximum subawards per page (1–100)
orderNoSort directiondesc
award_idYesGenerated unique award ID (generated_internal_id from usaspending_search_awards)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance when no subawards were returned — suggests checking subaward_count from usaspending_get_award first. Absent when results are present.
resultsNoList of subawards under this prime award
award_idNoPrime award ID queried
totalCountNoTotal subaward count across all pages (when available)
current_pageNoCurrent page returned
has_next_pageNoWhether there are more pages of subawards
page_metadataNoPagination metadata
prime_award_idNoPrime award ID whose subawards were listed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description doesn't need to restate safety. The description adds meaningful behavioral context: it clarifies that the tool returns a list of subawards, reveals the sub-contractor layer, and highlights the need to check subaward_count first. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. The first sentence front-loads the core purpose and output contents; the second adds a practical usage note. Structure is clean and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage, an output schema, and strong annotations, the description covers purpose, usage precondition, and expected row fields. It does not explicitly mention pagination, but the schema's page/limit parameters handle that. The check-subaward_count hint adds operational completeness. Adequate for an idempotent read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters already have clear descriptions. The description adds only marginal parameter-related value: it implies award_id refers to a 'prime federal award' and mentions row fields that map to sort options, but does not enhance understanding beyond the schema's parameter documentation. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('List') and a specific resource ('subaward contracts or grants under a prime federal award'). It goes further to explain the purpose ('Reveals the sub-contractor or sub-grantee layer') and enumerates the fields returned per row. This distinguishes it from sibling tools like usaspending_get_award (prime award details) and usaspending_get_award_transactions (transaction layer).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit usage precondition: 'Check subaward_count on usaspending_get_award first to confirm subawards exist before calling this tool.' This names the exact sibling tool to use and the condition that gates this tool. It does not compare with other award tools like transactions, but the purpose clause already narrows the use case sufficiently.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct entity or operation: agency, award, subaward, transaction, federal account, recipient, and various spending breakdowns. Even similar-sounding tools like get_award_federal_accounts vs get_federal_account are clearly separated by their core purpose (award funding sources vs account budget details).

Naming Consistency4/5

Almost all tools follow the usaspending_<verb>_<object> pattern (e.g., get_award, search_recipients). The spending_* series breaks the verb-noun convention but is internally consistent. Minor deviation lowers the score slightly.

Tool Count4/5

At 18 tools, this is on the higher end of reasonable but each tool maps to a distinct USAspending API endpoint and covers a different aspect of federal spending. The count is justified by the breadth of the domain, though it feels slightly heavy.

Completeness5/5

The surface covers award search/detail, agency navigation, federal accounts, recipients, subawards, transactions, IDVs, and multiple spending aggregations (category, geography, time, disaster). No obvious dead ends: all ID-producing tools have corresponding lookup tools, and common workflows like award→federal account→breakdown are fully supported.