workforce-data-explorer

workforce-data-explorer

MCP server providing AI assistants with live access to 89 curated US workforce and labor market data sources, including BLS, FRED, Census, O*NET, DOL, SEC EDGAR, and real-time signals from Indeed and ADP.

Category
Visit Server

README

Workforce Data Explorer

One interface for 89 curated US workforce and labor market data sources — 30 with live API access spanning official statistics (BLS, FRED, Census, O*NET, DOL, SEC EDGAR) and real-time signals (Indeed Hiring Lab job postings, ADP payrolls, the Anthropic Economic Index).

Three ways to use it, easiest first:

What Where
🖥️ Live dashboard — browse, chart, download. Zero setup. workforce-data-explorer.streamlit.app
🤖 AI connector (MCP) — ask your own Claude or ChatGPT questions answered with live labor data https://workforce-data-mcp.onrender.com/mcp
⚙️ Run it yourself — clone this repo, bring free API keys Quick start below

What's inside

Source What you get
FRED 816,000+ time series — unemployment, job openings, quits, wages, participation, claims, CPI, GDP
BLS CES payrolls, CPS household survey, JOLTS, Employment Cost Index, productivity, OEWS occupation wages
Census ACS demographics/income/commuting by state & county, QWI hires/separations, County Business Patterns
O*NET 900+ occupation profiles — skills, tasks, abilities, technology used
DOL Weekly UI claims, OSHA inspections, wage & hour enforcement
SEC EDGAR Layoff 8-Ks, human capital disclosures from 10-Ks, filings by company
Indeed Hiring Lab Daily job postings indexes (national/state/metro/sector) + AI-postings share
ADP Weekly and monthly private payrolls (via FRED)
Anthropic Economic Index Real-world AI usage by occupation and task

🖥️ The dashboard

workforce-data-explorer.streamlit.app — nothing to install.

  • Catalog — search all 89 curated sources by topic
  • Job Postings — real-time labor demand from Indeed, incl. AI's share of postings
  • State Labor Markets — the four headline indicators for any state
  • FRED / BLS / Census / O*NET / DOL / SEC pages — fetch, chart, and download any series as CSV
  • AI Assistant — ask questions in plain English ("show me quits vs. openings since 2022"). The shared assistant allows a few questions per minute; paste your own free Groq key into the expander on that page for unlimited use.

🤖 The AI connector (MCP)

The best experience: plug live labor data into the AI you already use. The connector exposes 15 tools — FRED and BLS series, occupation wages, Census ACS, O*NET occupations, UI claims, SEC layoff/company filings, Indeed daily job postings, AI-postings share, state labor market snapshots, and AI-usage exposure by occupation — and your AI decides which to call.

Claude (claude.ai) — requires a paid plan:

  1. Settings → Connectors → Add custom connector
  2. Name: Workforce Data — URL: https://workforce-data-mcp.onrender.com/mcp
  3. In a new chat, ask something like "What's happening with layoffs at public companies this month?" or "Compare software developer and nurse wages."

ChatGPT — Settings → Connectors (developer mode) → add the same URL.

Claude Desktop app, running locally — the easy way is the extension bundle:

  1. Clone the repo and create the venv (see Run it yourself).
  2. Download Workforce-Data.mcpb from the latest release and double-click it.
  3. Claude opens an install dialog — click Install, then point it at your cloned repo folder when asked. The connector appears in Settings → Extensions with an on/off toggle. Done — no config files.

<details> <summary>Alternative: manual <code>claude_desktop_config.json</code> entry</summary>

⚠️ Edit this file only while Claude is fully quit (⌘Q). The app rewrites it from memory on exit, so edits made while it's running are silently lost.

{
  "mcpServers": {
    "workforce-data": {
      "command": "/path/to/workforce-data/.venv/bin/python",
      "args": ["/path/to/workforce-data/mcp_server.py"]
    }
  }
}

</details>

Claude Code — one command, available in every session:

claude mcp add --scope user workforce-data -- /path/to/workforce-data/.venv/bin/python /path/to/workforce-data/mcp_server.py

The hosted connector runs on a free tier that sleeps when idle — the first question after a quiet spell takes ~30–60 seconds while it wakes up.

⚙️ Run it yourself

Requires Python 3.10+ (tested on 3.13). All dependencies are in requirements.txt.

git clone https://github.com/thelancehaun/workforce-data-explorer.git
cd workforce-data-explorer
python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env   # then add your free API keys (see below)

streamlit run app.py            # the dashboard
python mcp_server.py            # the MCP server (stdio, for Claude Desktop)
python mcp_server.py --http     # the MCP server (HTTP, for remote hosting)

The app runs without any keys — SEC, O*NET, and parts of BLS/Census work keyless — but FRED (which powers most time series) and the AI Assistant chat need free ones.

API keys (all free, ~5 minutes total)

Key Powers Get it at
FRED_API_KEY Most time series fred.stlouisfed.org
BLS_API_KEY Higher BLS rate limits data.bls.gov
CENSUS_API_KEY ACS / QWI / CBP queries api.census.gov
GROQ_API_KEY In-app AI Assistant chat console.groq.com
DOL_API_KEY OSHA / WHD enforcement data dataportal.dol.gov
ONET_API_KEY Optional — higher O*NET limits services.onetcenter.org

Deploy your own copies

  • Dashboard → Streamlit Community Cloud (free): point it at your fork, paste your keys under app Settings → Secrets.
  • MCP server → Render (free): the included render.yaml configures it — connect your fork as a Blueprint and add your keys as environment variables. Any Python host (Fly.io, Railway, a VPS) works too: python mcp_server.py --http.

Architecture

app.py                    Streamlit dashboard (Overview, AI Assistant, data pages)
ui_theme.py               Shared chart styling (validated palette, light/dark)
mcp_server.py             MCP server (stdio + streamable HTTP, TTL-cached tools)
workforce_data/
  catalog.py              Searchable metadata for 89 curated sources
  chat.py                 Tool-calling chat engine (Groq) + shared tool layer
  sources/
    fred.py bls.py census.py onet.py dol.py sec.py indeed.py aei.py

Fetched data is cached in memory in both apps (1 hour for time series, up to a day for searches and metadata), so repeat queries don't burn API quota.

Bugs, ideas, and working together

  • Bug or wrong-looking data? Open an issue — templates make it quick.
  • Want to suggest a data source? Same place — there's a template for that.
  • Working together / press: the contact link is on the app's About page (kept off GitHub so scrapers don't get it).

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured