SAM.gov & US Government Contracting
listing.by
Search US federal and state/local contracting data, awards, grants, regulations and vendor-vetting records from public government sources.
listing.install
listing.local.explain
listing.local.needs listing.local.note
SAM_GOV_API_KEYlisting.env.secret listing.env.optional Optional. SAM.gov key for higher rate limits + archives older than 12 months. Keyless by default.CENSUS_API_KEYlisting.env.secret listing.env.optional Required only for census_business_patterns (the Census Data API has no keyless tier); every other tool works without it.FRED_API_KEYlisting.env.secret listing.env.optional Required only for fred_search_series and fred_series_observations (FRED has no keyless tier); every other tool works without it.BEA_API_KEYlisting.env.secret listing.env.optional Required only for bea_regional_data (the BEA Data API has no keyless tier); every other tool works without it.BLS_API_KEYlisting.env.secret listing.env.optional Optional free key for BLS labor-statistics tools (raises rate limits).DOL_API_KEYlisting.env.secret listing.env.optional Required only for dol_get_dataset (DOL's data endpoint has no keyless tier; dol_list_datasets works without it).
listing.share.h
listing.share.p_local
mcp.tc/i/sam-gov-us-government-contractinglisting.about
Wraps public US government data sources for contracting work: SAM.gov solicitations, Grants.gov, OpenGov and Bonfire bids, USAspending and FPDS awards, plus regulation sources such as the Federal Register, eCFR and FAR/DFARS. It also covers partner vetting through OFAC sanctions, SAM exclusions, FAC audits, FDIC financials, EPA ECHO, product recalls and CourtListener litigation. The registry lists 153 tools; 26 are shown here.
Runs locally over stdio with npx (@cliwant/mcp-sam-gov) or as a Claude Desktop extension bundle. Most tools need no API key. A few optional or required keys (SAM.gov, Census, FRED, BEA, DOL) are set as environment variables. Independent project, not affiliated with SAM.gov or the GSA.
listing.can
- Search SAM.gov solicitations and read notice details, contacts and attachments
- Find federal grants and state/local bids on OpenGov and Bonfire
- Analyze federal awards, subawards, expiring contracts and spending over time
- Screen entities against OFAC sanctions and SAM exclusions
- Check FDIC, single-audit, EPA and recall records for vendor vetting
- Search court opinions and dockets on bid protests and False Claims Act matters
- Look up FAR clauses, Federal Register documents, eCFR and NIST 800-53 controls
listing.tools 26
sam_search_opportunitiesSearch SAM.gov federal solicitations without an API key.
sam_get_opportunityFull detail for a SAM.gov notice: SOW, contacts, attachments.
grants_searchSearch Grants.gov federal grant opportunities.
opengov_search_solicitationsSearch state and local bids on OpenGov Procurement.
bonfire_search_opportunitiesSearch state and local open bids on Bonfire.
usas_search_individual_awardsLine-item federal contract awards by recipient, amount and state.
usas_search_awards_by_recipientA recipient's win history for an agency and NAICS slice.
usas_search_expiring_contractsFind contracts expiring soon for recompete tracking.
usas_spending_over_timeFederal spending time series by year, quarter or month.
usas_search_subawardsSubcontracts on prime awards to map the supply chain.
fpds_search_awardsSearch FPDS federal procurement award records.
ofac_screen_entityScreen an entity against OFAC SDN and consolidated sanctions lists.
listing.tools_more
sam_check_exclusionsScreen against SAM.gov exclusions (debarment).
fdic_institution_financialsFDIC bank financials and health for partner vetting.
fac_search_auditsSearch federal single-audit findings from the FAC.
echo_search_facilitiesEPA ECHO environmental compliance and enforcement records.
openfda_enforcementFDA recalls and enforcement actions against a supplier's products.
nhtsa_recallsNHTSA vehicle and equipment recalls.
cpsc_recallsCPSC consumer-product recalls.
courtlistener_search_opinionsSearch federal court opinions and bid protests on CourtListener.
courtlistener_search_docketsSearch RECAP dockets for False Claims Act and qui tam matters.
fed_register_search_documentsSearch Federal Register rules and notices.
ecfr_searchFull-text search of the CFR, including Title 48 (FAR).
far_clause_lookupLook up FAR and DFARS clause text.
nist_800_53_controlsNIST SP 800-53 security and privacy controls for FedRAMP and CMMC.
usas_autocomplete_naicsAutocomplete NAICS codes to avoid invented codes.
listing.prov.mcpb_on
listing.prompts
Find active SAM.gov solicitations under NAICS 541512 closing this month
Show contracts expiring soon at the VA in NAICS 541512
Screen this company for OFAC sanctions and SAM exclusions
Look up the FAR clause for subcontracting plans
listing.setup.h
listing.setup.local
Claude Code
- Run this in a terminal, in your project folder:
claude mcp add --transport stdio sam-gov-us-government-contracting --env "SAM_GOV_API_KEY=<YOUR_SAM_GOV_API_KEY>" --env "CENSUS_API_KEY=<YOUR_CENSUS_API_KEY>" --env "FRED_API_KEY=<YOUR_FRED_API_KEY>" --env "BEA_API_KEY=<YOUR_BEA_API_KEY>" --env "BLS_API_KEY=<YOUR_BLS_API_KEY>" --env "DOL_API_KEY=<YOUR_DOL_API_KEY>" --env "DATA_GOV_API_KEY=<YOUR_DATA_GOV_API_KEY>" --env "NVD_API_KEY=<YOUR_NVD_API_KEY>" -- npx -y @cliwant/mcp-sam-gov- Start Claude Code and type
/mcp. sam-gov-us-government-contracting should show as connected.
Add --scope user to make it available in every project. Replace the placeholders with your own values.
Claude Desktop
- Open Settings → Developer → Edit Config. It opens
claude_desktop_config.json. Add:
{
"mcpServers": {
"sam-gov-us-government-contracting": {
"command": "npx",
"args": [
"-y",
"@cliwant/mcp-sam-gov"
],
"env": {
"SAM_GOV_API_KEY": "<YOUR_SAM_GOV_API_KEY>",
"CENSUS_API_KEY": "<YOUR_CENSUS_API_KEY>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>",
"BEA_API_KEY": "<YOUR_BEA_API_KEY>",
"BLS_API_KEY": "<YOUR_BLS_API_KEY>",
"DOL_API_KEY": "<YOUR_DOL_API_KEY>",
"DATA_GOV_API_KEY": "<YOUR_DATA_GOV_API_KEY>",
"NVD_API_KEY": "<YOUR_NVD_API_KEY>"
}
}
}
}- Save the file and restart Claude Desktop. Replace the placeholders with your own values.
Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.
Cursor
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"sam-gov-us-government-contracting": {
"command": "npx",
"args": [
"-y",
"@cliwant/mcp-sam-gov"
],
"env": {
"SAM_GOV_API_KEY": "<YOUR_SAM_GOV_API_KEY>",
"CENSUS_API_KEY": "<YOUR_CENSUS_API_KEY>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>",
"BEA_API_KEY": "<YOUR_BEA_API_KEY>",
"BLS_API_KEY": "<YOUR_BLS_API_KEY>",
"DOL_API_KEY": "<YOUR_DOL_API_KEY>",
"DATA_GOV_API_KEY": "<YOUR_DATA_GOV_API_KEY>",
"NVD_API_KEY": "<YOUR_NVD_API_KEY>"
}
}
}
}Needs Node.js on your computer. Replace the placeholders with your own values.
VS Code
Add it to .vscode/mcp.json. VS Code asks for the secret the first time and stores it securely:
{
"servers": {
"sam-gov-us-government-contracting": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cliwant/mcp-sam-gov"
],
"env": {
"SAM_GOV_API_KEY": "${input:sam-gov-api-key}",
"CENSUS_API_KEY": "${input:census-api-key}",
"FRED_API_KEY": "${input:fred-api-key}",
"BEA_API_KEY": "${input:bea-api-key}",
"BLS_API_KEY": "${input:bls-api-key}",
"DOL_API_KEY": "${input:dol-api-key}",
"DATA_GOV_API_KEY": "${input:data-gov-api-key}",
"NVD_API_KEY": "${input:nvd-api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sam-gov-api-key",
"description": "SAM_GOV_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "census-api-key",
"description": "CENSUS_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "fred-api-key",
"description": "FRED_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "bea-api-key",
"description": "BEA_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "bls-api-key",
"description": "BLS_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "dol-api-key",
"description": "DOL_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "data-gov-api-key",
"description": "DATA_GOV_API_KEY",
"password": true
},
{
"type": "promptString",
"id": "nvd-api-key",
"description": "NVD_API_KEY",
"password": true
}
]
}Needs Node.js on your computer.
Devin Desktop
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"sam-gov-us-government-contracting": {
"command": "npx",
"args": [
"-y",
"@cliwant/mcp-sam-gov"
],
"env": {
"SAM_GOV_API_KEY": "<YOUR_SAM_GOV_API_KEY>",
"CENSUS_API_KEY": "<YOUR_CENSUS_API_KEY>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>",
"BEA_API_KEY": "<YOUR_BEA_API_KEY>",
"BLS_API_KEY": "<YOUR_BLS_API_KEY>",
"DOL_API_KEY": "<YOUR_DOL_API_KEY>",
"DATA_GOV_API_KEY": "<YOUR_DATA_GOV_API_KEY>",
"NVD_API_KEY": "<YOUR_NVD_API_KEY>"
}
}
}
}- Refresh the MCP server list in Cascade. Replace the placeholders with your own values.
Devin Desktop is the new name for Windsurf.
Codex
codex mcp add sam-gov-us-government-contracting --env "SAM_GOV_API_KEY=<YOUR_SAM_GOV_API_KEY>" --env "CENSUS_API_KEY=<YOUR_CENSUS_API_KEY>" --env "FRED_API_KEY=<YOUR_FRED_API_KEY>" --env "BEA_API_KEY=<YOUR_BEA_API_KEY>" --env "BLS_API_KEY=<YOUR_BLS_API_KEY>" --env "DOL_API_KEY=<YOUR_DOL_API_KEY>" --env "DATA_GOV_API_KEY=<YOUR_DATA_GOV_API_KEY>" --env "NVD_API_KEY=<YOUR_NVD_API_KEY>" -- npx -y @cliwant/mcp-sam-govOr edit ~/.codex/config.toml directly:
[mcp_servers.sam-gov-us-government-contracting]
command = "npx"
args = ["-y", "@cliwant/mcp-sam-gov"]
env = { SAM_GOV_API_KEY = "<YOUR_SAM_GOV_API_KEY>", CENSUS_API_KEY = "<YOUR_CENSUS_API_KEY>", FRED_API_KEY = "<YOUR_FRED_API_KEY>", BEA_API_KEY = "<YOUR_BEA_API_KEY>", BLS_API_KEY = "<YOUR_BLS_API_KEY>", DOL_API_KEY = "<YOUR_DOL_API_KEY>", DATA_GOV_API_KEY = "<YOUR_DATA_GOV_API_KEY>", NVD_API_KEY = "<YOUR_NVD_API_KEY>" }Needs Node.js on your computer. Replace the placeholders with your own values.
Gemini CLI
gemini mcp add -e "SAM_GOV_API_KEY=<YOUR_SAM_GOV_API_KEY>" -e "CENSUS_API_KEY=<YOUR_CENSUS_API_KEY>" -e "FRED_API_KEY=<YOUR_FRED_API_KEY>" -e "BEA_API_KEY=<YOUR_BEA_API_KEY>" -e "BLS_API_KEY=<YOUR_BLS_API_KEY>" -e "DOL_API_KEY=<YOUR_DOL_API_KEY>" -e "DATA_GOV_API_KEY=<YOUR_DATA_GOV_API_KEY>" -e "NVD_API_KEY=<YOUR_NVD_API_KEY>" sam-gov-us-government-contracting npx -- -y @cliwant/mcp-sam-govThis adds it to the current project. Add -s user to use it everywhere.
Any client
Most clients that start local servers accept this shape:
{
"mcpServers": {
"sam-gov-us-government-contracting": {
"command": "npx",
"args": [
"-y",
"@cliwant/mcp-sam-gov"
],
"env": {
"SAM_GOV_API_KEY": "<YOUR_SAM_GOV_API_KEY>",
"CENSUS_API_KEY": "<YOUR_CENSUS_API_KEY>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>",
"BEA_API_KEY": "<YOUR_BEA_API_KEY>",
"BLS_API_KEY": "<YOUR_BLS_API_KEY>",
"DOL_API_KEY": "<YOUR_DOL_API_KEY>",
"DATA_GOV_API_KEY": "<YOUR_DATA_GOV_API_KEY>",
"NVD_API_KEY": "<YOUR_NVD_API_KEY>"
}
}
}
}Zed puts servers under context_servers in its settings, with the same command, args and env fields.
Needs Node.js on your computer. Replace the placeholders with your own values.
listing.faq
Can I paste mcp.tc/i/sam-gov-us-government-contracting into my MCP client?
No. SAM.gov & US Government Contracting runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is npx -y @cliwant/mcp-sam-gov.
Does SAM.gov & US Government Contracting need an API key?
Yes. It reads SAM_GOV_API_KEY, CENSUS_API_KEY, FRED_API_KEY, BEA_API_KEY, BLS_API_KEY, DOL_API_KEY, DATA_GOV_API_KEY and NVD_API_KEY from its environment, and SAM_GOV_API_KEY, CENSUS_API_KEY, FRED_API_KEY, BEA_API_KEY, BLS_API_KEY, DOL_API_KEY, DATA_GOV_API_KEY and NVD_API_KEY are secrets. Put the value in your client's config on your own machine, never in a shared file.
Is SAM.gov & US Government Contracting a remote or a local server?
Local. Your client starts it as a process on your computer with npx -y @cliwant/mcp-sam-gov, which needs Node.js.
What can SAM.gov & US Government Contracting do?
It has 26 tools, including sam_search_opportunities, sam_get_opportunity and grants_search. You can search SAM.gov solicitations and read notice details, contacts and attachments, find federal grants and state/local bids on OpenGov and Bonfire and analyze federal awards, subawards, expiring contracts and spending over time.
Which clients can use it?
Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.
Who wrote this page?
mcp.tc's robot read SAM.gov & US Government Contracting's public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.
listing.em.h
listing.em.lead_local listing.em.how
listing.em.badge
[](https://mcp.tc/i/sam-gov-us-government-contracting)<a href="https://mcp.tc/i/sam-gov-us-government-contracting"><img src="https://mcp.tc/i/sam-gov-us-government-contracting/badge.svg" alt="SAM.gov & US Government Contracting on mcp.tc" height="20"></a>listing.em.badge_note
listing.em.widget
<script src="https://mcp.tc/w/sam-gov-us-government-contracting.js" async></script>listing.em.widget_note
iframe
<iframe src="https://mcp.tc/embed/sam-gov-us-government-contracting" title="SAM.gov & US Government Contracting on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>listing.em.iframe_note
JSON
listing.em.json_local
https://mcp.tc/i/sam-gov-us-government-contracting.jsonlisting.disclaimer_checked