MCP server for accessing SAM.gov APIs
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"sam-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# sam-mcp An MCP server for accessing [SAM.gov](https://sam.gov) APIs, built with [FastMCP](https://github.com/jlowin/fastmcp) and Python. ## Prerequisites - [uv](https://docs.astral.sh/uv/getting-started/installation/) - A SAM.gov API key — get one at [sam.gov/workspace/profile/account-details](https://sam.gov/workspace/profile/account-details) ## Setup ```bash git clone https://github.com/rsivilli/sam-mcp cd sam-mcp cp .env.example .env ``` Edit `.env` and set your API key: ```env SAM_API_KEY=your_api_key_here ``` ## Running the server **stdio** (for MCP clients that spawn the process, e.g. Claude Desktop): ```bash uv run sam-mcp ``` **HTTP** (for connecting remotely): ```bash uv run sam-mcp-http ``` ## Claude Desktop configuration Add the following to your `claude_desktop_config.json`: ```json { "mcpServers": { "sam-gov": { "command": "uv", "args": ["run", "--directory", "/path/to/sam-mcp", "sam-mcp"], "env": { "SAM_API_KEY": "your_api_key_here" } } } } ``` ## Available tools ### Entity & registration | Tool | Description | |---|---| | `search_entities` | Search registered entities (vendors/organizations) by name, UEI, CAGE code, state, country, or registration status | | `get_entity` | Get full details for a specific entity by UEI | | `resolve_company` | Resolve a company name to its SAM.gov entity record and UEI — returns the single best match | ### Opportunities & exclusions | Tool | Description | |---|---| | `search_opportunities` | Search contract opportunities/solicitations by keyword, NAICS code, set-aside type, date range, and more. `postedFrom` and `postedTo` are required. | | `search_exclusions` | Search for debarred or suspended parties by name, UEI, or CAGE code | ### Contract awards | Tool | Description | |---|---| | `search_contract_awards` | Search FPDS contract award records by recipient UEI, agency, NAICS code, date range, or dollar amount | | `get_similar_awards` | Given a contra…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.