Skip to main content

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

Metadata

Release files for beholder-mcp 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for beholder-mcp 1.1.0
File Size Uploaded Provenance
beholder_mcp-1.1.0.tar.gz 19.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for beholder-mcp 1.1.0
File Interpreter ABI Platform
beholder_mcp-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.7 kB

Release files / beholder_mcp-1.1.0.tar.gz

Download URL beholder_mcp-1.1.0.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6f5ef46d01f3cac636639553f1ca14c643628f3f6a5618b3ffe8e9b8ba7ad874
BLAKE2b-256 checksum
How to use checksums
b27892684f4e6f4f40bf44ba4d71f6f148d8308e8baaf612b203b5329c45f22a
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / beholder_mcp-1.1.0-py3-none-any.whl

Download URL beholder_mcp-1.1.0-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b8b47bf024c93c9413d23c07bf4d8404d7aac716d405a7e736724a57095ec5e0
BLAKE2b-256 checksum
How to use checksums
191b61d3e88477d7912d6b4be851e9ea38dd000c2cc0a6f871c1ca5f754a4121
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for beholder-mcp 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page