us-open-stats-mcp
by yoshibase
README.md
# us-open-stats-mcp
MCP server exposing normalized **Census**, **BLS**, **FRED**, and **HUD** tools. Returns small typed JSON snapshots suitable for editors and CLI clients.
Live infographics (embeddable): [us-open-stats-mcp.pages.dev](https://us-open-stats-mcp.pages.dev/)
## Install
```bash
uv sync --extra dev
./scripts/smoke.sh
```
## Run
```bash
uv run us-open-data-mcp serve
uv run python scripts/build_demo_site.py
uv run pytest -q
```
Demo UI: `cd site && python3 -m http.server 8789`
### Infographics app
Premium Vite + React + ECharts reports live in `web/`. Build emits into `site/` (Fraunces + Archivo, donut/hbar/lollipop/scatter/line charts, filterable listings, `/embed/:id` iframes).
```bash
cd web && npm install && npm run build
# or
uv run python scripts/build_demo_site.py
```
### Example MCP client config
```json
{
"mcpServers": {
"us-open-stats": {
"command": "uv",
"args": ["run", "--directory", "/path/to/us-open-stats-mcp", "us-open-data-mcp", "serve"]
}
}
}
```
## Tools (MVP)
| Tool | Agency |
|------|--------|
| `get_cbsa_population` | Census ACS |
| `get_hud_fmr` | HUD |
| `get_unemployment_rate` | BLS |
| `get_cpi` | BLS |
| `get_fred_series` | FRED |
Default responses use recorded fixtures so CI stays offline. Live API keys can be added later without changing tool names.
## License
MIT — see `LICENSE`.
TDQS
B3.1/5.0
Scored across 5 tools
Disambiguation3/5
Most tools target distinct metrics (population, rent, unemployment, CPI), but get_fred_series is a generic catch-all that can fetch the same BLS/CPI series as the specialized tools, creating overlap and potential misselection.
Naming Consistency5/5
All tools follow a consistent get_<metric> snake_case pattern, making the naming predictable and easy to parse.
Tool Count5/5
Five tools is well-scoped for a focused statistical data server; each tool earns its place without bloat or extreme thinness.
Completeness4/5
Core economic indicators (population, rent, unemployment, CPI, generic FRED) are covered, but there is no way to list available series, sources, or metadata, which limits discoverability.
Maintenance
ActivityMaintained
ResponsivenessNo issues