abs-spend-mcp
An MCP server that exposes Australian household spending data — so Claude (Claude Code, Claude Desktop, or any MCP client) can answer questions like "how did Victorian transport spending move year-on-year?" directly in conversation.
Data comes live from the ABS Data API (SDMX), plus a bundled static extract of National Accounts sub-category detail. It runs server-side over stdio, so there's no CORS proxy and nothing to configure — just point your client at it.
Tools
| Tool | Answers |
|---|---|
get_spending_trend |
Monthly time series for any category/state — $ level or year-on-year %, Original / Seasonally adjusted / Trend series |
get_latest_summary |
Latest month: total spend, nominal and real (CPI-deflated) YoY growth, top category, discretionary share |
get_category_breakdown |
All 9 COICOP categories for a month/geography, with shares of total |
get_l2_composition |
Level-2 sub-category split (e.g. Transport → vehicle purchase / operation / services) with YoY |
get_cost_of_living |
Living Cost Indexes by household type (YoY or index) — includes mortgage interest, unlike CPI |
Categories, states, and series types take friendly names (transport, VIC,
seasonally_adjusted) — see each tool's schema for the full set.
Use with Claude Code
claude mcp add --scope user abs-spend -- npx -y abs-spend-mcp
Then start any claude session and ask a spending question, or headless:
claude -p "Use the abs-spend tools: what's the latest Australian household spending summary?"
Use with Claude Desktop
Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/):
{
"mcpServers": {
"abs-spend": { "command": "npx", "args": ["-y", "abs-spend-mcp"] }
}
}
Restart Claude Desktop; the tools appear under the connectors menu.
Run locally
npm install
npm test # end-to-end smoke test against the live ABS API
npm start # run the server on stdio
Requires Node 18+ (uses the built-in fetch).
Data sources & caveats
- Live: Monthly Household Spending Indicator (
HSI_M), Monthly CPI Indicator (CPI_M), Selected Living Cost Indexes (LCI). Responses are cached in-process for 10 minutes. - Static: Level-2 detail is from National Accounts 5206.0 Table 8 (HFCE) — quarterly,
national, current-price. Bundled as
hfce.json; refresh it in sync with the parent repo'ssrc/data/hfce.json(see the app'sscripts/extract_hfce.py). - Dollar values are
$millions, current prices (nominal). Real YoY deflates by the all-groups CPI (8-capital-city average). - The ABS API does not guarantee chronological observation order; the server sorts periods defensively before any YoY / deflation math.
- No sub-state (regional) spend is published — the finest geography is state/territory.
Part of the Australian Household Spending Analytics project.