io.github.itcustomsolution/sam-gov-mcp·Public data

sam-gov-mcp

Search SAM.gov contract opportunities (read-only). Bring your own free SAM.gov API key.

Stars
0
Version
0.1.0
License
MIT
Review
Passed
Language
TypeScript
Last commit
1h ago
Forks
0
Open issues
0
Registry update
Oct 15, 2026
federal-contractinggovconmcpmcp-servermodel-context-protocolsam-govtypescript

Connect

npm
Terminal
$claude mcp add sam-gov-mcp \  -e SAM_API_KEY=<sam-api-key> \  -- npx -y @itcustomsolution/[email protected]

Environment variables

  • SAM_API_KEYrequiredsecret

    Your free SAM.gov API key (sam.gov > Account Details > API Key)

Security review

Review passed

Reviewed 26m ago.

metadata
scanned
packages
1 checked

No findings.

Tools

This server runs on your machine, so its tool list is not fetched before install — the README below describes what it offers.

sam-gov-mcp

An MCP server that lets AI assistants (Claude Desktop, Cursor, and other MCP clients) search SAM.gov contract opportunities through the public SAM.gov Get Opportunities API.

  • Read-only. It only searches and reads public notices.
  • Bring your own key. You supply a free SAM.gov API key in SAM_API_KEY. The key is never logged and is redacted from errors and returned links.
  • No ranking or scoring. It returns what SAM.gov returns, summarized.

Quickstart

  1. Get a free API key: sign in at sam.gov → Account Details → API Key.

  2. Install. Claude Code:

    claude mcp add sam-gov -e SAM_API_KEY=your-key-here -- npx -y @itcustomsolution/sam-gov-mcp
    

    Or run it directly: SAM_API_KEY=your-key-here npx -y @itcustomsolution/sam-gov-mcp

  3. Add it to your MCP client. Claude Desktop (claude_desktop_config.json):

    {
      "mcpServers": {
        "sam-gov": {
          "command": "npx",
          "args": ["-y", "@itcustomsolution/sam-gov-mcp"],
          "env": { "SAM_API_KEY": "your-key-here" }
        }
      }
    }
    
  4. Ask: "Find small-business set-aside opportunities for NAICS 541512 posted in the last 30 days in Maryland."

Tools

ToolWhat it doesInputs
search_opportunitiesSearch noticesposted_from, posted_to (required, YYYY-MM-DD or MM/DD/YYYY, max 1-year range), keywords (title), naics, set_aside, state, limit (1–100, default 10), offset
get_opportunityFull JSON for one noticenotice_id (looks back 1 year)
list_set_aside_codesSet-aside codes and meaningsnone

Search results are summarized to: noticeId, title, solicitationNumber, agency, postedDate, responseDeadline, type, setAside, naics, state, uiLink.

Scope and limits

  • SAM.gov requires a posted-date range of 1 year or less on every search; the server validates this before calling the API.
  • Public API keys have daily rate limits set by GSA. Errors from SAM.gov are passed back as tool errors (with the key redacted).
  • Out of scope: entity/UEI lookup, award data, attachments download, bid/no-bid scoring.

Development

npm install
npm test        # vitest, HTTP fully mocked, no key needed
npm run build

Never commit a real key. .env is git-ignored.

License

MIT © IT Custom Solution

From the server's repository — third-party content, read it before running anything it suggests.

More in Public data

Listing from the official MCP Registry · repository facts from GitHub, 28m ago.