Skip to main content
Glama
yoshibase

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