Skip to main content
Glama

Search state and local bids and contracts

search_local_bids
Read-onlyIdempotent

State, county and city government bids and contracts (not federal awards), from the governments that publish them as open data: Los Angeles (the City, LA County, LADWP, LAUSD, airports, port, Metro), New York City, San Francisco, Washington DC, Chicago, Cook County, Austin, Detroit, Richmond, Sacramento, Baton Rouge, Montgomery County MD, Delaware, Texas DOT, California state departments (Cal eProcure), SUNY construction, E-Rate and others. kind: "open" (taking responses, soonest due first), "planned" (forecasts: TxDOT's planned lettings, Illinois CDB, San Diego County), "awarded" (contracts first awarded in the last year: who won, net amounts) or "current" (in force today, soonest ending first: the re-bids). q: words in the title or description; state: two-letter code (open and planned bids); source: one source key from the reply's sources. Coverage is partial: no tool has every state, county and city; say so when the place asked about isn't covered. Each row links to the government's own record (source_url).

Input Schema

NameRequiredDescriptionDefault
qNoWords in the title or description, e.g. "roofing" or "janitorial".
kindNoopen (taking responses, soonest due first), planned (forecasts), awarded (contracts first awarded in the last year) or current (in force today, soonest ending first).open
limitNoMost rows to return, 1-50.
stateNoTwo-letter state code, e.g. "TX" (open and planned bids).
sourceNoOne source key from the reply's sources, e.g. "txdot", "nyc", "lacity".

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?

Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior, so the description's job is lighter. It adds genuinely useful behavior context: coverage is partial and the agent should say so when a place isn't covered, ordering differs by kind, and each row links to the government's own record via source_url.

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 purpose, then the kind definitions, then per-parameter guidance, then the coverage caveat—a logical order. The long parenthetical roster of agencies (LADWP, LAUSD, airports, port, Metro, etc.) is somewhat bloated but does carry real coverage information, so it largely earns its place.

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?

Without an output schema, the description covers what matters: the result rows link to source_url, the reply contains source keys usable in the source filter, and partial coverage should be disclosed to the user. It does not describe limit defaults, but the schema handles that.

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 description coverage is 100%, so the baseline is 3, and the description exceeds it by clarifying that state applies only to open and planned bids, that source must be one of the keys returned in the reply, and by giving concrete examples of kind semantics and ordering. No syntax details for q beyond title/description matching, which is already in the schema.

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 verb and resource (search state/county/city bids and contracts) and immediately excludes federal awards, which is the key disambiguation. The enumerated source coverage makes the exact scope of the tool unmistakable and clearly separates it from siblings like sbir_awards or search_recipients.

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?

Explains what each kind value means and when it applies (open = taking responses, planned = forecasts, awarded = recent wins, current = in force), plus which filters are valid for which kinds (state applies to open and planned). It does not explicitly contrast this tool with named sibling tools beyond the federal-awards exclusion, so it falls short of a 5.

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