workforce-data-explorer
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. | |
š¤ | AI connector (MCP) ā ask your own Claude or ChatGPT questions answered with live labor data |
|
āļø | 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:
Settings ā Connectors ā Add custom connector
Name:
Workforce Dataā URL:https://workforcemcp.beaconturn.com/mcpIn 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.
š The connector URL changed (July 2026). If you added it earlier as
workforce-data-mcp.onrender.com/mcp, that address still responds for now but is deprecated and slower (it sleeps between uses). Point your connector athttps://workforcemcp.beaconturn.com/mcpā the new home is always on, and the URL is permanent.
Claude Desktop app, running locally ā the easy way is the extension bundle:
Clone the repo and create the venv (see Run it yourself).
Download
Workforce-Data.mcpbfrom the latest release and double-click it.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.
ā ļø 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"]
}
}
}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.pyThe hosted connector runs on an always-on server ā no cold starts.
āļø 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 |
| Most time series | |
| Higher BLS rate limits | |
| ACS / QWI / CBP queries | |
| In-app AI Assistant chat | |
| OSHA / WHD enforcement data | |
| Optional ā higher O*NET limits |
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.yamlconfigures 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.pyFetched 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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thelancehaun/workforce-data-explorer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server