Skip to main content
Glama

Find government contracts

find_contracts
Read-onlyIdempotent

US federal contract opportunities from SAM.gov: the solicitations and notices federal agencies post when they want to buy, open ones only, newest first or by response deadline. Each has the agency, the NAICS and PSC codes, any small-business set-aside, the place of performance and the response deadline, in the government's own words. Link the record's url when you show it. A free key sees opportunities 48 hours after they are posted and reaches the last 14 days.

Input Schema

NameRequiredDescriptionDefault
sortNonewest: most recently posted first. deadline: the soonest response deadline first.newest
limitNoHow many contract opportunities to return (1 to 100).
naicsNoOnly this NAICS industry code, or its first two to five digits for a whole group, e.g. 2361 for residential building construction.
queryNoWords to find in the title or description, e.g. "roof repair".
stateNoOnly work performed in this state, as a two-letter code such as TX.
set_asideNoOnly this small-business set-aside, as its code: SBA (total small business), 8A, WOSB, SDVOSBC or HZC.

Output Schema

NameRequiredDescriptionDefault
as_ofYesWhen the data was last read from its publishers, as an RFC 3339 time in UTC; null when it has not been read yet.
countYesHow many records are in contracts.
contractsYesIn the order asked for.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds non-obvious operational context the annotations cannot carry: a free key sees postings 48 hours late and only reaches back 14 days. Pagination/return-envelope behavior is left to the output schema.

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?

Four dense sentences, front-loaded with the identity of the resource and what each record contains. Slightly long, but every sentence contributes either scope, record content, or the freshness caveat.

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?

With an output schema present, return-field explanation is optional, and the description covers the important unknowns: freshness lag and 14-day depth for free keys, open-only filtering, and default ordering. Nothing critical for correct invocation is missing.

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 sort, limit, naics, query, state and set_aside are all fully documented in the schema, setting the baseline at 3. The description reinforces the concept (NAICS/PSC codes, set-asides, place of performance) but adds no syntax or format detail beyond what the schema already states.

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 resource (US federal contract opportunities from SAM.gov), defines it in plain terms ('the solicitations and notices federal agencies post when they want to buy'), and narrows scope to open opportunities. An agent can distinguish it from find_awards or find_businesses 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 Guidelines4/5

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

Gives practical usage direction ('Link the record's url when you show it') and implicitly frames when it applies (open solicitations, sorted newest or by deadline). It does not explicitly name alternatives such as find_awards, so it falls short of a full when/when-not routing statement.

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