US Federal Procurement MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@US Federal Procurement MCP find open HUBZone contracts in Maryland under $250,000"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
US Federal Procurement MCP
Federal contracting intelligence for small businesses — as an MCP server. Search contract opportunities, understand set-asides and NAICS codes, and analyze solicitations for small-business fit and risk — from inside Claude, Cursor, or any MCP client.
This fills the biggest gap in US small-business (SBA) contracting: an LLM trained on the public internet cannot know current contract opportunities or reliably recall the set-aside rules, FAR thresholds, and NAICS structure that determine whether a bid is even worth pursuing. This server makes that real and queryable.
Tools (9)
Tool | What it does |
| Search federal opportunities by keyword / agency / set-aside / NAICS / state / value / deadline |
| Set-aside, sector, agency & value overview + urgent deadlines |
| Evidence-backed small-business fit assessment (insufficient / mismatch / review / potential) + red-flag scan (bonds, turnover, past-performance) |
| Phase-3 deep review: fetches full notice + attachments, combines a bidder capability profile with source-linked extraction (instructions, evaluation factors, clauses, amendments) |
| Translate a description into NAICS sectors |
| Explain a set-aside (Small Business, 8(a), HUBZone, WOSB, SDVOSBC…) |
| Micro-purchase, SAT, Miller Act bond, subcontracting-plan thresholds |
| Full record (incl. POC, links, award) + state name for one opportunity — live or sample |
| What a SAM.gov type code means (sources sought, solicitation, J&A…) |
Everything is deterministic, typed, and honest about its data source.
Related MCP server: GovCon
Install & run
python3 -m venv .venv
.venv/bin/pip install -e ".[test]"
.venv/bin/pytest tests/ -q # 84 tests incl. real MCP stdio integration
.venv/bin/us-gov-mcp # or: .venv/bin/python -m usgovmcp.serverConnect a client
Claude Desktop / Claude Code / Cursor → see configs/mcp-config.json
(canonical example: same JSON works for Claude Desktop and Cursor; for Claude Code,
use claude mcp add). Set PYTHONPATH to this repo; optionally add a SAM_GOV_API_KEY.
Data
Default: a bundled set of clearly-labeled sample opportunities so it works and is tested with no key.
Live (SAM.gov): get a free public API key from your SAM.gov account →
Account Details → request a public API key. SetSAM_GOV_API_KEY. The provider (SAMGovProvider) already talks toapi.sam.gov/opportunities/v2/searchand is unit-tested against the real response shape. Live data is never faked — until a key is set, labeled samples are returned.
Layout
us-gov-mcp/
├── usgovmcp/
│ ├── server.py ← FastMCP server wiring all tools
│ ├── knowledge.py ← NAICS, set-asides, FAR thresholds, red-flag rules
│ ├── analyzer.py ← evidence-backed fit assessment + red-flag scan
│ ├── solicit.py ← bidder capability profile + source-linked extraction (Phase 3)
│ ├── providers.py ← bundled + SAM.gov live providers
│ ├── models.py ← typed Opportunity / search params / ProviderResult
│ ├── intel.py ← market-snapshot aggregation
│ └── sample_data.py ← labeled demo opportunities
├── configs/
├── scripts/smoke.py ← CI startup check (fails pipeline on broken server)
├── scripts/secret_scan.sh ← CI gate: blocks committed credentials
├── cache.py ← bounded TTL cache (protects SAM.gov quota)
├── tests/ ← 84 tests incl. real stdio protocol integration
├── constraints.txt ← tested/locked dependency set for releases
├── CONTRIBUTING.md SECURITY.md LICENSE CHANGELOG.md
├── pyproject.toml ← also ruff + mypy config
└── README.mdCI runs two jobs: test (Python 3.10/3.11/3.12) and quality (ruff
lint + format check, mypy, package build, secret scan).
MIT licensed. Not legal advice — always read the full solicitation before bidding.
Trust & evidence rules
analyze_solicitationnever produces a confident fit from missing evidence: unknown notices and empty text returninsufficient_information.Provider results are typed (
ProviderResult):ok,no_matches,authentication_error,rate_limited,upstream_error,parse_error,no_key. Asking forsam_govwithout a key returnsno_key— never a silent, misleading empty list.All data is honestly labeled by source (
bundled_samplevssam_gov).
Available Tools
9 toolsanalyze_solicitationA
Evidence-backed small-business fit assessment + red-flag scan.
Provide either a notice_id (looked up from live SAM.gov or the sample
pool) or pasted text of a solicitation. Returns one of:
insufficient_information / likely_mismatch / requires_capability_review /
potential_fit, with the evidence reviewed, gates, and what's missing.
Effortless proof rule: missing evidence can NEVER produce a confident fit.
Inputs: text, source, notice_id, set_aside, +3 more.
federal_thresholdsA
Return federal procurement thresholds (USD) with source provenance (citation, effective date, superseded value). Names: micro_purchase_general, simplified_acquisition_threshold, miller_act_bond, subcontracting_plan_services, subcontracting_plan_construction.
Inputs: name.
look_up_naicsA
Map a goods/services description to NAICS sectors (note: curated 2-digit sectors).
Inputs: query.
look_up_set_asideB
Explain a SAM.gov set-aside (official codes: SBA, SBP, 8A, 8AN, HZC, HZS, WOSB, WOSBSS, EDWOSB, EDWOSBSS, SDVOSBC, SDVOSBS, VSA ...).
Inputs: code_or_label (required).
market_snapshot_toolC
Overview of available federal opportunities: set-asides, NAICS sectors, agencies, typical values, and urgent deadlines.
Inputs: state, set_aside, max_results.
opportunity_detailsA
Full structured record for one opportunity by notice id (live SAM.gov if available, else sample pool). Sensitive/noisy fields are behind detail=true.
Inputs: notice_id (required), source.
opportunity_typeA
Explain a SAM.gov opportunity type (ptype) code. Official: o=Solicitation, k=Combined Synopsis/Solicitation, r=Sources Sought, p=Presolicitation, u=J&A, a=Award, s=Special Notice, g=Surplus, i=Intent to Bundle.
Inputs: code (required).
search_opportunitiesA
Search federal contract opportunities (beta.SAM.gov).
Filters: free-text query, agency, set-aside (small/8a/hubzone/wosb/sdvosb), NAICS (sector or 2-6 digit code), performance state (2-letter), opportunity type code, value range (USD), and response-deadline window. Returns typed results distinguishing no-match from an upstream failure.
Inputs: limit, naics, query, state, +7 more. Returns: Structured, typed provider result (audit P0-5).
solicitation_reviewA
Phase-3 evidence-backed solicitation review.
Looks up the notice (live SAM.gov by notice id, else sample), fetches the full description and attachment metadata (bounded, content-type checked), then combines BIDDER CAPABILITY facts with source-linked extraction of submission instructions, evaluation factors, mandatory clauses, period/place, and amendment history.
Missing bidder facts or missing documents surface as findings — a gap can never inflate the result toward 'potential_fit'.
Inputs: notice_id (required), source, capabilities, certifications, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools have distinct purposes: search vs details vs analysis vs reference lookups are clearly separated. However, analyze_solicitation and solicitation_review overlap in solicitation-focused assessment, and market_snapshot_tool could be confused with search_opportunities by agents looking for an overview.
Most tools use verb_noun patterns like search_opportunities, look_up_naics, analyze_solicitation, and federal_thresholds. This is inconsistent with market_snapshot_tool and opportunity_details, which use noun_phrase naming, and the mix of 'look_up' vs 'lookup' style is not fully predictable.
Nine tools is a well-scoped size for a federal procurement domain, covering search, reference, and analysis workflows without bloat. Each tool serves a distinct functional area, and the count feels neither thin nor overwhelming.
The server covers core workflows: searching opportunities, viewing details, understanding codes/classifications, and analyzing solicitation fit. Minor gaps exist, such as no direct tool for listing agencies or saving/tracking opportunities, but the main user journey is supported end-to-end.
Maintenance
Related MCP Connectors
MCP access to the U.S. federal procurement graph: contracts, opportunities, entities, and more.
Federal+SLED govcon MCP: SAM, USASpending, recompete, hearings, policy intel, search. Private AI.
Federal contract research and approved pursuit workflows. Paid FedFinder account and OAuth required.
Search U.S. federal contract opportunities (RFPs, bids, awards) from SAM.gov official data.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables research of federal contract awards and competitive landscape analysis using the USASpending.gov API. Supports searching for contracts, analyzing recipients, tracking spending trends, and identifying market opportunities in government contracting.2MIT
- 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-
- 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 gradedqualityDmaintenanceEnables AI assistants to search federal contracts, analyze agency spending, track competitor wins, and monitor small business set-aside opportunities using SAM.gov, USASpending.gov, and FPDS data.1-