Skip to main content
Glama

LeaveSheet: Davis-Bacon wage rates and WH-347 certified payroll

Find the Davis-Bacon wage determination for a project

find_wage_determination
Read-onlyIdempotent

Use when the user needs the general wage determination (WD) for a federally funded construction project. This tool makes no network call: it explains where the WD is (the one incorporated in the contract or bid documents, starting with "General Decision Number"), builds the sam.gov search link with the filters to set (state, county, construction type) for the user to open, and quotes the revision rules of 29 CFR 1.6(c). If the user pastes the WD text (wdText) with the contract award date, it reads the modification table and picks the modification that applies under 29 CFR 1.6(c). Example: state="TX", county="Travis", constructionType="Highway", awardDate="2026-06-01". Then call get_wage_rates with the pasted text.

Input Schema

NameRequiredDescriptionDefault
stateYesTwo-letter state code, e.g. "TX".
countyNoCounty name, e.g. "Travis".
wdTextNoText of the WD found by the user, optional, pasted by the user from the contract or from the sam.gov page, from "General Decision Number" to "END OF GENERAL DECISION", line breaks kept (max 400000 characters). Pass the same text again in later calls so rowId values stay valid.
awardDateNoContract award date (or start of construction when there is no award).
bidOpeningDateNoBid opening date, sealed-bid contracts only.
constructionTypeNoConstruction type named in the contract.

Output Schema

NameRequiredDescriptionDefault
cardYes
viewYes
rulesYes
stepsYes
pastedYes
filtersYes
warningsYes
searchUrlYessam.gov wage determination search, opened by the user.
applicableYes
disclaimerYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (readOnly, idempotent, openWorld=false), the description discloses a non-obvious behavioral trait: 'This tool makes no network call' — it explains and constructs a link rather than fetching the WD, which materially changes what an agent should expect. It also describes the conditional logic keyed on wdText plus awardDate. It does not cover error/empty-result behavior, so it falls short of 5.

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?

Front-loaded with the usage trigger, then flows through behavior, conditional logic, and an example without wasted sentences. It is dense but each clause carries distinct information (no-network behavior, link construction, CFR citation, conditional path, handoff). Slightly long, but nothing is filler.

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 annotations covering safety/idempotency and a full output schema covering return values, the description supplies the remaining needed context: what the tool does, the no-network constraint, the conditional reading path, and the downstream get_wage_rates call. It is complete enough to call correctly; minor ambiguity remains around behavior when only state is supplied (the sole required param).

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?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: a concrete example (state="TX", county="Travis", constructionType="Highway", awardDate="2026-06-01") and the conditional relationship between wdText and awardDate that drives the modification-selection logic. The instruction to reuse the same wdText across calls ties into the rowId stability noted in the schema, adding connective value.

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 (the Davis-Bacon general wage determination) and precisely enumerates the four things the tool does: locate/explain where the WD is, build the sam.gov link with filters, quote the 29 CFR 1.6(c) revision rules, and resolve the applicable modification from pasted wdText. This distinguishes it from siblings like get_wage_rates and compare_wd_revisions, which operate on data rather than enabling discovery.

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 opens with an explicit trigger ('Use when the user needs the general wage determination ... for a federally funded construction project') and clarifies the conditional path (only reads the modification table if the user pastes wdText with awardDate). It also routes to the correct follow-up tool ('Then call get_wage_rates with the pasted text'). It stops short of stating when *not* to use it relative to siblings like compare_wd_revisions.

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