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.0.1.tar.gz (9.6 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.0.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: beholder_mcp-1.0.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","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.0.1.tar.gz
Algorithm Hash digest
SHA256 262f3ff0cc4a39a7c070424efb6c7fbb23398b883721b7feac82d7feadd977bc
MD5 ec540d4c666aef076280462ddf555ad0
BLAKE2b-256 f0290a884e6e795dc4b55e9b6478fed672aee29390fc50713cd48c515b5cb460

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beholder_mcp-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0691e9e9c9753053133d303ead5dd9b6717ae42f82b6ad4a180e193b2e613a63
MD5 2da7c7f28ba59f12c80f91b22b27211a
BLAKE2b-256 3bba8614784713582fd4748966b7eae079f0c51b7434625427381e60a0f822b9

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