Australian Bureau of Statistics
Ask Claude "What's the unemployment rate in NSW?" and get a real answer. Wraps the Australian Bureau of Statistics API with plain-English tools and curated mappings for 10 economic indicators (unemployment, inflation, wages, GDP, housing, population).
README
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.

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). Install both for the AU macro stack.
What you can ask
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.
Install
# After publish:
uvx abs-mcp
# Local dev install:
uv pip install -e .
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"abs": {
"command": "uvx",
"args": ["abs-mcp"]
}
}
}
For a local checkout (before PyPI publish):
{
"mcpServers": {
"abs": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/abs-mcp", "abs-mcp"]
}
}
}
Restart Claude Desktop. The abs server appears in the tools panel with five tools.
Cursor
Add to ~/.cursor/mcp.json (or workspace .cursor/mcp.json):
{
"mcpServers": {
"abs": {
"command": "uvx",
"args": ["abs-mcp"]
}
}
}
Tools
| 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. |
list_curated() |
The ten dataflow IDs that have hand-curated plain-English support. |
Curated dataflows
For these ten, filters accepts plain-English values (e.g. "region": "nsw" instead of "REGION": "1"):
- LF — Labour Force, monthly: employment, unemployment, participation by state/sex
- CPI — Consumer Price Index, quarterly inflation by capital city and category
- WPI — Wage Price Index, quarterly wage growth by industry/sector/state
- JV — Job Vacancies, quarterly labour demand by industry/sector/state
- AWE — Average Weekly Earnings, half-yearly by industry/sector/state
- ANA_AGG — National Accounts: GDP, GDP per capita, terms of trade, real income (Australia, quarterly)
- ABS_ANNUAL_ERP_ASGS2021 — Estimated Resident Population, annual by state and sub-state geography
- ERP_Q — Quarterly Estimated Resident Population, by state/sex/age
- BA_GCCSA — Building Approvals, monthly by state/capital region and building type
- LEND_HOUSING — Lending Indicators, quarterly new housing loan commitments by purpose, lender, and state
Any other ABS dataflow still works — pass raw SDMX dimension IDs and codes.
Worked examples
"What's the current unemployment rate in NSW?"
Claude calls:
latest(dataset_id="LF", filters={"region": "nsw", "measure": "unemployment_rate"})
Returns:
{
"dataset_id": "LF",
"dataset_name": "Labour Force",
"query": {"region": "nsw", "measure": "unemployment_rate"},
"period": {"start": "2026-03", "end": "2026-03"},
"unit": "Percent",
"records": [
{
"period": "2026-03",
"value": 4.27,
"dimensions": {"measure": "Unemployment rate", "region": "New South Wales", "sex": "Persons"},
"unit": "Percent"
}
],
"source": "Australian Bureau of Statistics",
"retrieved_at": "2026-05-11T03:14:22Z",
"abs_url": "https://www.abs.gov.au/statistics/labour/employment-and-unemployment/labour-force-australia"
}
"Show me NSW housing approvals over the last two years"
get_data(dataset_id="BA_GCCSA", filters={"region": "nsw", "measure": "dwelling_units"}, start_period="2024")
"Compare quarterly CPI in Sydney vs Melbourne"
get_data(dataset_id="CPI", filters={"region": ["sydney", "melbourne"], "measure": "change_year"}, start_period="2023")
Period formats
ABS uses different period formats per dataflow. Pass start_period / end_period in the matching format:
| Dataflows | Frequency | Format | Example |
|---|---|---|---|
| LF, BA_GCCSA | Monthly | YYYY-MM |
"2026-03" |
| CPI, WPI, JV, ANA_AGG, LEND_HOUSING, ERP_Q | Quarterly | YYYY-Q* or YYYY-MM |
"2025-Q4" |
| AWE | Half-yearly | YYYY-S* |
"2025-S2" |
| ABS_ANNUAL_ERP_ASGS2021 | Annual | YYYY |
"2025" |
Development
git clone https://github.com/Bigred97/abs-mcp.git
cd abs-mcp
uv sync --extra dev
uv pip install -e .
# Unit tests (no network)
uv run pytest
# Live integration tests (hits real ABS API)
uv run pytest -m live
The SQLite cache lives at ~/.abs-mcp/cache.db. Catalogue refreshes every 24h, codelists every 7 days, data responses every hour, latest 15 minutes. Delete the file to force a refresh.
How it works
When you ask Claude an ABS question, it picks the right tool, fills in the curated filters, and calls the live ABS API. You see the reasoning + tool call inline:

Claude does the picking; this server does the SDMX translation, unit attribution, and clean response shaping. You don't have to know what M13.3.1599.20.1.M means — and neither does Claude.
How it differs from existing ABS MCP servers
The one existing community option (seansoreilly/abs) exposes a single query_dataset tool that passes raw SDMX through. This package offers semantic tools and curated mappings for the highest-value dataflows so an LLM can answer real questions without you needing to know what M13.3.1599.20.1.M means.
Changelog
See CHANGELOG.md for release history.
License
MIT — Harry Vass, 2026.
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。