Skip to main content
Glama

Federal contract awards and recompetes

federal_contracts
Read-onlyIdempotent

Searches awarded US federal contracts on USAspending.gov by agency, keyword and dollar amount, largest first. Recompete mode instead lists contracts expiring soonest within a window (set min_amount to keep the search narrow), with the incumbent and days until expiry. Every record links to the official award page.

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

Input Schema

NameRequiredDescriptionDefault
modeNosearch lists awards, largest first; recompete lists contracts about to expire, soonest first. Defaults to recompete when an expiring_ field is set.
limitNoAwards to return, 1 to 100. Default 25.
agencyNoAwarding top-tier agency name. Several names separated by a semicolon.
keywordNoFree text across award descriptions and recipient names. Up to 500 characters.
end_dateNoYYYY-MM-DD. Default today.
min_amountNoOnly awards at or above this many dollars. Recompete mode usually needs this, or an agency or keyword, to be narrow enough.
start_dateNoYYYY-MM-DD, awards with activity from this date. Default 2024-10-01 (the past year in recompete mode). Not before 2007-10-01.
award_typesNoCodes separated by commas, from one group (contracts A,B,C,D by default; 02 to 11 are grants and loans).
expiring_after_daysNoRecompete mode: skip contracts ending sooner than this, for bid lead time. Default 0.
expiring_within_daysNoRecompete mode: contracts ending within this many days, 1 to 1825. Default 365.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so safety is covered. The description adds genuinely new behavioral context: result ordering per mode, the fields included in recompete output (incumbent, days until expiry), and that every record links to the official award page — valuable given no output schema exists.

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?

Three sentences, front-loaded with the primary search behavior, then the alternate mode, then the output guarantee. No filler, and the ordering/scope facts are stated where they are most needed.

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?

For a 10-parameter tool with no output schema, the description covers both modes, ordering, key returned fields, and the official-link guarantee. Defaults and date formats live in the schema, so nothing critical is missing, though a note on how modes interact with date-bounded filters would close the last 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 100%, so every parameter (including mode enum and expiring window bounds) is already documented in structured form. The description restates agency/keyword/dollar-amount filtering and the recompete window concept, adding little beyond the schema's own notes on min_amount and defaults.

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?

Names a specific verb and resource (searches awarded US federal contracts) plus the underlying source (USAspending.gov), and distinguishes its two modes explicitly: search ordered largest-first vs. recompete ordered soonest-expiring. An agent can tell exactly what each invocation returns and no sibling tool covers this domain, so ambiguity is low.

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?

Gives clear mode-selection guidance ('Recompete mode instead lists contracts expiring soonest within a window') and a narrowing hint ('set min_amount to keep the search narrow'). It lacks explicit when-not-to-use or exclusions, but the conditions that select each mode are stated.

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.