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
- uv
- A Beholder API key — get one at api.beholder-gov.com/docs
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
262f3ff0cc4a39a7c070424efb6c7fbb23398b883721b7feac82d7feadd977bc
|
|
| MD5 |
ec540d4c666aef076280462ddf555ad0
|
|
| BLAKE2b-256 |
f0290a884e6e795dc4b55e9b6478fed672aee29390fc50713cd48c515b5cb460
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0691e9e9c9753053133d303ead5dd9b6717ae42f82b6ad4a180e193b2e613a63
|
|
| MD5 |
2da7c7f28ba59f12c80f91b22b27211a
|
|
| BLAKE2b-256 |
3bba8614784713582fd4748966b7eae079f0c51b7434625427381e60a0f822b9
|