Skip to main content
Glama

usaspending-mcp-server

Search Federal Accounts

usaspending_search_federal_accounts
Read-onlyIdempotent

List and keyword-search federal accounts by agency identifier or title keyword. Returns account numbers, names, managing agencies, and budgetary resources. Use account_number from results as input to usaspending_get_federal_account for full budget detail. Use usaspending_list_agencies to look up agency_identifier codes (3-digit strings, e.g. "097" for DoD).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based)
limitNoMaximum results per page (1–100)
keywordNoFilter accounts by name or title keyword (e.g., "defense", "transportation")
sort_fieldNoField to sort results bybudgetary_resources
sort_directionNoSort directiondesc
agency_identifierNo3-digit agency identifier code (e.g., "097" for Department of Defense). Use usaspending_list_agencies to look up codes.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoCurrent page number returned
errorNoPresent when the call failed. Absent on success.
noticeNoRecovery hint when results are empty — echoes applied filters and suggests how to broaden. Absent when results are present.
resultsNoMatching federal accounts
has_nextNoWhether there are more pages of results
totalCountNoTotal number of matching accounts across all pages (when available)
page_metadataNoPagination metadata

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description doesn't need to restate those. It adds behavioral value by specifying the returned fields (account numbers, names, managing agencies, budgetary resources) and the intended chaining to get_federal_account. This gives the agent insight into the result shape and how to proceed, which is helpful beyond mere 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?

The description is two sentences with no fluff. The primary purpose is front-loaded, followed by two directed usage notes for related tools. Every sentence earns its place, and the structure is clear and efficient.

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?

Given that the tool has an output schema and 6 optional parameters, the description covers the essential workflow: searching, retrieving results, and chaining to related tools. It doesn't explicitly address pagination or sorting, but the schema and defaults handle that. For a search tool, this description is sufficiently complete for an agent to invoke it correctly.

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 the baseline is 3. The description reinforces the agency_identifier parameter by referencing usaspending_list_agencies for code lookup, which adds a hint about valid values. However, it does not add syntax or format details beyond what the schema provides, so it stays at baseline.

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 the tool lists and keyword-searches federal accounts by agency identifier or title keyword, which is a specific verb+resource. It also distinguishes itself from the closely related usaspending_get_federal_account (which retrieves full details for a specific account) and usaspending_list_agencies (which returns agency identifiers). The purpose is unambiguous and separates it from other search tools in the sibling list.

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 explicitly tells the agent to use usaspending_get_federal_account for full budget detail after obtaining an account_number, and to use usaspending_list_agencies to look up agency_identifier codes. While it does not explicitly state when not to use this tool (e.g., vs. searching awards), the context of federal accounts is clear. The guidance is practical and linked to the workflow, earning a strong score.

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.