Skip to main content
Glama

Gsa Vendor Rates

gsa_vendor_rates
Read-onlyIdempotent

Every GSA schedule labor rate published by one contractor — what this specific company charges the government per hour, across its labor categories, with contract numbers and SINs. Use for "what rates does Booz Allen have on its GSA schedule" or to compare one vendor against the market median. Example: gsa_vendor_rates({ vendor: "DIGNITAS TECHNOLOGIES" })

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many rates to return, 1-200 (default 25).
vendorYesCompany name or a distinctive fragment of it, e.g. "DIGNITAS" or "Booz Allen". Vendor names are recorded in full legal form on the contract.
sort_byNoSort field (default current_price).
max_rateNoOnly rates at or below this hourly price, USD.
min_rateNoOnly rates at or above this hourly price, USD.
sort_dirNoSort direction (default asc).
worksiteNoWhere the work is performed: "contractor" (vendor site) or "customer" (government site).
educationNoMinimum education: HS, AA, BA or MA. Plain spellings work too ("bachelors", "high school"). Combine with | for several, e.g. "BA|MA".
business_sizeNo"S" for small business or "O" for other than small. "small" and "large" also work.
max_experienceNoMaximum years of experience required, inclusive.
min_experienceNoMinimum years of experience required, inclusive. Means "this many OR MORE" — mapped to the upstream range filter, because the upstream field of the same name is an exact match.
security_clearanceNo"yes" to only rates requiring a clearance, "no" to exclude them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds useful scoping context about returning per-vendor published rates with contract and SIN information, but does not disclose behaviors such as empty results for unknown vendors, default limits, or data freshness.

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?

The description is compact and effective: it front-loads what the tool returns, then gives concrete use cases)Skip.Skip... It ends with a concrete example. Every sentence carries useful information without redundancy.

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 tool with 12 parameters and no output schema, the description gives enough context for an agent to select it correctly: it states the return payload concept, the filtering scope by vendor, and includes a representative call. It does not enumerate filters or pagination, but the schema already covers those, so the overall package is complete.

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?

The input schema documents all 12 parameters with descriptions, so the description does not need to repeat parameter details. The example demonstrates a meaningful vendor value and shows a complete call, but adds little beyond the schema's already-strong parameter documentation.

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 states a clear verb-resource-scope combination: retrieving every GSA schedule labor rate published by one contractor, and specifies the data included (labor categories, contract numbers, SINs). It also differentiates the tool from sibling tools by emphasizing the single-vendor scope, making selection unambiguous.

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?

The description provides explicit use cases: answering questions like 'what rates does Booz Allen have' and comparing one vendor against the market median. It clearly signals when the tool is appropriate, though it does not explicitly state when to use a sibling tool like gsa_labor_rates or gsa_rate_stats instead.

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.