mcpbeat Sign in

BLS OEWS MCP Server

answering

BLS OEWS is answering right now. Last checked 3 min ago. It exposes 8 tools. Last commit 2 Nov 2026.

BLS Occupational Employment and Wage Statistics market wages, bundled; no API key. 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
117 ms
Response time
average over 24h
28
Stars
last commit 2 Nov 2026

What changed 1

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

27 Oct a tool changed version

What the code does

We read the source, 23 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 BLS OEWS 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 3 min ago.

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

common
list_common_metros
List common metro area MSA codes for wage lookups. Use these codes with get_wage_data(scope='metro', area_code=...). Pass the 5-digit MSA code (the tool auto-pads to 7 characters). For the full MSA list: https://www.bls.gov/oes/current/msa_def.htm
list_common_soc_codes
List common SOC code mappings for federal IT and professional services. Use these codes with get_wage_data() and other tools. SOC codes are 6 digits without a dash (e.g., '151252' not '15-1252'). For the full SOC list: https://www.bls.gov/oes/current/oes_stru.htm
compare
compare_metros
Compare wages for one occupation across multiple metro areas. Pass a list of 5-digit MSA codes (e.g., ['47900', '42660', '12580'] for DC, Seattle, Baltimore). Returns the specified wage measure for each metro. Use list_common_metros() to find codes. datatype: '04' (Annual Mean, default), '13' (Median), '03' (Hourly Mean). Up to 50 metros per call.
compare_occupations
Compare wages across multiple occupations in one location. Pass a list of 6-digit SOC codes. Returns the specified wage measure for each occupation. Use list_common_soc_codes() to find codes. Up to 50 occupations per call.
data
get_data_status
Report which OEWS release this server answers from and where it came from. Returns the bundled data year and release, the BLS source files with their SHA-256 and publication dates, the retrieval date, and row counts. No API key is used or needed.
detect
detect_latest_year
Report the OEWS data year this server answers from. OEWS releases annually in spring, and this server bundles the current release. Every tool defaults to that year. When BLS publishes a newer release, a new package version bundles it.
igce
igce_wage_benchmark
Get wage benchmarks formatted for IGCE development. Returns annual and hourly wages at the mean and the 10th, 25th, median, 75th, and 90th percentiles (25th/75th are the usual junior/senior anchors), plus estimated burdened hourly rates using the specified burden multiplier range. Hourly figures are BLS's published hourly wages (annual / 2080 only where BLS publishes no hourly wage). Also returns the cell's employment and relative standard errors (reliability) and flags thin estimates. Wages are point-in-time estimates for the OEWS reference month (wage_period in the response), not current rates: escalate them to the period of performance before pricing. BLS wages are BASE wages (no fringe, overhead, G&A, or profit). Multiply by a burden factor to estimate fully-loaded rates: - 1.5x-1.7x: lean contractor - 1.8x-2.2x: mid-range professional services (default) - 2.0x-2.5x: large contractor with clearance overhead - 2.5x-3.0x: high-overhead (SCIF, deployed) The burdened range should roughly align with GSA CALC+ ceiling rates for comparable labor categories. If CALC+ >> burdened BLS, the role may require specialized skills or clearance overhead. Document the gap. Burden multipliers must be positive and burden_low <= burden_high. Reasonable range: 1.3 (lean) to 4.0 (high-overhead/clearance).
wage
get_wage_data
Get wage data for an occupation by SOC code. This is the primary tool for querying BLS OEWS wage statistics. occ_code: 6-digit SOC code without dash (e.g., '151252' for Software Developers, '131082' for Project Management Specialists). See list_common_soc_codes() for common mappings. scope + area_code: - 'national': no area_code needed (all US) - 'state': area_code = 2-digit state FIPS (e.g., '51' for VA, '11' for DC) - 'metro': area_code = 5-digit MSA code (e.g., '47900' for DC metro, '42660' for Seattle). See list_common_metros() for codes. industry: 6-digit industry code for national-only breakdowns. '000000' = all industries (default). Common: '541000' (Professional, Scientific, and Technical Services), '541500' (Computer Systems Design and Related Services), '999100' (Federal Executive Branch (OEWS Designation)). Industry breakdowns only work with scope='national'. Federal IT staff mostly fall under 15-1299 (Computer Occupations, All Other), so 999100 with 15-1252 rests on few employees. datatypes: list of 2-digit codes. Default uses IGCE set: - '04' = Annual Mean Wage - '13' = Annual Median - '11' = Annual 10th Percentile - '15' = Annual 90th Percentile Hourly percentiles: '03' (Mean), '06' (10th), '07' (25th), '08' (Median), '09' (75th), '10' (90th). Annual percentiles: '11' (10th), '12' (25th), '13' (Median), '14' (75th), '15' (90th). Other: '01' (Employment); '16' (Employment per 1,000 Jobs) and '17' (Location Quotient) exist at state/metro scope only. '02' (Employment RSE) and '05' (Mean Wage RSE) are relative standard errors in percent, a measure of each estimate's reliability. Data year defaults to the OEWS release bundled with this server (get_data_status reports it). Do NOT pass the current calendar year: OEWS publishes about a year in arrears. Other years are rejected. Special values ('-', '*', '#') mean BLS did not publish the cell; the attached footnote says why (annual-only occupation, sample too small).

Endpoints

URLTransportStateLatencyChecked
https://bls-oews.1102tools.com/mcp streamable-http answering 50 ms 3 min ago

Alternatives to BLS OEWS

same job, measured the same way
BLS OEWS
by 1102tools

BLS Occupational Employment and Wage Statistics market wages. 7 tools.

1 135 installs/wk local only
Labour Market Statistics
by contentwriterco

Labour market statistics for AI agents: unemployment, employment and wages for 150+ countries.

4 tools answering
B
BLS Employment & Wages
by olyport

Unemployment rates, labor force, and Consumer Price Index from the Bureau of Labor Statistics

4 tools answering
Bls Labor MCP Server
by cyanheads

Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.

381 installs/wk 6 tools answering
Seco Labor MCP
by malkreide

Swiss labour market and occupational accidents: unemployment, job seekers, vacancies, UVG data

83 installs/wk local only
ILO Labour Statistics (ILOSTAT): unemployment, wages, informality
by sidneybissoli

Labour market data from the ILO (ILOSTAT) by country, year, sex and age, with provenance.

409 installs/wk 6 tools answering
Agentpmt
by agentpmt

AI agent marketplace for automated employees, workflows, skills, and tool orchestration.

answering
API Key Case
by melavern

Local MCP tools for secret status and guarded deployment. Values never reach the agent.

58 installs/wk local only

BLS OEWS — questions

Answers built from our own checks of this server.

What can BLS OEWS do?
It exposes 8 tools, read directly from the server on our last check. Among them: compare_metros, compare_occupations, detect_latest_year, get_data_status, get_wage_data, igce_wage_benchmark 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 →
What is BLS OEWS mostly used for?
Its tools cluster around compare and common. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is BLS OEWS 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 117 ms. The bar chart above shows every period we have measured.
How do I connect BLS OEWS?
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 BLS OEWS need an API key?
No. BLS OEWS 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 BLS OEWS?
It answers our handshake in 117 ms on average, which is faster than 89% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is BLS OEWS 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 bls-oews.1102tools.com, which runs on its operator's own terms.