mcpbeat Sign in

GSA CALC+ MCP Server

answering

GSA CALC+ is answering right now. Last checked 13 min ago. It exposes 8 tools. Last commit 2 Nov 2026.

GSA CALC+ awarded labor ceiling rates from more than 230,000 MAS contract records. 8 tools.

Uptime history 12 days of history
12 days agonow
100.0%
Uptime 24h
91 of 91 checks
8
Tools
read from the server
1032 ms
Response time
average over 24h
28
Stars
last commit 2 Nov 2026

What changed 3

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 28 October 2026. No other catalogue keeps this.

30 Oct a tool changed version2 times that day
27 Oct a tool changed version
and 1 more, back to 28 October 2026

What the code does

We read the source, 22 h ago · tools taken from the live server · rules 995398eba69f

In the project's build, not in the package

Found in continuous integration, deployment or infrastructure files, or in a neighbouring package of the same monorepo. None of this is installed when you add the server: it describes how the project is built and released. We list it because a leaked key in a build pipeline is still a real problem, but it is not something this server does on your machine.

Runs an external command deploy/gsa-perdiem/parity/run.ts:34
  execFileSync(PYTHON, [join(ROOT, "deploy/gsa-perdiem/parity/build_corpus.py")], {cwd: PACKAGE, env: pythonEnv, stdio: ["ignore", "ignore", "inherit"]});

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

Nothing serious here today

Today is the operative word: we check GSA CALC+ every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 13 min ago.

run in your terminal
claude mcp add gsa-calc-mcp --transport http https://gsa-calc.1102tools.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://gsa-calc.1102tools.com/mcp
~/.codex/config.toml
[mcp_servers.gsa-calc-mcp]
url = "https://gsa-calc.1102tools.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "gsa-calc-mcp": {
      "url": "https://gsa-calc.1102tools.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "gsa-calc-mcp": {
      "type": "http",
      "url": "https://gsa-calc.1102tools.com/mcp"
    }
  }
}

Available tools 8

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

exact
exact_search
Exact match search on a specific field. Use suggest_contains() first to discover the exact field value, then pass it here. The API requires exact string matching -- partial matches return 0 results. Fields: labor_category, vendor_name, idv_piid (GSA MAS contract number). For a discovered value containing a colon, GSA's exact-field search can return only the text before the colon. This tool uses literal keyword search instead and accepts its statistics only when the complete, non-approximate requested-field aggregation proves every rate row has the exact value. If that cannot be verified, it withholds the misleading population and gives keyword_search recovery guidance. Source statistics remain unchanged; empty results and thin samples retain their limits.
filtered
filtered_browse
Browse rates with filters only (no search keyword). Useful for market segment statistics: "what do all BA-level rates with 5-15 years experience look like across all of GSA MAS?" Returns rate records plus full aggregation statistics.
igce
igce_benchmark
Get ceiling rate benchmarks for IGCE development. Returns statistical summary for a labor category: count, min, max, avg, median, standard deviation, percentile distribution (P10-P90), education breakdown, worksite counts (worksite_breakdown: Customer_Facility / Contractor_Facility / Virtual; counts only, prices are pooled across sites), and outlier bounds. GSA's keyword search matches labor_category, vendor_name and idv_piid. The returned statistics pool all matching rate rows, including unrelated labor titles when a vendor name or contract number matches the phrase. Check population_scope and matched_titles before using the statistics. off_title_matches_detected flags observed titles that do not match the requested phrase; title_only_population_verified is false when the title aggregation is missing, empty, truncated or approximate. A title containing the phrase is not necessarily the exact grade: 'Registered Nurse I' also matches Nurse II, III and IV. Check exact_title_population_verified, exact_title_rate_count and non_exact_title_examples before treating a pool as that specific title. For title-only rates, call suggest_contains on labor_category to discover an exact title, then exact_search on labor_category. Different spellings remain separate searches ('Cyber Security Analyst' vs 'Cybersecurity Analyst'). Statistics are on current-year ceiling rates (current_price), not next-year or option-year prices. These are not-to-exceed ceiling rates, not prices paid. Ceiling-rate comparisons alone do not establish a proposed price's reasonableness. Optional filters: education_level, experience_min/max, business_size ('S' or 'O'), sin (e.g. '541611'), security_clearance ('yes' or 'no').
keyword
keyword_search
Search GSA CALC+ ceiling rates by keyword. Performs wildcard matching across labor_category, vendor_name, and idv_piid fields. This is the primary search tool for finding rates. Returns matching rate records plus aggregation statistics (wage_stats, percentiles, education breakdown, business size) covering the FULL result set even when individual hits are capped at 10,000. Important notes: - These are NTE (not-to-exceed) ceiling rates, not prices paid - Rates are fully burdened hourly rates from GSA MAS contracts - Data refreshes nightly from vendor price proposal tables - Use P50 from percentiles for median (more accurate than median_price) Filter parameters: - education_level: AA, BA, HS, MA, PHD, TEC (pipe-delimited for OR: 'BA|MA') - experience_min/max: years of experience range - price_min/max: hourly rate range in USD - business_size: 'S' (small) or 'O' (other/large) - security_clearance: 'yes' or 'no' - sin: Special Item Number (e.g., '54151S' for IT Professional Services) - worksite: NOT supported (the v3 API silently ignores it; passing a value raises so callers are not handed unfiltered data) ordering: current_price, labor_category, vendor_name, education_level, min_years_experience, next_year_price, idv_piid, business_size. sort: 'asc' or 'desc'. exclude: pipe-delimited hit _id values to exclude from results and stats.
price
price_reasonableness_check
Evaluate a proposed hourly rate against GSA ceiling rate distribution. GSA's keyword search matches labor titles, vendor names and contract numbers. Check population_scope: unrelated titles can enter the pooled statistics through a matching vendor or contract. Returns MIXED_SEARCH_FIELDS with no verdict when off-title matches are detected, or UNVERIFIED_POPULATION with no verdict when the title list is missing, empty, truncated or approximate. Discover an exact title with suggest_contains, then use exact_search on labor_category for title-only rates. Filters match igce_benchmark, including sin and security_clearance. Returns MIXED_LABOR_TITLES with no verdict when the phrase matches different grades, specialties or title variants; pooled statistics remain visible, with the exact-title count when verified. For example, Nurse I must not be compared as if Nurse II/III/IV rates were the same grade. Use exact_search with its supported education, experience and business-size filters to inspect that title. It does not accept SIN or clearance filters; check those requirements in the returned records and retain paging limits. A verified exact-title population with at least 20 rates returns z-score, median comparison, IQR position and delta from average. The z-score is null when the mean or standard deviation is unavailable or variance is zero. Missing means produce null average deltas. A verified exact-title population with fewer than 20 rates returns LOW_SAMPLE without a high/low verdict; zero rates return NO_DATA. Statistics compare not-to-exceed ceiling rates, not prices paid, and do not by themselves establish price reasonableness or performance risk.
sin
sin_analysis
Get rate distribution and statistics for a specific SIN. Returns rate statistics, education breakdown, business size breakdown, and labor_categories for a GSA MAS Special Item Number: the 25 titles with the most rates on the SIN, with counts (exact, case-sensitive titles). It does not return individual rate rows or per-title prices; for what a title costs on the SIN, call igce_benchmark(title, sin=...). When GSA's 500-title list is cut off, labor_categories.distinct is null and records_in_titles_not_listed counts the rates under titles not listed. Common SINs for professional services (live-verified to return records): - 54151S: IT Professional Services - 541611: Management and Financial Consulting - 541715: Engineering R&D - 541330ENG: Engineering Services - 561210FAC: Facilities Maintenance and Management - 611430: Training
suggest
suggest_contains
Discover exact field values via autocomplete/contains matching. Returns aggregation buckets showing matching values and their record counts. Use this BEFORE exact_search() to find the right value string. Minimum 2 characters required for the search term. GSA lists at most 100 values, most records first. When more values match, truncated is true and other_records counts the records under values not shown; use a longer term to narrow the list. Example workflow: 1. suggest_contains('vendor_name', 'booz') -> finds 'Booz Allen Hamilton Inc.' 2. exact_search('vendor_name', 'Booz Allen Hamilton Inc.') -> all their rates
vendor
vendor_rate_card
Get ceiling rates for a specific vendor, one page at a time. For a complete vendor card or a role-specific subset (for example, project managers), fetch every page: while has_more is true, call this tool again with page=next_page and the same vendor_name, page_size, ordering, and sort. Stop only when has_more is false, then combine the pages and match the requested roles client-side. If you stop early, say clearly that the results are partial, report the fetched returned_range against total_rates, and explain that later pages may contain additional matching roles or rates. Do not claim a role is absent or present a complete role-specific rate range from a partial card. Auto-discovers the exact vendor name via suggest-contains, then pulls their rate records. Returns labor categories, rates, education levels, experience requirements, SINs, contract numbers, contract end dates, and worksite. A vendor often lists the same category twice at two prices, one for work at the customer's site (Customer_Facility) and one at the contractor's site (Contractor_Facility); check worksite before comparing. Pass a partial name (e.g., 'booz' for Booz Allen Hamilton). The tool finds the exact registered name automatically. Use part of the legal name, not an acronym ('Science Applications', not 'SAIC'). total_rates counts rate rows, not titles: one title can have several rows (worksite, contract, SIN). distinct_labor_categories is the number of distinct titles (case-sensitive); when a vendor has more than 500 it is null and distinct_labor_categories_min gives the floor. Large vendors span many pages: Booz Allen Hamilton carries ~1,900 rate rows (more than 500 distinct titles). The default page_size is 100 (~23KB) because a 500-row page for a vendor that size is ~114KB and overflows MCP client output limits. Rows are ordered by labor_category ascending by default, so a partial card is alphabet-biased and may omit all requested roles on page 1. There is no server-side way to intersect a vendor with a labor-category keyword (the v3 API ignores vendor_name and labor_category as filter fields; live-verified). To find specific categories, page through the full card and match client-side. If the discovery term matches multiple vendors, this tool picks the one with the most rate records and returns a _candidates list so the caller can re-query with a more specific term if needed.

Endpoints

URLTransportStateLatencyChecked
https://gsa-calc.1102tools.com/mcp streamable-http answering 635 ms 13 min ago

Alternatives to GSA CALC+

same job, measured the same way
GSA CALC+
by 1102tools

GSA CALC+ awarded labor ceiling rates from 230K+ MAS contracts. 8 tools.

1 847 installs/wk local only
Gsa Calc
by pipeworx-io

GSA CALC+ ceiling labor rates — what vendors may charge per hour under GSA schedule contracts, for…

407 installs/wk 47 tools answering
Tendfeed
by tendfeed

Bid/no-bid verdicts for open EU tenders, from 592,000 real TED contract awards.

4 tools answering
Colour Memory
by digbyo

Colour meaning, history and evidence for AI: 45,000+ source-graded colour records and 91 tools.

92 tools answering
USASpending.gov
by 1102tools

USASpending.gov federal contracts, subawards, recipients, agencies. 55 tools.

1 325 installs/wk local only
Australia Tenders (AusTender) MCP
by donniertf-hub

AusTender Australian government contract awards via OCDS. Free recent_contracts tool.

3 tools answering
Australian Economic Data (ABS, RBA & APRA)
by anthonypuggs

Australian economic data from the ABS, RBA, and APRA: CPI, GDP, cash rate, labour, and more.

978 installs/wk 14 tools answering
Agent Toolbelt MCP
by marras0914

19 focused API tools for AI agents: contract review, prompt optimizer, context packing, and more.

64 installs/wk local only

GSA CALC+ — questions

Answers built from our own checks of this server.

What can GSA CALC+ do?
It exposes 8 tools, read directly from the server on our last check. Among them: exact_search, filtered_browse, igce_benchmark, keyword_search, price_reasonableness_check, sin_analysis and 2 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is GSA CALC+ working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 1032 ms. The bar chart above shows every period we have measured.
How do I connect GSA CALC+?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does GSA CALC+ need an API key?
No. GSA CALC+ completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 8 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is GSA CALC+?
It answers our handshake in 1032 ms on average, which is faster than 6% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is GSA CALC+ open source?
The code is open source: it is published under the MIT licence, written in Python and 28 stars on GitHub. The licence covers the code in the repository, not the hosted service at gsa-calc.1102tools.com, which runs on its operator's own terms.