Skip to main content
Glama

Find where a state, county or city posts its bids

find_bid_portals
Read-onlyIdempotent

Where to bid in a place: the state's, county's or city's own bid / procurement portal, the platform it runs on (Bonfire, OpenGov, DemandStar, PlanetBids, BidNet Direct...), its open bids list when known (open_bids_url: give that link first), department bid pages (more_links), where vendors register, and the levels above it (a city's county and state). Covers every state and territory, every county with a county government and the cities and towns of 10,000+; a smaller place gets its state's portal. status: confirmed (the bid page was checked), listed (added by hand; the site blocks automated checks) or site_only (only the official site so far: say the bid page isn't confirmed; no site means no working official website was found, so point to the county and state instead). in_spendquery: sources whose bids or contracts search_local_bids already has. certification_and_help: the state's own small-business certifications (Texas HUB, Virginia SWaM...; empty when it has none) and the national help (APEX Accelerators, SBDCs, SBA certifications). For a city, open_federal_notices_url lists the open SAM.gov notices performed there (search_notices with state and city gives them as data). SpendQuery links to these portals; it doesn't copy their bids.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "place": "<place>"
    },
    "name": "find_bid_portals"
  }
}

Input Schema

NameRequiredDescriptionDefault
placeYesA state, county or city as people write it: "Simi Valley, CA", "Ventura County, California", "Texas".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/closed-world, and the description adds substantial context beyond them: the meaning of each status value (confirmed/listed/site_only), coverage boundaries, and the explicit caveat that SpendQuery links to portals rather than copying bids. This is exactly the provenance and limitation detail an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The core answer is front-loaded, but the body is a dense run-on of semicolon-chained clauses and parentheticals that is hard to scan. Nearly every clause carries information, yet the lack of sentence breaks and list structure costs readability.

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?

There is no output schema, and the description compensates by naming and explaining each returned field (open_bids_url, more_links, status, in_spendquery, certification_and_help, open_federal_notices_url). For a single-parameter lookup tool, nothing an agent needs to interpret results is missing.

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% and the single 'place' parameter is already documented with examples, so the baseline is 3. The description adds meaning by explaining how place resolution degrades (a smaller place gets its state's portal), which the schema does not convey.

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 specific resource (the state/county/city bid portal, its platform, open-bids list, registration page) and scope (every state and territory, counties, cities 10,000+). It explicitly distinguishes itself from siblings by naming search_local_bids and search_notices and describing how their data differs.

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 gives concrete usage rules: 'give that link first' for open_bids_url, fall back to the state portal for small places, and point to county/state when no site exists. It also routes to search_notices for federal notices as data. It stops short of an explicit 'use this instead of X when...' statement for the local-bids sibling, so not 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