GovCon API

Federal Contracts MCP for Claude, Cursor, and Claude Code

Ask your AI assistant about federal contracts in plain English. This is a walkthrough of the GovCon API MCP server – an open-source bridge that exposes SAM.gov opportunities, awards, and exclusions to any MCP-compatible AI client.

By Jonathan Rose Updated April 13, 2026 10 min read

See it in action

A real conversation in Claude Desktop. One natural-language question, one tool call, a structured summary back. Nothing simulated.

You

What are the latest federal AI opportunities from the last week?

AI
Calling govconapi · search_opportunities(keywords="artificial intelligence", posted_after="2026-04-06")

21 AI-related opportunities this week:

  • $75.9M – NASA Next Gen Data Engineering (Marshall, awarded Apr 10)
  • DARPA CLARA – Compositional Learning, due Apr 17 (4 days)
  • AI Data Center Development – Air Force AFIMSC, due May 29
  • HUD Tech Transformation – sources sought, due Apr 30
  • + 17 more

Want me to filter by agency, set-aside, or export to spreadsheet?

Fig 1 – Claude Desktop calling the search_opportunities tool and summarizing results.
Install: pipx install govconapi-mcp Full install guide →

Why an MCP server for federal contracts?

Searching SAM.gov manually is painful. The UI is slow, agency names are stored inconsistently (the same agency appears under 20+ name variations), and there's no way to ask a clean question like “what contracts has Booz Allen won this quarter?” without clicking through dozens of filters.

Traditional GovCon intelligence platforms (GovTribe, Sweetspot, CLEATUS) charge $1,000–$10,000+/month for clean search and dashboards. That makes sense for enterprise BD teams. It doesn't make sense for a solo consultant, a small firm, or a developer building a tool.

This MCP server closes that gap. $19/month, same clean data, accessed through the AI assistant you already use daily. No dashboard to learn. No sales call. No annual contract. Install in 30 seconds, ask in plain English.

Data that's already clean

All SAM.gov opportunities, normalized: 59 structured fields per notice, descriptions expanded (SAM.gov's own API hides them), agency names mapped to canonical values, 200K+ records updated daily.

Your AI picks the right tool

Six tools exposed: search, single-record fetch, incremental changes, agency lookup, exclusion screening, award history. You don't memorize endpoints – the AI reads the natural-language question and calls the right one.

What you can ask

Ten real prompts that work out of the box. Your AI picks the right tool automatically – you don't need to know it exists.

Pipeline monitoring

“Find all DoD cybersecurity solicitations posted this month over $1M.”

search_opportunities · naics=541511, keywords=cybersecurity, value_min=1000000, posted_after=2026-04-01

Set-aside pipeline

“Show me HUBZone-set-aside opportunities in NAICS 541330 from the last 60 days.”

search_opportunities · set_aside=HZC, naics=541330, posted_after=2026-02-13

Competitive intel

“What contracts has Booz Allen Hamilton won in the past quarter?”

search_awards · awardee="Booz Allen", date_from=2026-01-01

Agency deep-dive

“What's FEMA spending on this year? Use the right canonical name.”

lookup_agency("FEMA") → search_awards(agency="FEDERAL EMERGENCY MANAGEMENT")

Debarment screening

“Has [vendor name] ever been on the SAM.gov exclusions list?”

check_exclusion · name="Acme Corp"

Daily sync

“Show me everything new in federal contracts since yesterday 9am.”

recent_changes · since=2026-04-12T09:00:00Z

Industry scan

“What's the biggest award in NAICS 236220 construction contracts this year?”

search_awards · naics=236220, date_from=2026-01-01, sort_by=value

Specific opportunity

“Get me the full details on notice ID W9126G-25-Q-0001 including contacts.”

get_opportunity · notice_id="W9126G-25-Q-0001"

Multi-filter search

“California SDVOSB IT opportunities, deadline in next 30 days.”

search_opportunities · state=CA, set_aside=SDVOSBC, naics=541511, due_before=2026-05-13

Spreadsheet export

“Pull last 30 days of Navy sources-sought notices and format as a table.”

search_opportunities · agency="Navy", notice_type="Sources Sought", posted_after=...

Install for your client

Same install command everywhere; only the config path changes per client. Python 3.10+ required.

Step 1 – Install the binary (all clients)

# If you don't have pipx: brew install pipx (macOS) or pip install --user pipx
pipx install govconapi-mcp

Installs to ~/.local/bin/govconapi-mcp, outside sandboxed folders like Documents.

Step 2 – Get an API key

14-day free trial at govconapi.com (no credit card). After trial: $19/mo Developer plan or $39/mo Pro Bundle. MCP is included with any paid plan.

Step 3 – Add to your client config

Claude Desktop

Edit the config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "govconapi": {
      "command": "govconapi-mcp",
      "env": {
        "GOVCONAPI_KEY": "gca_your_key_here"
      }
    }
  }
}

Quit and reopen Claude Desktop. The govconapi tools appear in the tool picker.

Claude Code (CLI)

One command adds it for your user:

claude mcp add govconapi govconapi-mcp -e GOVCONAPI_KEY=gca_your_key

Or edit ~/.claude/settings.json manually using the same JSON as Claude Desktop.

Cursor

Settings → Cursor Settings → MCP → Add new MCP server.

Or edit ~/.cursor/mcp.json directly:

{
  "mcpServers": {
    "govconapi": {
      "command": "govconapi-mcp",
      "env": { "GOVCONAPI_KEY": "gca_your_key" }
    }
  }
}
VS Code (with Continue extension)

Install Continue in VS Code, then edit ~/.continue/config.yaml:

mcpServers:
  - name: govconapi
    command: govconapi-mcp
    env:
      GOVCONAPI_KEY: gca_your_key
Zed

Assistant panel → MCP Servers → Add Context Server. Or edit ~/.config/zed/settings.json:

{
  "context_servers": {
    "govconapi": {
      "command": "govconapi-mcp",
      "env": { "GOVCONAPI_KEY": "gca_your_key" }
    }
  }
}
Custom Python agent (Anthropic SDK, LangChain, LlamaIndex)

Spawn the MCP server as a subprocess using the official mcp client SDK:

# pip install mcp
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

params = StdioServerParameters(
    command="govconapi-mcp",
    env={"GOVCONAPI_KEY": "gca_your_key"}
)

async with stdio_client(params) as (read, write):
    async with ClientSession(read, write) as session:
        await session.initialize()
        tools = await session.list_tools()
        result = await session.call_tool(
            "search_opportunities",
            {"naics": "541330", "limit": 10}
        )

Works with any LangChain / LlamaIndex / custom agent that supports MCP tool adapters.

How it works under the hood

The govconapi-mcp package is a thin Python wrapper (~250 lines) around our REST API. Your AI client spawns it as a local subprocess over stdio. The subprocess reads GOVCONAPI_KEY from its environment, proxies each tool call to https://govconapi.com/api/v1/... over HTTPS, and returns structured JSON.

Because it wraps the REST API, everything else carries over automatically: your rate limits, plan restrictions, filter validation, and request logging. Usage shows up in your normal account dashboard.

Open source on PyPI under MIT. Audit it, fork it, run it locally with your own API key.

The six tools

Everything the MCP server exposes. Your AI reads the prompt and picks the right one automatically.

Tool Purpose Typical prompt
search_opportunitiesFiltered search across 200K+ records“Find AI solicitations over $1M”
get_opportunityFetch one notice, all 50+ fields“Details on notice X”
recent_changesIncremental sync since a timestamp“What's new since yesterday”
lookup_agencyMap acronyms to canonical names“What's the SAM.gov string for FEMA?”
check_exclusionDebarment screening“Is X excluded from federal contracts?”
search_awardsFind who won contracts“What did company Y win last quarter?”

Vs. GovTribe and Apify scrapers

As of April 2026, these are the options for pulling federal contracts into an AI assistant.

Provider Pricing Self-serve? Notes
GovCon API (this) $19/mo Yes, pipx install 6 tools, all SAM.gov data, 200K+ records, daily sync, normalized agencies
GovTribe MCP $1,000+/mo No, sales call Bundled in GovTribe's enterprise plans. First govcon MCP (Feb 2026). Includes editorial content.
Apify community scrapers Per-call fees Yes Live-scrape SAM.gov on each call: slow, fragile, no normalization or deduplication.

Data current April 2026. The cheapest way to get a federal contracts MCP without sales calls or enterprise contracts.

FAQ

Common questions. If something isn't here, email [email protected].

Is MCP an extra paid tier?

No. MCP access is included with the Developer ($19/mo) and Pro Bundle ($39/mo) plans. Same API key, same rate limits. The 14-day free trial also includes MCP (25 calls/day, no credit card).

Is there a free MCP for SAM.gov?

Our 14-day trial is free (25 calls/day, no credit card). There are a few community-built SAM.gov scrapers on Apify, but they live-scrape on each call – slow, brittle, no normalization. For serious use, a $19/mo paid plan with clean pre-indexed data is cheaper than fighting broken scrapers.

Does this work with ChatGPT?

ChatGPT's desktop app and Apps SDK both support MCP. Same install, same config format. You'll want an OpenAI plan that supports MCP (Enterprise, Teams, or the Apps SDK beta). For out-of-the-box use, Claude Desktop is the smoothest.

Does this work with Cursor / VS Code / Claude Code / Zed / Windsurf?

Yes, all of them. MCP is an open standard – any client that speaks it works identically. See the install section above for each client's config file path.

How does rate-limiting work?

Same as our REST API: 25 calls/day on free trial, 1,000 calls/hour on Developer plan, with a 60/minute burst cap. Each tool call from your AI counts as one API call. You won't hit limits with normal interactive use.

What data does it expose?

Everything in GovCon API: 200K+ federal contract opportunities (solicitations, award notices, sources sought, presolicitations), 50K+ contract awards with dollar amounts and winners, 160K+ excluded (debarred) entities, and an agency crosswalk for name normalization. All sourced from SAM.gov, cleaned and updated daily.

My MCP server fails to start on macOS

Most common cause: the binary is inside a sandboxed folder (~/Documents). Claude Desktop can't spawn processes from there. Use pipx install govconapi-mcp instead of a manual venv – it puts the binary at ~/.local/bin/ which sandboxes can reach. Check the log at ~/Library/Logs/Claude/mcp-server-govconapi.log for details.

Is my API key safe?

The key lives in your local client's config file. It's sent over HTTPS in the Authorization header on each call. The MCP server never logs, transmits, or exposes it anywhere else. Source code is public and auditable on PyPI.

Can I use this for BD without writing code?

Yes – that's the main reason we built it. Install Claude Desktop, paste one config block with your API key, and ask in plain English. No command line, no JSON parsing, no pagination management. Your AI handles all of it.

What's MCP anyway?

Model Context Protocol – an open standard from Anthropic that lets AI assistants call external tools. Think of it as “the API protocol for AI”. When you install an MCP server, your AI gains new capabilities. Ours gives it six new abilities specifically for federal contracts data.

How is this different from GovTribe's MCP?

GovTribe launched the first govcon MCP in February 2026, bundled into their enterprise plans (starts around $1,000/month). Ours is $19/month, self-serve, no sales call. Both expose federal contracts data. GovTribe includes GovExec editorial; we focus on clean SAM.gov data with normalization and the widest set of tools.

How do I report a bug or request a tool?

Email [email protected]. The MCP server is open source – PRs welcome. We ship updates fast because it's a thin wrapper over the REST API.

Try it

Grab a 14-day trial key (no credit card), paste one JSON block into your Claude / Cursor / VS Code config, and ask your assistant a question about federal contracts. The same key works for the REST API too.

Get an API key → Jump to install See pricing