Skip to main content
Glama

Kempt Horizon Data Toolkit

USAspending awards

usaspending_awards
Read-only

Search federal contract and grant awards: who got paid, how much, by which agency.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "usaspending_awards"
  }
}

Input Schema

NameRequiredDescriptionDefault
pscNoPSC codes (contracts)
pageNo
limitNo
naicsNoNAICS codes (contracts)
dateToNoYYYY-MM-DD
sortByNo
statesNoPlace-of-performance state codes
agenciesNoAwarding top-tier agency names, e.g. Department of Defense
categoryNocontracts
dateFromNoYYYY-MM-DD
keywordsNoKeywords (3+ chars each)
lastDaysNo
maxAmountNo
minAmountNo
setAsidesNoSet-aside type codes
recipientsNoRecipient names
assistanceListingsNoALN/CFDA numbers (assistance)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already cover read-only and open-world, so the description carries only a small remaining burden and it does not pick it up. It omits meaningful behavior the agent would otherwise discover only by experiment: the default 90-day window (lastDays), the default category of 'contracts' which silently excludes grants, pagination via page/limit, and the 100-row cap.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler and a helpful human-readable framing. It is efficient, though the extreme brevity is part of why other dimensions suffer.

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

Completeness2/5

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

For a 17-parameter search tool with a default category that narrows scope, a rolling date default, and no output schema, this description is far too thin. An agent could not reliably predict result shape, whether amounts/agencies are exact matches, or how defaults interact with explicit date filters.

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

Parameters2/5

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

Schema coverage is 59%, so the description needs to compensate and barely does. Its phrase 'who got paid, how much, by which agency' loosely gestures at recipients, minAmount/maxAmount, and agencies, but says nothing about category, lastDays, psc, naics, setAsides, assistanceListings, states, sortBy, or pagination — several of which are undocumented in the schema too.

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

Purpose4/5

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

Clear specific verb+resource ('Search federal contract and grant awards') with a plain-language gloss of the domain (who got paid, how much, by which agency). However it does not distinguish itself from the sibling grants_search, which overlaps on the grant half of the corpus, so an agent cannot tell the two apart from the descriptions alone.

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

Usage Guidelines2/5

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

No when-to-use statement, no prerequisites, and no alternatives named. The presence of grants_search and grant_details as siblings makes the absence of routing guidance a real gap, since overlap with this tool is obvious but unresolved.

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.

Resources