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.
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:
- Settings → Connectors → Add custom connector
- Name:
Workforce Data— URL:https://workforce-data-mcp.onrender.com/mcp - 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:
- 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.
<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.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.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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。