Skip to main content
Glama
govconapi

GovCon API MCP

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOVCONAPI_KEYYesYour GovCon API key. Must start with 'gca_' (e.g., gca_your_key_here).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
resolveA

Turn what the user said into the IDs and codes the other tools take. Start here when the user names an agency, describes their work, or names a company.

  • agency: an agency name or acronym ("Navy", "FEMA") -> the exact agency value search filters expect

  • naics: words from NAICS titles ("computer", "engineering", "construction") -> matching codes with market size. It matches titles, not topics: for "cybersecurity" try "computer"

  • company: a company name -> SAM registrations with their UEI (a large firm has several; pick by name and location, or use search(companies), Pro, which ranks by award history)

  • identifier: a legacy 9-digit DUNS number -> the matching UEI and company (a CAGE code goes to get(entity))

  • organization: an agency or sub-agency name -> its organization_id in the federal hierarchy

searchA

Search one dataset. filters holds that dataset's filters; an unknown filter returns the full list. Agency values come from resolve(agency), NAICS codes from resolve(naics), UEIs from resolve(company). Dates are YYYY-MM-DD. (Pro) marks datasets that need the Pro plan. Keep limit small (20-50) and page with offset: rows are large. Only opportunities, forecasts and partners take keywords.

  • opportunities: SAM.gov notices. naics, psc, agency, keywords, state, set_aside (HUBZone, WOSB, 8(a), Veteran, Small Business), notice_type (Solicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Award Notice), posted_after, due_before, due_after, value_min, value_max; sort_by: posted_date | due_date | award_amount | title | agency | relevance

  • opportunity_changes: notices added or changed since a time. since (ISO timestamp, required); no other filters

  • forecasts: work agencies plan to buy. agency, naics, set_aside, state, est_award_fy, keywords, is_recompete, source (fco | dhs | hhs); sort_by: est_award_fy | est_solicitation_date | value_high | agency

  • award_notices: SAM.gov award announcements. awardee, uei, naics, agency, value_min, value_max, date_from, date_to

  • contracts: FPDS awards. naics, agency, uei, piid, award_type_code (A | B | C | D), date_from, date_to, amount_min, amount_max; sort_by: action_date | current_total_value_of_award | federal_action_obligation | recipient_name. Find a named vehicle's orders with parent_piid

  • vehicles: IDIQs, GWACs, GSA Schedules. Needs one of uei, piid, agency, naics, idv_type (IDC | FSS | BPA | GWAC | BOA); active_only, ceiling_min. No name search: find a vehicle's PIID via contracts or the notice

  • subawards: who subcontracts to whom. prime_uei, sub_uei, sub_name, naics, agency, piid, date_from, date_to, amount_min; sort_by: subaward_action_date | subaward_amount

  • recompetes (Pro): contracts ending soon. naics, agency, set_aside, state, ends_within_months, amount_min; sort_by: ends_soonest | value | mod_churn | de_obligated

  • companies (Pro): firms with award history. q (name, REQUIRED), naics, agency, naics_small

  • entities: every SAM registration. q (name), naics, state, business_type (SAM code: "8W" WOSB, "QF" SDVOSB), naics_small (a NAICS the firm is SBA-small for), active_only

  • expiring_registrations (Pro): SAM registrations about to lapse. within_days, state, naics

  • partners (Pro): teaming partners with past performance. naics, agency, state, psc, keywords, set_aside (sdvosb | vosb | wosb | hubzone | 8a | sdb | minority_owned)

  • protests: GAO bid protests. agency, protester, status (Open | Closed), outcome (Denied | Dismissed | Sustained | Withdrawn), filed_from, filed_to; sort: recent | oldest | filed | due

  • exclusions: debarred or suspended parties. name, uei, cage_code

  • wage_determinations: type (SCA | DBA | CBA), state (2 letters), county, wd_number, active_only

  • wage_determinations_by_location: every determination for a place. state (2 letters, required), county, type

  • offices: contracting offices that buy a NAICS. naics (required); sort: biggest | most_open

getA

Fetch one record by its ID. IDs come from search results or resolve. (Pro) needs the Pro plan.

  • opportunity: notice_id from search(opportunities)

  • contract (Pro fields), contract_modifications, contract_vehicle, recompete (Pro): a PIID from search(contracts) or search(recompetes). contract_vehicle is the IDIQ or schedule the contract was ordered under

  • vehicle, vehicle_holders (Pro): a vehicle PIID from search(vehicles) or get(contract_vehicle)

  • entity: a UEI (12 characters) or CAGE code (5); company_profile, company_awards, company_peers, vendor_risk (all Pro), prime_subawards, prime_relationships: a UEI from resolve(company)

  • subaward: subaward_sam_report_id from search(subawards)

  • protests_on_solicitation (Pro): a solicitation number from an opportunity or contract

  • wage_determination: wd_id from search(wage_determinations)

  • office: office_code from search(offices)

  • organization, organization_relationships: organization_id from resolve(organization); options.direction = children or ancestors for relationships options takes the record's extra arguments: company_awards {limit, offset, sort_by, sort_order}, vehicle_holders {limit}, contract_modifications {limit, offset}, organization_relationships {direction}.

marketA

How big a NAICS market is, who wins it, and how it buys, across every agency. A 6-digit naics for the per-code views, which take no filters (for one agency: search(contracts) with naics and agency).

  • size: obligated dollars, award count and concentration

  • competition: offers per award, single-bidder share, set-aside mix

  • solicitation_language: the phrases contracting officers use in that market's notices

  • small_buys: how much is bought under the micro-purchase and simplified-acquisition thresholds

  • leaderboard: ranked NAICS codes; board = biggest, least_crowded, most_open (no naics needed)

  • find_codes: NAICS codes by market traits; filters: keywords (matches NAICS titles, not topics: use "computer", not "cybersecurity"), sector, prefix, min_market, max_competitors, set_aside_family (total_small_business | 8a | sdvosb | wosb | hubzone), sort_by (market | competitors | setaside_pct)

priceA

Price evidence for a bid. (Pro) needs the Pro plan.

  • benchmark (Pro): the distribution of comparable contract values. naics (required), psc, agency, date_from, date_to, pricing_type (shorthand: FFP | T&M | CPFF | CPAF | LH), set_aside (code: 8A | SBA | SDVOSBC | WOSB | HZC | NONE), value_basis (current | potential | obligated)

  • position (Pro): where a value ranks against comparable contracts. naics and value (a string, e.g. "2200000"), required; same optional filters as benchmark

  • labor_rates: GSA CALC ceiling hourly rates. labor_category (required), match (contains | exact), education_level (HS | AA | BA | MA | PHD), min_experience, max_experience, naics, vendor, worksite, business_size, security_clearance

  • wage_rates: SCA or Davis-Bacon hourly rates for an occupation. classification (title words, e.g. "Electrician"), occupation_code (SCA 5-digit), type (SCA | DBA), state, wd_number; sort_by: base_rate | classification | wd_number. For one place, get the WD first and read its rates

  • wage_summary: the spread of those rates. classification or occupation_code, type, state

contactA

Who to talk to. Both need the Pro plan.

  • company_decision_maker: a company's decision-maker, from its UEI (resolve(company) finds one); SAM registration agents are filtered out

  • contracting_officer: a contracting officer's details from their name or email; agency and state narrow it

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

The six top-level tools have clearly distinct roles: resolve converts names to IDs, search queries datasets, get fetches records by ID, contact finds people, market provides market analytics, and price provides pricing evidence. Overlaps like search(contracts) vs market(size) and resolve(company) vs search(companies) are explicitly differentiated by descriptions and workflows.

Naming Consistency4/5

Top-level tool names are all lowercase and readable, but they mix verb-style names (resolve, search, get) with noun-style names (contact, market, price). Sub-operations are grouped consistently within resolve/search/get, though the overall surface uses a mix of singular, plural, and compound names.

Tool Count5/5

Six top-level tools is well within the ideal range and matches the gateway-style design needed for a broad GovCon dataset. Each tool earns its place as a distinct capability area, even though search and get internally expose many dataset-specific operations.

Completeness5/5

The surface covers the full GovCon research lifecycle: ID resolution, opportunity and award discovery, contract and vehicle lookup, entity and contact details, market analytics, and pricing evidence. No obvious read-only workflow dead ends are present for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues