Skip to main content

MCP server for the Beholder government contracting API

Project description

beholder-mcp

An MCP server for the Beholder government contracting API, built with FastMCP and Python.

Beholder aggregates and enriches data from SAM.gov and USASpending.gov, providing higher rate limits and richer analysis than either public API — including risk indicators, contract vehicles, competition metrics, and subaward tracking.

Prerequisites

Setup

git clone https://github.com/rsivilli/beholder-mcp
cd beholder-mcp

Create a .env file and set your API key:

BEHOLDER_API_KEY=your_api_key_here

Running the server

stdio (for MCP clients that spawn the process, e.g. Claude Desktop):

uv run beholder-mcp

HTTP (for connecting remotely):

uv run beholder-mcp-http

Claude Desktop configuration

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "beholder": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/beholder-mcp", "beholder-mcp"],
      "env": {
        "BEHOLDER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Available tools

Contractors

Tool Description
search_contractors Search contractors by name, UEI, state, or agency — returns paginated list with obligation totals and review priority scores
get_contractor Get a contractor record by UEI or name — returns full profile with top agencies, PSC codes, vehicle summaries, and risk indicators
resolve_contractor Resolve a company name or UEI to its Beholder UUID and key fields — returns the single best match
get_contractor_profile Full contractor profile in one call: registration details, recent contracts, risk indicators, and contract vehicles
find_competitors Find contractors competing in the same PSC code categories as a given company

Opportunities

Tool Description
search_opportunities Search contract opportunities and award notices by keyword, NAICS code, set-aside, agency, active status, and date filters

Contracts & subawards

Tool Description
search_contracts Search awarded contracts by PIID prefix, recipient, PSC code, fiscal year, obligation range, date range, status, and award type
get_related_contracts Given a contract PIID, find related contracts — parent, siblings, same vehicle, or same awardee
search_subawards Get subaward reports filed under a specific prime contract PIID

Development

Install dev dependencies and set up pre-commit hooks:

uv sync
uv run pre-commit install

Run linting and formatting checks:

uv run pre-commit run --all-files

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beholder_mcp-1.1.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

beholder_mcp-1.1.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file beholder_mcp-1.1.0.tar.gz.

File metadata

  • Download URL: beholder_mcp-1.1.0.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beholder_mcp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 6f5ef46d01f3cac636639553f1ca14c643628f3f6a5618b3ffe8e9b8ba7ad874
MD5 3a06561840a691a66d10caade52adc41
BLAKE2b-256 b27892684f4e6f4f40bf44ba4d71f6f148d8308e8baaf612b203b5329c45f22a

See more details on using hashes here.

File details

Details for the file beholder_mcp-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: beholder_mcp-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beholder_mcp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8b47bf024c93c9413d23c07bf4d8404d7aac716d405a7e736724a57095ec5e0
MD5 91751dedbc6e6adc5d417dc1f9e867a1
BLAKE2b-256 191b61d3e88477d7912d6b4be851e9ea38dd000c2cc0a6f871c1ca5f754a4121

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page