# SAM.gov MCP server

> Search SAM.gov contract opportunities, public entity registrations and exclusion records from your AI assistant.

- Listing: https://mcp.tc/i/sam-gov
- Connect: use the server's own URL `https://sam.1102tools.com/mcp` (no sign-in); clients connect to it directly. The listing link is a page, not an MCP endpoint.
- Type: remote (Streamable HTTP)
- Auth: none
- Category: [Developer Tools](https://mcp.tc/c/developer-tools)
- Vendor: 1102tools
- Homepage: <https://1102tools.com>
- Repository: <https://github.com/1102tools-dev/federal-contracting-mcps/tree/HEAD/servers/sam-gov-mcp>
- Package: pypi `sam-gov-mcp`

## About

Connects to copies of the public files SAM.gov publishes for download. You can search contract opportunity notices (solicitations, sources sought, award notices, justifications), read full notices, count notices by agency, NAICS or set-aside, look up entity registrations and SBA business type codes, and check exclusion records.

The hosted endpoint runs over streamable HTTP and needs no sign-in or API key. It offers 6 tools. A local PyPI package (sam-gov-mcp, run with uvx) provides the full 20 tools and needs a free SAM.gov API key in SAM\_API\_KEY, which expires every 90 days.

## What it can do

- Search active contract opportunity notices by keyword, NAICS, PSC, set-aside and agency
- Read a full notice with contacts, deadlines and award details
- Count notices grouped by agency, NAICS, set-aside or notice type
- Look up entity registrations by UEI, CAGE, name, NAICS or state
- Check public exclusion and debarment records
- View source file dates and row counts to judge data freshness

## Tools (6)

- `search_opportunities`: Search active SAM.gov contract opportunity notices with combinable filters and keyword search. (read-only)
- `get_opportunity`: Get one notice in full, including description, deadline, contacts and related notices. (read-only)
- `summarize_opportunities`: Count active notices grouped by agency, NAICS, PSC, set-aside, notice type, state or month. (read-only)
- `get_data_status`: Report source file names, dates, load times and row counts for each dataset. (read-only)
- `search_entities`: Search public entity registrations by UEI, CAGE, name, NAICS, state and business type codes. (read-only)
- `search_exclusions`: Check public exclusion and debarment records by UEI, CAGE or name. (read-only)

## Example prompts

- "Find open sources sought notices under NAICS 541512 posted this month"
- "Show the full details for solicitation number 36C10X24R0001"
- "Which agencies posted the most small business set-aside solicitations this quarter?"
- "Check whether this UEI appears in the SAM.gov exclusions list"

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport http sam-gov https://sam.1102tools.com/mcp
```

2. Start Claude Code and type `/mcp`. **sam-gov** should show as connected.

Add `--scope user` to make it available in every project, not just this one.

### Claude Desktop

1. Open **Customize → Connectors**, click **+ Add**, then **Add custom connector**.

2. Name it **SAM.gov** and paste this URL:

```url
https://sam.1102tools.com/mcp
```

3. Click **Add**. Its tools appear in the chat’s tools menu.

Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.

### claude.ai

1. Open the connector form on claude.ai. This button fills in the name and URL for you:

[Add to claude.ai](<https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=SAM.gov&connectorUrl=https%3A%2F%2Fsam.1102tools.com%2Fmcp>) (opens connector settings)

2. Check that the URL reads `https://sam.1102tools.com/mcp` and click **Add**.

3. Turn it on in a chat from the tools menu.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under **Organization settings → Connectors**.

### ChatGPT

1. On chatgpt.com, go to **Plugins**, select **+**, then **Add custom MCP server**.

2. Enter a name for the server.

3. Under **Connection**, paste `https://sam.1102tools.com/mcp` as the server URL, then for authentication choose **No authentication**.

4. Check **I understand and want to continue**, then select **Create as a plugin**.

Whether you can add a custom MCP server depends on your ChatGPT plan and your workspace permissions (in Business workspaces, admins and owners can).

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=sam-gov&config=eyJ1cmwiOiJodHRwczovL3NhbS4xMTAydG9vbHMuY29tL21jcCJ9>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "sam-gov": {
      "url": "https://sam.1102tools.com/mcp"
    }
  }
}
```

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=sam-gov&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsam.1102tools.com%2Fmcp%22%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"sam-gov","type":"http","url":"https://sam.1102tools.com/mcp"}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "sam-gov": {
      "type": "http",
      "url": "https://sam.1102tools.com/mcp"
    }
  }
}
```

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "sam-gov": {
      "serverUrl": "https://sam.1102tools.com/mcp"
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads `serverUrl` (or `url`) for remote servers.

### Codex

```bash
codex mcp add sam-gov --url https://sam.1102tools.com/mcp
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.sam-gov]
url = "https://sam.1102tools.com/mcp"
```

### Gemini CLI

```bash
gemini mcp add --transport http sam-gov https://sam.1102tools.com/mcp
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients accept this shape. Some name the URL field differently: `serverUrl` in Devin Desktop, `httpUrl` in Gemini CLI’s settings file.

```json
{
  "mcpServers": {
    "sam-gov": {
      "type": "http",
      "url": "https://sam.1102tools.com/mcp"
    }
  }
}
```

Zed puts servers under `context_servers` in its settings. Cline needs `"type": "streamableHttp"`, or it assumes SSE.

Client only starts local servers? Bridge it with `npx -y mcp-remote https://sam.1102tools.com/mcp`.

## Recent changes

- 2026-11-02 02:45 UTC: New version 1.1.19 (was 1.1.18), reported by the server. Source: automatic check.
- 2026-11-01 05:22 UTC: Tracking started: 6 tools read. Source: automatic check.

More on the History tab, with descriptions before and after for the newest entries: https://mcp.tc/i/sam-gov#history (Atom feed: https://mcp.tc/i/sam-gov/history.xml). It records what mcp.tc's anonymous checks saw, every 3 hours where the tool list can be read without sign-in; it is not a security review.

## Details

- Server version: 1.1.19
- MCP protocol version: 2025-11-25
- Last checked: 2026-11-06 (reachable)
- Listed: 2026-11-01
- Updated: 2026-11-01

---
Source: https://mcp.tc/i/sam-gov (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
