BLS OEWS
Server Details
BLS Occupational Employment and Wage Statistics market wages, bundled; no API key. 8 tools.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- 1102tools-dev/federal-contracting-mcps
- GitHub Stars
- 32
- Server Listing
- ecfr-mcp
- ChatGPT
- –
- Claude
- 1102tools for BLS OEWS
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes: compare_metros and compare_occupations are batch comparisons, get_wage_data is the primary single-query tool, and igce_wage_benchmark is a specialized benchmark formatter. The main overlap is detect_latest_year versus get_data_status, since get_data_status also reports the data year, but the descriptions sufficiently clarify the intended distinction.
All names use snake_case and most follow a predictable verb_noun pattern such as compare_metros, get_wage_data, detect_latest_year, and list_common_metros. The main deviation is igce_wage_benchmark, which is noun-phrase style rather than action-led, but it remains readable and domain-specific.
Eight tools is well-scoped for a BLS OEWS wage lookup server. Each tool contributes a clear capability: single lookups, comparisons, benchmarking, metadata, and code-list helpers.
The surface covers core wage-query workflows, comparison operations, IGCE benchmarking, metadata, and common SOC/metro lookup. Minor gaps remain: there is no general occupation-title search or full metro/SOC code listing beyond common mappings, though external BLS links are provided as workarounds.
Available Tools
8 toolscompare_metrosARead-onlyInspect
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.
Inputs: occ_code (required), metro_codes (required), year, datatype. Returns: object
compare_occupationsARead-onlyInspect
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.
Inputs: occ_codes (required), year, scope, datatype, +1 more. Returns: object
detect_latest_yearARead-onlyInspect
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.
Inputs: no named parameters. Returns: object
get_data_statusARead-onlyInspect
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.
Inputs: no named parameters. Returns: object
get_wage_dataARead-onlyInspect
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).
Inputs: occ_code (required), year, scope, industry, +2 more. Returns: object
igce_wage_benchmarkARead-onlyInspect
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).
Inputs: occ_code (required), year, scope, area_code, +2 more. Returns: object
list_common_metrosARead-onlyInspect
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
Inputs: no named parameters. Returns: object
list_common_soc_codesARead-onlyInspect
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
Inputs: no named parameters. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Salary and H-1B disclosed-wage data as agent tools.
Job descriptions, skills, education requirements, and wage data
GSA CALC+ awarded labor ceiling rates from more than 230,000 MAS contract records. 8 tools.
Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables users to query U.S. labor statistics, including employment, CPI, and wages, directly from the Bureau of Labor Statistics Public Data API. It provides tools to retrieve real-time economic time series data, browse popular series, and access survey metadata through natural language.688 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude users to research U.S. labor-market trends through live BLS and FRED data, covering employment, unemployment, wages, job openings, occupational outlook, and industry comparisons.-
- AlicenseNot gradedqualityBmaintenanceMCP server for fetching US Bureau of Labor Statistics data including CPI, unemployment, wages, JOLTS, and more. Provides 7 tools for survey discovery, SeriesID resolution, and data retrieval via STDIO or Streamable HTTP.699 npm1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables models to query real US government data (BLS, BEA, Census, IRS 2026) to calculate 2026 take-home pay across all 50 states plus DC, compare cost-of-living-adjusted salaries between 50 US metros, retrieve tax bracket ladders, and look up occupation-level salary percentiles. Exposes five read-only tools over a free, keyless remote Streamable HTTP endpoint.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.