gsa-calc-mcp
Free, open-source MCP server for the GSA CALC+ Labor Ceiling Rates API. Query awarded GSA MAS schedule hourly rates for IGCE development, price reasonableness analysis, and market research.
No API key required, locally or hosted. See Local or hosted.
Tested and hardened through seven audit rounds and the 1.0.13 workflow audit against the GSA CALC+ API. 433 collected regression tests (312 offline, 121 live-gated) covering 49 P1 bugs (19 crashes, 30 silent-wrong-data), 19 P2 validation gaps, 12 retroactive deep-audit findings, and the round-6 differential-count fixes (dead worksite filter, experience-range semantics, rate-card paging). The content fixes cover vendor worksites, low-sample price checks, comparison filters, title summaries and truncation. See testing.md for the full testing record and the test suite map for counts by file.
Local or hosted
| Local (desktop) | Claude (hosted) | ChatGPT (hosted) |
|---|---|---|
| Local setup | Install | Install |
- Local runs it on your computer, inside the Claude or ChatGPT desktop app or another AI app. You get your own full rate limits, and it relies only on the government service. You don't have to set it up by hand: give your AI this page's link and ask it to set it up or walk you through it.
- Hosted is the convenient option: one click, no keys, and it works in Claude or ChatGPT anywhere.
Compare local and hosted · Matching prompts
What it does
Exposes the GSA CALC+ API as 8 MCP tools:
Core search
keyword_search- Wildcard search across labor categories, vendors, and contract numbersexact_search- Exact field match (use suggest_contains to discover values first)suggest_contains- Autocomplete/discovery for field values (2-char minimum)filtered_browse- Browse with filters only (no keyword)
Workflow tools
igce_benchmark- Rate statistics for IGCE development (min/max/avg/median/percentiles)price_reasonableness_check- Evaluate a proposed rate against market distributionvendor_rate_card- All rates for a vendor (auto-discovers exact name)sin_analysis- Rate distribution for a GSA SIN
No authentication required
The GSA CALC+ API is public. GSA does not publish a numeric limit for this endpoint. The MCP applies a provisional 3-second cross-process anti-burst interval by default.
Installation
uvx gsa-calc-mcp
Or from source:
git clone https://github.com/1102tools-dev/federal-contracting-mcps.git
cd federal-contracting-mcps/servers/gsa-calc-mcp
pip install -e .
Configuration
Use the configuration below as the server definition and adapt its placement to your compatible MCP client. For practical requests using this source, see the prompt library.
{
"mcpServers": {
"gsa-calc": {
"command": "uvx",
"args": ["--refresh-package", "gsa-calc-mcp", "--from", "gsa-calc-mcp", "gsa-calc-mcp"]
}
}
}
The --refresh-package flag tells uv to check PyPI for a newer release each time your client launches the server, so fixes arrive automatically; without it, uv keeps serving whatever version it first cached. It adds a moment of network time at startup, so raise your platform's MCP startup timeout if it enforces a short one.
Restart the client and the tools appear.
Example prompts
- "What are the GSA ceiling rates for Senior Software Developer with a BA and 10+ years experience?"
- "Is $195/hr reasonable for a Cybersecurity Analyst? Check against CALC+ rates."
- "Pull the full rate card for Booz Allen Hamilton from GSA CALC+."
- "What does the IT Professional Services SIN (54151S) rate distribution look like?"
- "Build IGCE benchmarks for these 5 labor categories: Program Manager, Systems Engineer, Software Developer, Help Desk Specialist, Network Administrator."
- "Find all small business ceiling rates for project management between $100-$200/hr."
Important: ceiling rates, not prices paid
CALC+ data represents the maximum hourly rate a contractor can charge under their GSA MAS contract. Actual task order rates should be lower per FAR 8.405-2(d). These rates are:
- Fully burdened (includes fringe, overhead, G&A, profit)
- Worldwide (no geographic adjustment)
- Master contract-level (not task order-specific)
- From vendor Price Proposal Tables (self-reported by contractors)
Always note sample size and remind users these are ceiling rates when presenting analysis.
License
MIT
IGCE and price checks use GSA's keyword search across labor titles, vendor names
and contract numbers. Check population_scope: a vendor-name match can pool
unrelated labor categories. Price checks return MIXED_SEARCH_FIELDS without a
verdict when off-title matches are found, and UNVERIFIED_POPULATION when the
title list cannot establish the full population. For title-only rates, discover
an exact title with suggest_contains, then call exact_search on
labor_category. Suggestion totals marked
total_matching_records_is_lower_bound mean at least that many records.
Metadata
Release files for gsa-calc-mcp 1.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gsa_calc_mcp-1.0.13.tar.gz | 163.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gsa_calc_mcp-1.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 199.2 kB
Release files / gsa_calc_mcp-1.0.13.tar.gz
| Download URL | gsa_calc_mcp-1.0.13.tar.gz |
|---|---|
| Size | 163.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
872db7abd8403256d89d660f3728d84f13ff4b6bc9473ad47434d86e8d055b7d
|
|
BLAKE2b-256 checksum How to use checksums |
983d3aa167c24a690c8896f07c6cb7a0392b855ae0a293cd49b9f26601ca166f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / gsa_calc_mcp-1.0.13-py3-none-any.whl
| Download URL | gsa_calc_mcp-1.0.13-py3-none-any.whl |
|---|---|
| Size | 35.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ee8ab6f1a33e32e08964ba8b1c0866c9fe795b28e73d342ae5a4fc105c139ba
|
|
BLAKE2b-256 checksum How to use checksums |
3a7edab334dcbb580599b732815ea9f947981a0c4080ebb4a993bd7a68301d1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log