Skip to main content
Glama

Find Ukraine Aid Money Recipients

ukraine_money_recipient
Read-onlyIdempotent

Find institutions and companies in the Ukraine Money Register by name substring: named award-record recipients of Ukraine-division accounts (obligated by fund code, obligated and outlaid by class, place of performance) and DoD contracts whose own records mention Ukraine, grouped by parent as USAspending lists it. With include_loop (default true), loop companies show three records side by side, never added and with no causation: DoD Ukraine-mention contract obligations; connected-PAC contributions to federal candidate committees by cycle, with the top recipient committees named exactly as the FEC lists them, with party and office; and lobbying filings citing Ukraine bills, each with its all-issue amount. Corporate PAC money is voluntary contributions from people the PAC may solicit, not company treasury or contract money; the FEC's own explanations are quoted. No individual donors, and no withheld or individual award recipients. The published recipient list holds the largest named institutions only, so a non-match is not evidence that no award was made.

Input Schema

NameRequiredDescriptionDefault
qYesRequired case-insensitive institution or company name substring, at most 80 characters.
include_loopNoShow the contracts, PAC and lobbying records side by side for loop companies (default true); never added.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/openWorld, yet the description adds substantial context: loop companies return three record types side by side that are 'never added and with no causation,' corporate PAC money is voluntary contributions rather than company treasury, no individual donors, and the recipient list is limited to the largest named institutions. This is exactly the kind of disclosure that prevents misuse.

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

Conciseness3/5

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

Purpose is stated up front, but the body is a dense wall of run-on prose with multiple semicolon-chained clauses. Every clause carries information, but the structure is hard to parse and not chunked for an agent scanning it quickly.

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?

For a two-parameter read tool with no output schema, the description covers what is returned, what is deliberately excluded (individual donors, withheld recipients), how loop records relate, and a critical non-match caveat. Nothing an agent needs to call or interpret it 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%, so baseline is 3, but the description adds real meaning beyond it: include_loop controls whether contracts/PAC/lobbying records appear side by side and clarifies those records are never summed. The substring character of q is repeated from the schema without added value, but the include_loop explanation justifies going above baseline.

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?

The description opens with a specific verb and resource: 'Find institutions and companies in the Ukraine Money Register by name substring.' It also clarifies the scope (named award-record recipients plus DoD contracts mentioning Ukraine, grouped by parent). It differentiates from the totals sibling implicitly through the recipient-level search framing, but never names ukraine_money_totals, so it falls short of a 5.

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

Usage Guidelines3/5

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

It implies usage ('by name substring') and gives an important caveat that 'a non-match is not evidence that no award was made.' However, it never explicitly states when to choose this over ukraine_money_totals or other siblings, and the include_loop explanation is behavioral rather than selection-guiding.

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.