Skip to main content
Glama

usaspending-mcp-server

Get Federal Account

usaspending_get_federal_account
Read-onlyIdempotent

Fetch a federal account's budget data: total obligations, gross outlays, and budgetary resources, plus the per-Treasury-Account-Symbol (TAS) component breakdown in children. Federal accounts connect appropriations law to actual agency spending. Account codes come from usaspending_search_federal_accounts (its account_number output field) or usaspending_get_award_federal_accounts (its federal_account field), and are formatted as AGENCY-MAIN (e.g., 097-0100 for DoD Operation and Maintenance). For obligations broken down by program activity or object class, use usaspending_get_federal_account_breakdown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
account_codeYesFederal account code in AGENCY-MAIN format (e.g., 097-0100). Returned as account_number by usaspending_search_federal_accounts and as federal_account by usaspending_get_award_federal_accounts.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
childrenNoTreasury Account Symbol (TAS) components that make up this federal account, each with its own obligated, outlay, and budgetary-resource amounts. Omitted when the upstream returns none.
bureau_nameNoBureau name within the agency
fiscal_yearNoFiscal year of the financial data
account_titleNoFull account title
agency_identifierNoAgency identifier code
main_account_codeNoMain account code
parent_agency_nameNoManaging parent agency name
federal_account_codeNoFederal account code
total_obligated_amountNoTotal obligated amount in USD
total_budgetary_resourcesNoTotal budgetary resources in USD
total_gross_outlay_amountNoTotal gross outlay amount in USD

TDQS

A4.7/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, covering the safety profile. The description adds behavioral context by detailing the returned data structure (total obligations, gross outlays, budgetary resources, and per-TAS breakdown in children). It does not contradict annotations and enriches the agent's understanding of what the tool returns beyond the schema.

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?

The description is compact and efficient. It leads with the core purpose, adds a brief domain context sentence, then provides input sourcing/format, and ends with a clear routing to an alternative. No fluff, every sentence earns its place, and it's well-structured for quick scanning.

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

Completeness5/5

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

Given the tool has an output schema (has output schema: true) and a single well-documented parameter, the description is complete. It explains the input format, how to obtain it, what data comes back, the domain significance, and the alternative for more granular breakdowns. Nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100% for the single parameter account_code, so the baseline is 3. The description adds extra value by explicitly stating the format (AGENCY-MAIN, e.g., 097-0100) and pointing to the source tools that return this value, which is beyond the schema's description. This helps the agent form the correct input.

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 states a specific action – 'Fetch a federal account's budget data' – and enumerates the exact data types: total obligations, gross outlays, budgetary resources, and per-TAS breakdown in children. It also distinguishes itself from the sibling tool usaspending_get_federal_account_breakdown by noting the alternative for obligations by program activity/object class. This clearly separates it from other federal-account tools.

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

Usage Guidelines5/5

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

It explicitly tells the agent where to obtain account codes: from usaspending_search_federal_accounts (via account_number) or usaspending_get_award_federal_accounts (via federal_account). It also provides an alternative condition: 'For obligations broken down by program activity or object class, use usaspending_get_federal_account_breakdown.' This is clear when-to-use and when-not-to-use guidance.

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.