Skip to main content
Glama
govconapi

io.github.govconapi/govconapi

Official

Get Vehicle

get_vehicle
Read-onlyIdempotent

Retrieve a specific contract vehicle's ceiling, period, and ordered amounts via PIID to support award and compliance review.

Instructions

Get one contract vehicle's detail: ceiling, period, and what's been ordered through it.

Award & Compliance tool.

- piid: vehicle's own PIID (from search_vehicles or get_contract_vehicle)

Also returns a `vehicle_family` block (`is_multiple_award`, `piid_count`,
`solicitation_identifier`, `note`) disclosing whether this PIID is one award among
several placed under the same solicitation, distinct from get_vehicle_holders' own
`vehicle_family.piids`, which lists every sibling PIID; this one only counts them.
NOTE: `transaction_rollup.distinct_awardees` / `orders_rollup.distinct_holders` above
are scoped to THIS piid only and read `1` even when `vehicle_family.is_multiple_award`
is true (FPDS gives every awardee of a multi-award vehicle its own separate PIID), use get_vehicle_holders for the real family-wide count. A ceiling of `999999999999`
(or `.99`) is FPDS's own placeholder for "no negotiated ceiling" (typical on GSA
MAS/GWAC-style vehicles), treat it as effectively unlimited, not a literal ~$1T figure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
piidYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds high-value behavioral context beyond annotations: the vehicle_family block's semantics, the FPDS quirk where each awardee has its own PIID, the scoping of transaction_rollup/orders_rollup fields, and the 999999999999 ceiling placeholder meaning 'effectively unlimited.' This prevents serious misinterpretation of returned data.

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?

The description is long, but nearly every sentence earns its place by explaining a FPDS quirk or disambiguating from get_vehicle_holders. The structure is clear: purpose, tool category, parameter, then caveats. The 'Award & Compliance tool' line adds minimal value, and the text could be tightened slightly, but the density is justified by the semantic complexity.

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?

The description is complete for an agent to correctly select and invoke this tool. It specifies the purpose, the parameter, the key alternative, and the surprising data behaviors around multi-award vehicles and placeholder ceilings. Since an output schema exists, the description does not need to enumerate return values, and it appropriately focuses on the caveats that structured data cannot convey.

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?

The schema has zero description coverage, so the description must carry parameter meaning. The bullet '- piid: vehicle's own PIID (from search_vehicles or get_contract_vehicle)' clarifies the exact value expected and its source, which is important because a user could otherwise pass the wrong PIID. It does not provide an example or format details, but for a single simple string parameter this is sufficient guidance.

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 opens with a specific verb and resource: 'Get one contract vehicle's detail: ceiling, period, and what's been ordered through it.' It explicitly differentiates this tool from get_vehicle_holders by noting that this one only counts family sibling PIIDs while get_vehicle_holders lists them. The purpose is unambiguous and distinct from sibling tools.

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?

The description gives clear context for when to use this tool and explicitly directs the agent to get_vehicle_holders for a real family-wide count: 'use get_vehicle_holders for the real family-wide count.' It also tells the agent where the piid comes from ('from search_vehicles or get_contract_vehicle'), covering both the source of the input and the key alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/govconapi/govconapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server