Skip to main content
Glama

CedarBid

Find VA HVAC service contracts ending soon

find_expiring_contracts
Read-only

Lists recurring VA heating, cooling and plumbing service contracts (maintenance, inspection, testing) whose current period of performance ends within the chosen number of months, soonest first. These are usually solicited again when they end. Filter by state, city, keyword (for example 'chiller', 'boiler', 'backflow') and the set-aside the contract was last awarded under. Returns the holder, dollars obligated, end date, bids received and a link to the official record.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity of the VA location, for example 'Danville'. Requires state.
limitNo
stateNoTwo-letter state code, for example 'IL'. Omit for all states.
keywordNoWord to match in the contract description, for example 'chiller'.
set_asideNoOnly contracts last awarded under this set-aside: 'sdvosb' (service-disabled veteran-owned small business), 'vosb' (veteran-owned small business), 'small_business', 'women_owned', '8a', or 'none' (no set-aside). The next solicitation may use a different set-aside.
within_monthsNoMonths ahead to look, 1 to 18.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral value: the result ordering (soonest first), the domain rationale, and the returned fields (holder, dollars obligated, end date, bids received, official-record link). It omits any auth/rate-limit or result-count caveats, keeping it just short of 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.

Conciseness5/5

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

Three dense sentences, front-loaded with what is listed and its ordering, then rationale, then filters, then return fields. No filler; each sentence adds distinct information an agent needs.

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 no output schema, the description correctly compensates by enumerating returned fields, and it covers the primary filters for a 6-parameter tool. Minor gaps remain around the limit/pagination behavior and default result count, but nothing essential to 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 83%, so the schema already documents nearly every parameter, including the set-aside enum and its 'last awarded under' nuance. The description restates the filter set (state, city, keyword, set-aside) and adds illustrative keywords, but no syntax or semantics beyond the schema; the 3 baseline applies.

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?

The description names a specific resource (recurring VA HVAC/plumbing service contracts), a precise scope (current period of performance ending within N months), and a sort order (soonest first). This is clearly distinct from siblings like lookup_contract or location_contracts, which retrieve rather than time-filter contracts.

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?

It supplies clear use context ('these are usually solicited again when they end'), telling the agent why and when to reach for it. It stops short of naming alternatives or stating exclusions (e.g., when to prefer buying_calendar or typical_prices), so it is context without routing.

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