Query the ABS in plain English β CPI, labour force, building approvals, migration, GDP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
mcp-name: io.ausdata/abs-mcp
Ask Claude about the Australian economy and get real, current numbers β not "I don't have access to that data." This MCP server gives Claude (and other MCP clients like Cursor) live access to the ABS Data API, with curated mappings for the 10 most-asked Australian economic indicators.
Hosted access? For cross-source queries, webhooks, an always-on REST API, and a uniform response envelope across all 9 sources, see ausdata.io β free tier available (500 calls/mo, no card).

Behind the scenes it wraps SDMX 2.1, but you never see SDMX codes β just plain-English filters like region: "nsw" and measure: "unemployment_rate". Five tools, ten curated dataflows (Labour Force, CPI, Wage Price Index, Job Vacancies, Average Weekly Earnings, GDP / National Accounts, quarterly + annual Estimated Resident Population, Building Approvals, Lending Indicators), and 1,200+ other ABS dataflows accessible via raw codes.
Companion to rba-mcp (Reserve Bank of Australia β cash rate, FX, lending rates), ato-mcp (Australian Taxation Office β postcode-level personal tax, company tax by industry, corporate tax transparency, ACNC charity register), and au-weather-mcp (Australian weather β 21 curated locations + postcode/place-name lookup, current observations, 16-day forecasts, 80yr historical archive). Install all four for the full AU macro / regulator / tax / climate stack.
Once installed, your LLM can answer questions like:
| Question | Real response (verified) |
|---|---|
| What's the unemployment rate in NSW? | 4.27% (Mar 2026) |
| AU annual CPI inflation? | 4.60% (Mar 2026) |
| AU annual wage growth? | 3.40% (Q4 2025) |
| Average weekly earnings in Australia? | $1,562 (SepβOct 2025) |
| AU GDP quarterly growth? | 0.80% (Q4 2025) |
| AU GDP per capita? | $24,900/qtr (Q4 2025) |
| Job vacancies in NSW? | 101,200 (Q1 2026) |
| Dwelling approvals in NSW? | 4,400/month (Mar 2026) |
| New NSW housing loan commitments? | $19.7B (Q4 2025) |
| Quarterly population of Australia? | 27.7M (Q3 2025) |
Every answer comes with the period, units, and a link back to the ABS source page. Comparisons and time-series queries work just as well β see Worked examples below.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Why
--upgrade?uvx abs-mcp(without the flag) uses whatever wheel is cached and never adopts new PyPI releases on its own β Claude Desktop's MCP child process keeps running the same wheel until you fully quit the app and refresh the cache by hand.--upgrademakes uvx check PyPI on each launch and pull a newer release if one exists. To verify which version is currently serving you, look at theserver_versionfield on anyDataResponse(added in 0.2.10).
For a local checkout (before PyPI publish):
Restart Claude Desktop. The abs server appears in the tools panel with five tools.
Add to ~/.cursor/mcp.json (or workspace .cursor/mcp.json):
| Tool | What it does |
|---|---|
search_datasets(query, limit=10) | Fuzzy-search ABS dataflow names. Returns the top matches. |
describe_dataset(dataset_id) | Plain-English description of a dataflow's dimensions and values. |
get_data(dataset_id, filters, start_period, end_period, format) | Query a dataflow with filters. Returns clean records (default), grouped series, or CSV. |
latest(dataset_id, filters) | Just the most recent observation(s) β wraps get_data with lastNObservations=1. |
top_n(dataset_id, measure, n=10, filters=None, direction="top") | Rank rows of a curated dataflow by a measure (e.g. unemployment_rate) at the most-recent period and return the top (or bottom) N. |
list_curated() | The ten dataflow IDs that have hand-curated plain-English support. |
For these curated dataflows, filters accepts plain-English values (e.g. "region": "nsw" instead of "REGION": "1"):
BUILDING_APPROVALS is the cleaner alias)region= an LGA code (e.g. "10050" Albury, "22750" Greater Geelong, "31000" Brisbane) for council-by-council approvals; defaults to Brisbane. Council-level only β for state / national totals use BUILDING_APPROVALS. Resolves to ABS's current BA_LGA2025 SDMX dataflow so the series stays live.BUILDING_APPROVALS β pair the two for approvals-vs-completions, and add NOM for the supply-vs-migration story.Any other ABS dataflow still works β pass raw SDMX dimension IDs and codes.
Cross-source compatibility. All location filters accept canonical state codes (
"NSW"), full names ("New South Wales"), case-insensitive variants ("nsw"), ISO 3166-2 ("AU-NSW"), and 4-digit postcodes ("2000"β NSW). Powered byaus-identityβ the same input format works across abs-mcp, ato-mcp, apra-mcp, aihw-mcp, and asic-mcp.
"What's the current unemployment rate in NSW?"
Claude calls:
Returns:
"Show me NSW housing approvals over the last two years"
"Compare monthly CPI inflation in Sydney vs Melbourne"
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/abs-mcp)<a href="https://allmcps.com/mcp/abs-mcp"><img src="https://allmcps.com/api/badge/abs-mcp?style=directory" alt="Abs MCP on AllMCPs" /></a>