mcpField
G
govcontractscout-mcp

govcontractscout-mcp

Local
github.com/govcontractscoutBusiness & Marketing0Updated 4d ago

About govcontractscout-mcp

govcontractscout-mcp exposes GovContractScout’s US state, local, and federal government contracts API to AI agents. It supports live contract search, details, NAICS lookup, and fit scoring, with a hosted remote server also available.

Key features

  1. 01Search contracts by state, NAICS, and keyword
  2. 02Retrieve contract details and solicitation links
  3. 03Look up NAICS codes by keyword
  4. 04List indexed states and contract counts
  5. 05Score contract fit for a business profile
  6. 06Estimate win likelihood and list winning-business archetypes

Use cases

  1. 01Find active contracts in a state and sector
  2. 02Review solicitation documents and source links
  3. 03Assess contract fit against a business profile
  4. 04Explore historical award archetypes and win likelihood

MCP support

The MCP server wraps the GovContractScout /v1 API as tools for contract and related data queries. Alongside local use, a hosted Streamable HTTP server is available with OAuth 2.1 or API key authentication.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"govcontractscout-govcontractscout": {
"command": "npx",
"args": [
"-y",
"govcontractscout-mcp"
],
"env": {
"GCS_API_KEY": "<GCS_API_KEY>",
"GOVCONTRACTSCOUT_API_BASE": "<GOVCONTRACTSCOUT_API_BASE>"
}
}
}
}
Run commandnpx -y govcontractscout-mcp
Environment variables to set
GCS_API_KEYSecretGovContractScout API key (gcs_live_...) from https://scout.govbidportals.com/api-keys
GOVCONTRACTSCOUT_API_BASEOptional: API base URL override (defaults to https://scout.govbidportals.com)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmgovcontractscout-mcp1.0.5

Tools

7

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
pageintegerNoPage number (1-based, max 20)
sortenumNoSort fielddue_date | posted_date | value | title
orderenumNoasc | desc
agencystringNoAgency name substring
statesarrayNoTwo-letter state codes, e.g. ['TX', 'CA']
keywordstringNoFree-text keyword in title/description
per_pageintegerNoResults per page (max 50)
due_afterstringNoISO date YYYY-MM-DD — contracts due on/after
max_valuenumberNoMaximum estimated value in USD
min_valuenumberNoMinimum estimated value in USD
due_beforestringNoISO date YYYY-MM-DD — contracts due on/before
naics_codesarrayNoNAICS codes (2-6 digits), e.g. ['541511']

Details

From the project README

GovContractScout MCP Server

GovContractScout MCP Server on AI Agents Listing Govcontractscout MCP server ToolSDK MCP Registry

Model Context Protocol (MCP) server exposing the GovContractScout US state, local, and federal government contracts API to AI agents. Search live contracts, pull details, look up NAICS codes, list states, and score contract fit — without raw HTTP.

AI agent (Claude, Cursor, etc.)  ⇄  MCP  ⇄  GovContractScout /v1 API  ⇄  50-state procurement data

Tools

ToolDescription
search_contractsSearch active government contracts by state, NAICS, keyword (returns title, agency, due date, match signals)
get_contractFetch one contract's full record by ID (includes the original solicitation link + documents)
search_naicsLook up NAICS codes by keyword
get_statesList the states we index + live contract counts
score_contractScore a contract's fit for a business profile (uses /v1/match)
win_likelihoodEstimate win probability vs the historical award archetype — derived data, paid
archetypesList winning-business archetypes — who wins what — derived data, paid

All tools hit the same /v1 API as the public REST endpoint — same data, same auth, same rate limits. Live data from state procurement portals, updated daily.

Hosted endpoint (no install)

There is also a remote server at https://scout.govbidportals.com/mcp — Streamable HTTP, protocol 2025-06-18, nothing to install. It serves everything above plus get_profile (8 tools total).

Two ways to authenticate:

  1. OAuth 2.1 — clients that support it connect on their own. The 401 challenge points at https://scout.govbidportals.com/.well-known/oauth-protected-resource, then you sign in and link your account.
  2. API key header — a client that only sends fixed headers can pass the same gcs_live_... key the REST API takes:
curl -X POST https://scout.govbidportals.com/mcp \
  -H "Authorization: Bearer gcs_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"my-agent","version":"1"}}}'

Both credentials carry the same plan, quota, and rate limits as the key you would use locally.

Requirements

Quickstart

Claude Code
claude mcp add govcontractscout \
  --env GCS_API_KEY=gcs_live_YOUR_KEY \
  -- npx -y govcontractscout-mcp
Any MCP client (mcp.json / mcp.settings)
{
  "mcpServers": {
    "govcontractscout": {
      "command": "npx",
      "args": ["-y", "govcontractscout-mcp"],
      "env": {
        "GCS_API_KEY": "gcs_live_YOUR_KEY"
      }
    }
  }
}
Manual (from source)
npm install && npm run build
GCS_API_KEY=gcs_live_YOUR_KEY node dist/index.js

Configuration

VariableRequiredDefaultDescription
GCS_API_KEY✅—Your API key from the dashboard
GOVCONTRACTSCOUT_API_BASE❌https://scout.govbidportals.comAPI base URL override (self-hosting)

Example

Ask your agent:

"Find open IT services contracts in California due this month, then score the top one for a 10-person consulting firm with T&M experience."

The agent calls search_contracts (state=CA, naics=IT services), then score_contract — no HTTP knowledge required from the agent.

Design notes

  • Idempotent scoring — score_contract sends a deterministic Idempotency-Key, so retries never double-burn quota.
  • Same moat as the API — list/search results deliberately exclude source URLs and raw source_portal fields (that's the aggregation moat); get_contract detail includes the original solicitation link, exactly as the API does. The MCP exposes what the API exposes.
  • Honest coverage — contracts carry a data_quality field (level + which fields are populated). Some states have richer data than others; the API tells you exactly what you're getting.

API / pricing

  • Free: 100 calls/month, account required
  • Paid: no account required — buy at scout.govbidportals.com/docs/api#pricing; the key is emailed on checkout
  • Starter $99/mo · Growth $199/mo · annual = 17% off
  • win_likelihood and archetypes are paid-tier (Starter+) — the derived-data layer
  • Full API docs: scout.govbidportals.com/docs/api

Development

npm run dev    # tsx watch
npm run build  # tsc -> dist/
npm start      # run built server

The server is a thin wrapper over the public REST API (/v1/contracts, /v1/contracts/:id, /v1/naics, /v1/states, /v1/match) — see the API docs for schemas.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.