Skip to main content

bls-oews-mcp

price: free license: MIT tools: 8 regression tests: 276 hosted edition: coming soon

Free, open-source MCP server for BLS Occupational Employment and Wage Statistics (OEWS) market wages. For IGCE development, price analysis, and labor market research.

No API key and no daily limit. The package bundles the current OEWS release (May 2025 estimates, published by BLS on May 15, 2026) as a read-only database built from BLS's published flat files, so every answer is local and each result cites the BLS release, publication date, retrieval date, and source file. Use the installation and configuration instructions below to connect this MCP directly.

Tested and hardened through a 5-round retroactive live audit with a real BLS API key after the initial smoke test reported zero bugs, then round 7's full-source re-audit. 276 collected regression tests (275 offline, 1 live parity check against the BLS API), covering the 1 P0 usability-breaking bug (SOC format), 10 P1 silent-wrong-data bugs, 12 P1 response-shape crash paths, and 7 P2 validation gaps fixed in that audit. See TESTING.md for the full testing record.

Available in Claude and ChatGPT

MCP Claude ChatGPT
BLS OEWS Coming soon Coming soon

A hosted edition is coming soon to the Claude and ChatGPT directories. It needs no user API key and no local setup. The local server needs no key either. Until the listings are live, use the installation and configuration instructions below, then try a matching prompt.

What it does

Answers OEWS questions from the bundled release through 8 MCP tools:

Core

  • get_wage_data - Wage statistics for an occupation by SOC code (national, state, or metro)
  • compare_metros - Compare wages for one occupation across multiple metro areas
  • compare_occupations - Compare wages across multiple occupations in one location

Workflow

  • igce_wage_benchmark - Wage benchmarks with burdened rate estimates for IGCE development
  • detect_latest_year - Report the bundled OEWS data year and release

Reference

  • list_common_soc_codes - SOC code mappings for federal IT/professional services
  • list_common_metros - Metro area MSA codes
  • get_data_status - The bundled release, its BLS source files with SHA-256 and publication dates, and the retrieval date

Data source

The bundled database is built by scripts/build_oews_db.py from the BLS OEWS flat files at download.bls.gov/pub/time.series/oe/: national, state, metropolitan and nonmetropolitan area, and national industry estimates for every occupation and all 17 OEWS datatypes, including the relative standard errors. data/manifest.json records each source file's URL, size, SHA-256, and BLS publication date. A weekly check reports when BLS publishes a new release, which ships as a new package version.

BLS.gov cannot vouch for the data or analyses derived from these data after the data have been retrieved from BLS.gov.

Installation

uvx bls-oews-mcp

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": {
    "bls-oews": {
      "command": "uvx",
      "args": ["--refresh-package", "bls-oews-mcp", "--from", "bls-oews-mcp", "bls-oews-mcp"]
    }
  }
}

The --refresh-package flag tells uv to check PyPI for a newer release each time your client launches the server, so fixes and new OEWS releases 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.

On first use the server decompresses the bundled database (about 50 MB) into your user cache directory; set BLS_OEWS_DATA_DIR to put it elsewhere.

Restart the client and the tools appear.

Example prompts

  • "What's the national median salary for Software Developers (SOC 151252)?"
  • "Compare Systems Analyst wages in DC, Seattle, and Baltimore."
  • "Build IGCE wage benchmarks for Program Manager, Software Developer, and Help Desk at the DC metro area with a 2.0x burden factor."
  • "Is $195/hr reasonable for a Senior Software Developer? Show me the BLS market data."
  • "What do Information Security Analysts earn in Virginia vs nationally?"

Important: base wages, not burdened rates

BLS OEWS data represents employer-reported base wages (no fringe, overhead, G&A, or profit). To estimate fully burdened hourly rates for an IGCE, apply a burden multiplier:

  • 1.5x-1.7x: lean contractor
  • 1.8x-2.2x: mid-range professional services
  • 2.0x-2.5x: large contractor with clearance overhead
  • 2.5x-3.0x: high-overhead (SCIF, deployed)

The igce_wage_benchmark tool applies the multiplier automatically.

Data year

OEWS publishes about a year in arrears. The server answers from the bundled release, 2025 (May 2025 estimates, published May 15, 2026); other years raise a clear error pointing to the historical tables at bls.gov/oes/tables.htm. Omit the year argument in normal use, and call detect_latest_year or get_data_status to see the bundled release.

Companion tools

Use alongside gsa-calc-mcp (GSA CALC+ ceiling rates) for complete pricing analysis. BLS provides what the market pays; CALC+ provides what GSA contractors charge. Together they form the IGCE pricing toolkit.

Request pacing

None. Every tool answers from the bundled database, so the server makes no upstream requests and has no BLS quota. See the pacing reference for the other servers.

License

MIT

Metadata

Release files for bls-oews-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 bls-oews-mcp 1.1.0
File Size Uploaded
bls_oews_mcp-1.1.0.tar.gz 16.5 MB Details

Built distribution (wheel)

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

Total release size: 32.9 MB

Release files / bls_oews_mcp-1.1.0.tar.gz

Download URL bls_oews_mcp-1.1.0.tar.gz
Size 16.5 MB
Tags Source
SHA-256 checksum
How to use checksums
43d3997921648fbd2c1239d92b358e0eeb501b0e66249c1c4a3fb8df02a32361
BLAKE2b-256 checksum
How to use checksums
d99a3c2e755df36aca2a5e044e5190764dddd70c472c88108d510a7f3ecbadbf
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 Sep 26, 2026.

Transparency log

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

Download URL bls_oews_mcp-1.1.0-py3-none-any.whl
Size 16.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0b60bb7d56b56ee8159fcef18f309f140a9304ef75e85e9c381d5edf3541f79e
BLAKE2b-256 checksum
How to use checksums
32f750d4d4fea39f264ef644338c7662624880dd16fec313ab88babb8f0a0003
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 Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

This release

1.1.0 This release

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

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