Skip to main content
Glama
MatchAwards MCP server

MatchAwards MCP server

Official

Assess an opportunity

assess_opportunity
Read-onlyIdempotent

Check if a government contract opportunity fits you: see days left, set-aside and NAICS match, similar past awards, usual winners, and typical award value to decide whether to bid.

Instructions

Use this when the user asks if one opportunity is a good fit for them, whether to bid, or wants a bid brief: days left, set-aside match, similar past awards at the same agency, the firms that usually win such work and the usual award value.

Pass the id from a search result, and optionally my_naics (up to 10 codes) and my_set_aside to check the fit. Similar awards come from MatchAwards' award records for the same NAICS at the same agency, or at all agencies when that agency has none (basis says which); sample gives the dates covered and whether every matching record was read, so state that span rather than a longer one. Award records may be incomplete, so say so; ai text is AI-generated, so label it. Never call a firm the incumbent: these are firms that won similar work. Example: id="117412688283576625".

Print url, sam_url and each award's url and source_url as markdown links.

Do not use for searching (search_contracts, search_grants), for finding partners (find_teaming_partners) or for job postings.

Input Schema

NameRequiredDescriptionDefault
idYesThe id field of a search result.
my_naicsNoUp to 10 six-digit NAICS codes, comma-separated, e.g. '236220' or '541511,541512'. A record matches on its own codes (matched_naics says which). Unknown codes are ignored.
my_set_asideNoThe user's set-aside code, e.g. 'SBA' or 'SDVOSBC', to compare with the opportunity's.

Output Schema

NameRequiredDescriptionDefault
aiNoAI-generated notes on this opportunity, or null. Label them as AI-generated when you show or quote them.
noteNo
as_ofNo
basisNo'same NAICS and agency', 'same NAICS, all agencies', or null (no NAICS).
sampleYes
warningNoSet when the award lookup was cut short; the figures cover what was read.
naics_matchNoWhether the opportunity's NAICS is one of my_naics; null when my_naics was not given.
opportunityYes
coverage_noteNo
similar_awardsYesThe 5 newest similar awards.
set_aside_matchNoWhether the opportunity is set aside for my_set_aside; null when it was not given. An opportunity without a set-aside is open to all firms.
typical_winnersYesUp to 5 firms that won similar work, most awards first, then largest total.
award_value_rangeNoQuartiles of the similar awards' amounts (USD); null with fewer than 3 amounts.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantive context beyond them: MatchAwards data falls back to all agencies when the agency has none (with basis/sample indicating coverage), award records may be incomplete, ai text is AI-generated and must be labeled, and firms must not be called incumbents. It also specifies required output formatting (markdown links for url, sam_url, and each award's url/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 the trigger and the result payload, then parameters, then data caveats, then formatting, then exclusions — a logical order with no filler sentences. It is dense and long, but nearly every clause carries operational value; only the explicit listing of output contents overlaps the output schema.

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?

Even though an output schema exists, the description adds the interpretive layer an agent needs: the basis/sample caveat tells it how to phrase coverage honestly, and the incumbent/AI-generated rules prevent mischaracterization of results. Combined with the explicit exclusions and formatting requirements, nothing material is missing for correct invocation or reporting.

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?

Schema coverage is 100% and each parameter already carries a description, so the baseline is 3. The prose restates the same guidance ('pass the id from a search result', 'my_naics up to 10 codes', 'my_set_aside to check the fit') without adding syntax or semantics beyond 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 (assess) and resource (one opportunity) and enumerates the output payload: days left, set-aside match, similar past awards at the same agency, the firms that usually win, and usual award value. It also names the sibling tools it is not (search_contracts, search_grants, find_teaming_partners), so an agent can route without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Opens with explicit trigger conditions ('when the user asks if one opportunity is a good fit, whether to bid, or wants a bid brief') and closes with explicit exclusions naming the alternative tools for searching, partner-finding, and job postings. When-to-use, when-not-to-use, and alternatives are all present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.