Skip to main content
Glama

search_recipients

Read-only

Search USASpending recipients (vendors and grantees) by keyword.

Returns paginated recipients with their UEI, DUNS, name, and a recipient
'id' hash for get_recipient_profile() and new_awards_over_time().
For get_recipient_children(), use the UEI (or legacy DUNS) from the
parent (-P) row, not a recipient hash.

keyword can match recipient name, UEI, or DUNS. If omitted, returns the
top recipients ranked by `sort`.

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": "search_recipients"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNo
sortNoamount
limitNo
orderNodesc
keywordNo
award_typeNoall

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive, open-world behavior, so the safety profile is covered. The description adds pagination behavior and the meaning of the returned `id` hash, including a warning that a recipient hash is NOT valid for get_recipient_children. It stops short of stating pagination limits or result caps, so not a 5.

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?

Front-loaded with the core purpose and return shape, followed by actionable sibling routing. Every sentence earns its place; the only mild inefficiency is the parenthetical '(or legacy DUNS)' detail. Appropriately sized for a 6-param search tool.

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?

An output schema exists, so return-value documentation is a bonus rather than a requirement. The description covers the keyword/sort semantics and the id-hash pitfall that would otherwise cause downstream failures. Missing coverage of pagination parameters (page/limit/order) is the remaining gap.

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 description coverage is 0%, so the description must carry the load. It explains `keyword` matching semantics and the `sort` default behavior well, but says nothing about `page`, `limit`, `order`, or `award_type` (the latter is a self-explanatory enum). Partial compensation only – half the parameters remain unexplained.

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?

States a specific verb and resource ('Search USASpending recipients (vendors and grantees) by keyword') and explicitly names related siblings (get_recipient_profile, new_awards_over_time, get_recipient_children). An agent can distinguish this from autocomplete_recipient and get_recipient_profile without opening any schema.

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?

Gives explicit when-to-use guidance: keyword matches name/UEI/DUNS, and if omitted the tool returns top recipients ranked by `sort`. It also routes the agent on which identifier to use for each downstream sibling (id hash vs UEI/DUNS), which is exactly the kind of conditional guidance that prevents mis-invocation.

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.