BidCatch
Server Details
Live US government bids, awards, expiring contracts, agency forecasts, and protest rulings.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool targets a clearly distinct data source and purpose: exclusions, forecasts, award history, protests, recompetes, and bid opportunities. There is minimal overlap, and descriptions explicitly differentiate them (e.g., recompete radar vs. general bid search).
All tools use consistent snake_case with a verb_noun pattern (check_exclusions, get_agency_forecast, get_award_history, get_protest_record, get_recompete_radar, search_bids). The verb choice varies appropriately with the action, but the convention is uniform.
Six tools is well-scoped for a federal bid intelligence server. Each tool covers a distinct research need, and there are no redundant or trivial tools.
The surface covers core pre-bid intelligence: opportunities, awards, forecasts, protests, exclusions, and recompetes. Minor gaps remain, such as retrieving full solicitation details or tracking/exporting bids, but agents can largely work around these.
Available Tools
6 toolscheck_exclusionsAInspect
Check SAM.gov's exclusion (debarment) list for a company or person — entities the government has barred from receiving federal contracts or subcontracts. Run this before teaming with or subcontracting to anyone: one excluded partner can poison a bid. Match by exact company name or UEI; a state filter disambiguates common names. Records come from SAM.gov's published exclusions extract, refreshed weekly.
| Name | Required | Description | Default |
|---|---|---|---|
| uei | No | SAM.gov Unique Entity ID — the strongest match key | |
| name | No | Company or person name, e.g. 'Acme Paving LLC' | |
| state | No | Two-letter US state code, e.g. TX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it identifies the data source, states weekly refresh cadence, and explains exact matching by name or UEI. It does not describe return fields or whether partial matches are possible, leaving some behavior unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences, front-loaded with the core action and followed by the risk rationale and matching behavior. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup with three optional, fully documented parameters, the description covers what is checked, why it matters, matching keys, and source freshness. Because there is no output schema, it could still say more about the return value, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds useful semantic guidance beyond the schema by emphasizing exact name/UEI matching and explaining that the state filter disambiguates common names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (SAM.gov exclusion/debarment list) and action (check for a company or person). Clearly distinguishes this compliance lookup from the forecast, award, protest, recompete, and bid-search siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Strongly states when to use it: before teaming with or subcontracting to anyone, with the consequence of an excluded partner poisoning a bid. It does not discuss when not to use it or name an alternative, so it falls short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agency_forecastAInspect
List an agency's published procurement forecast — planned contract actions with estimated values and timelines, in the agency's own words. Planning-grade data; entries can be revised or cancelled. Requires a BidCatch intel key.
| Name | Required | Description | Default |
|---|---|---|---|
| agency | Yes | Agency name or distinctive fragment, e.g. 'Interior' or 'Veterans' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that entries can be revised or cancelled (volatility), that the data is planning-grade rather than authoritative, and that a BidCatch intel key is required (auth prerequisite). It stops short of return format, pagination, or behavior for agencies with no forecast.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the core purpose before the data-quality caveat and auth requirement. Every clause carries information; nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers purpose, the shape of returned entries, data reliability caveats, and the auth requirement — enough for an agent to call it correctly. Only pagination/result-size behavior is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'agency' parameter, including an example ('Interior', 'Veterans'), so the schema already does the work. The description adds no syntax, matching, or format guidance beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('an agency's published procurement forecast') and even unpacks what a forecast entry contains (planned contract actions, estimated values, timelines). It is clearly distinct from siblings like get_award_history and get_protest_record by resource, though it never names an alternative to differentiate explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (planning-stage procurement research) but gives no explicit when-to-use or when-not-to-use guidance, and does not route the agent between this tool and search_bids or get_recompete_radar. 'Planning-grade data' hints at the context but is a data-quality caveat, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_award_historyAInspect
Search federal contract award history — who won what, for how much, and when. Use it to size up incumbents, price work, or find buyers. Requires a BidCatch intel key.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | recent | |
| query | Yes | Keywords matched against description, recipient, and agency | |
| state | No | Two-letter US state code, e.g. TX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It usefully states the auth prerequisite ('Requires a BidCatch intel key') and the search/read nature of the operation, but says nothing about result volume, pagination, or rate limits for a historical dataset that is likely large.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: purpose first, use cases second, with the auth requirement appended as a short qualifier. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read tool with no output schema and no annotations, the description covers purpose, use cases, and auth, but omits result-shape expectations (counts, pagination, sort behavior) that an agent needs to call it correctly at scale. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: 'query' and 'state' are documented, and 'sort' carries an enum plus default, so the schema is doing most of the work. The description adds no parameter-level detail (e.g., whether 'state' filters the recipient or the awarding agency), leaving it at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Search') and resource ('federal contract award history') and unpacks the payload as 'who won what, for how much, and when,' which cleanly separates it from the sibling search_bids (active solicitations vs. past awards). It never explicitly names or contrasts a sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete use cases — 'size up incumbents, price work, or find buyers' — which tells an agent what business question this tool answers. It does not state when to prefer it over get_recompete_radar or search_bids, nor any exclusions, so it lacks the routing precision of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_protest_recordAInspect
Search Government Accountability Office (GAO) bid protest decisions — who challenged an award, and whether the referee sustained or denied it. Requires a BidCatch intel key.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Keywords matched against agency and case matter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses an auth requirement ('Requires a BidCatch intel key') and the nature of the returned decisions, but says nothing about result volume, pagination, or rate limits for what is presumably a search endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource, and the em-dash clause delivers the return semantics without padding. No sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, annotation-free search tool with no output schema, the description covers purpose, auth requirement, and the gist of the results. It stops short of describing result shape or pagination, which matters somewhat given there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter and schema description coverage is 100% — the schema already states keywords are matched against agency and case matter. The description adds no syntax, scoping, or matching-behavior detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Search) and a precise resource (GAO bid protest decisions), plus a plain-language gloss of the payload ('who challenged an award, and whether the referee sustained or denied it'). It does not explicitly differentiate itself from siblings like search_bids or get_award_history, though the protest-specific domain makes the distinction reasonably inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer you call this when you need GAO protest outcomes, but there is no statement of when to prefer it over search_bids or get_award_history and no exclusions. The only explicit condition given is the authentication prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recompete_radarAInspect
List federal contracts nearing expiration — each one a competition about to reopen. Filter by keyword, NAICS code, or state. Requires a BidCatch intel key.
| Name | Required | Description | Default |
|---|---|---|---|
| naics | No | NAICS industry code, e.g. 541512 | |
| query | No | Keywords matched against description, recipient, and agency | |
| state | No | Two-letter US state code, e.g. TX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses a prerequisite ('Requires a BidCatch intel key') and 'List' implies a read-only operation, but it says nothing about result volume, pagination, or rate limits. The auth disclosure adds real value beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences plus a short prerequisite note. The core purpose is front-loaded and every clause earns its place, with no redundancy against the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema, the description covers purpose, filters, and the auth requirement adequately. It could say more about what each result contains or ordering, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are fully documented in the schema. The description only restates the filter dimensions without adding format or syntax detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List federal contracts nearing expiration,' with the framing clause 'each one a competition about to reopen' clarifying the recompete angle. This inherently separates it from search_bids and get_award_history, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the three filter dimensions (keyword, NAICS, state), which implies when the tool is useful, but offers no explicit when-to-use vs alternatives guidance against siblings like search_bids or get_agency_forecast. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bidsAInspect
Search government bid opportunities (open and past) by keyword, state, and buyer level. Results are relevance-ranked; keyword matches in the title outrank passing mentions in the description.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Level of government buyer | |
| query | Yes | Keywords, e.g. 'fiber optic' or 'cyber' | |
| state | No | Two-letter US state code, e.g. TX | |
| open_only | No | true = only bids whose deadline has not passed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does add a genuinely useful non-obvious trait — results are relevance-ranked and title matches outrank description mentions — which is not derivable from the schema. However, it is silent on result volume, pagination, whether the search is exhaustive, and any auth/rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, both load-bearing, with the scoping content front-loaded before the ranking note. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter search with no annotations and no output schema, the description covers purpose and ranking but omits result-set characteristics (pagination, count limits) and any note that the ranking rule is the only ordering available. Adequate but with clear gaps for an agent deciding how to page or how broadly to query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the four parameters are already fully documented, establishing a baseline of 3. The description restates the searchable dimensions (keyword/state/buyer level) and clarifies the open-vs-past distinction behind 'open_only', but adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Search') and resource ('government bid opportunities') and enumerates the three filtering axes (keyword, state, buyer level). The resource is distinct from every sibling (forecasts, awards, protests, recompete radar), so no confusion is possible without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to reach for this tool versus siblings, nor does it state prerequisites or exclusions. The only usage signal is the parenthetical '(open and past)', which is folded into the purpose statement rather than presented as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
check_exclusions
5 tool updates
- First observed
get_agency_forecast - First observed
get_award_history - First observed
get_protest_record - First observed
get_recompete_radar - First observed
search_bids
Related MCP Connectors
US federal contracts: solicitations, set-asides, deadlines, awards, contractor profiles. Free.
US federal contracting data: open solicitations, buying agencies, contractors, price history.
Federal contract intelligence: $7T+ awards, SAM.gov opps, pWin verdicts, recompetes, protests.
Government contract search and federal procurement data: SAM.gov opportunities + USASpending awards.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceOpen & historical US government bid solicitations from city/county portals — updated daily.23 npm1MIT
- AlicenseAqualityBmaintenanceSearch and analyze U.S. federal government contracts and opportunities from SAM.gov. Tools for keyword search, contract details, competitive analysis, and capability statement drafting — built for AI agents via x402 USDC micropayments.32MIT
- FlicenseNot gradedqualityDmaintenanceFederal procurement intelligence toolkit that searches SAM.gov contract opportunities, analyzes agency spending patterns, tracks competitor wins, and monitors small business set-aside programs (8a, HUBZone, SDVOSB, WOSB). 4 tools using SAM.gov and USASpending.gov data.3-
- FlicenseNot gradedqualityAmaintenanceFind federal contract opportunities, research awards and vendors, and review exclusion evidence with linked official sources. Public research is free and needs no account.-
Glama MCP Gateway
Add one secure layer between your agents and this server.