Query APRA in plain English — bank capital, fund-level super, insurance stats.
io.ausdata/apra-mcp MCP Server
The io.ausdata/apra-mcp server enables querying APRA data using plain English, focused on bank capital, fund-level super, and insurance statistics. It is listed with topics covering APRA, Australian banking and finance regulation, open data, and LLM/MCP integration.
🛠️ Key Features
Plain-English querying of APRA datasets
Support for: bank capital, fund-level super, insurance statistics
🚀 Use Cases
Researching Australian financial regulation topics via APRA data
Building LLM-powered agents that retrieve bank capital and super or insurance statistics
⚡ Developer Benefits
MCP server integration for AI agents
Python package available under the project name apra-mcp
⚠️ Limitations
Capabilities are described only at a high level (bank capital, fund-level super, insurance stats); no additional tooling, endpoints, or schemas are provided in the available source data
MCP server for Australian Prudential Regulation Authority statistics. Plain-English access to per-bank capital ratios, fund-by-fund superannuation, and post-AASB17 life + general insurance — every prudentially-regulated entity in Australia, every quarter, from a single uvx command.
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).
text
"What's CBA's CET1 ratio?"
"Which super fund has the most members?"
"Top 10 banks by total capital, latest quarter"
"Gross written premium for the general insurance industry, post-AASB17"
"Largest life insurance product groups by claims"
claude mcp add apra --command uvx --args -- --upgrade apra-mcp
What it exposes
Six tools, all plain-English in, structured out:
Tool
Purpose
search_datasets
Fuzzy-search the curated catalog by keyword
describe_dataset
List a dataset's filterable dimensions and returnable measures
get_data
Query with filters, measures, period range, output format
latest
Last observation per measure (shortcut)
top_n
Rank rows by a measure, return top (or bottom) N
list_curated
Enumerate the curated dataset IDs
Every response is the same shape — dataset_id, dataset_name, query, period, unit, row_count, records, apra_url, download_url, framework (insurance only), attribution, stale flag, server_version — across every curated dataset.
Curated datasets (7 in v0.1)
ID
What it is
Period
ADI_KEY_STATS
Per-bank CET1 / Tier 1 / Total capital + RWA
latest quarter snapshot
ADI_RISK_WEIGHTED_ASSETS
Per-bank RWA by risk type (credit / operational / market / IRRBB)
latest quarter snapshot
SUPER_FUND_LEVEL
Fund-by-fund members, benefits, demographics
latest quarter snapshot
INSURANCE_GENERAL
Long-format general insurance (post-AASB17, ~24k rows × 10 quarters)
Sep 2023 → latest
INSURANCE_GENERAL_HISTORICAL
General insurance archive (pre-AASB17)
Dec 2002 → Jun 2023
LIFE_INSURANCE
Long-format life insurance (post-AASB17, ~10k rows × 10 quarters)
Sep 2023 → latest
LIFE_INSURANCE_HISTORICAL
Life insurance archive (pre-AASB17)
Jun 2008 → Jun 2023
Snapshot vs time-series. ADI and Super datasets ship the most recent
reporting quarter only (APRA refreshes the file each quarter). The four
insurance datasets are long time series in a single file. Pass
start_period / end_period as ISO dates (2025-12-31), bare years
(2024), year-months (2025-06), or quarter shorthand (2025-Q4) — all
normalised internally.
Cross-source compatibility. The state_territory filter on
INSURANCE_GENERAL accepts canonical state codes ("NSW"), full names
("New South Wales"), case-insensitive variants ("nsw"), ISO 3166-2
("AU-NSW"), and 4-digit postcodes ("2000" → New South Wales). Powered
by aus-identity — the same
input format works across abs-mcp, ato-mcp, apra-mcp, aihw-mcp, and
asic-mcp.
Reliability — 3-tier URL resolution
APRA publishes XLSX at date-versioned paths that change every quarter. apra-mcp resolves them through three tiers:
Live scrape — fetch the canonical APRA landing page (with ETag conditional-GET so refreshes between releases cost zero bytes), regex-extract the .xlsx href matching the dataset's filename pattern, pick the latest-dated match. Cached 6h.
Bundled seed manifest — when the live scrape fails, fall back to data/seed_urls.json shipped in the wheel. CI refreshes the manifest daily. The response is flagged stale: true with an honest reason.
YAML default — last-resort URL from the curated YAML.
Net effect: a fresh uvx apra-mcp always gets the current quarter; a 3-month-old install still works because the seed manifest is refreshed and --upgrade pulls a new wheel.
Framework break (insurance only)
APRA changed the reporting framework on 1 July 2023 (AASB 17 Insurance Contracts + capital framework revision). Pre- and post-break data are not directly comparable — APRA's own guidance is explicit. apra-mcp ships paired datasets:
Every response on an insurance dataset includes a framework block surfacing the break + a historical_dataset cross-reference, so agents see the warning before splicing series.
Attribution
Data sourced from the Australian Prudential Regulation Authority. Licensed under Creative Commons Attribution 3.0 Australia (CC BY 3.0 AU). apra-mcp is MIT-licensed; APRA's data carries the upstream CC-BY 3.0 AU licence, echoed in every response's attribution field.
Sister MCPs (Australian Public Data portfolio)
Want all 9 sources behind one REST API? The hosted gateway at ausdata.io adds cross-source joins, full history, webhooks, and HMAC-signed responses on top of these MCPs — free tier (500 calls/mo, no card).
abs-mcp — Australian Bureau of Statistics (CPI, unemployment, ERP, building approvals)
rba-mcp — Reserve Bank of Australia (cash rate, lending stats, exchange rates)
ato-mcp — Australian Taxation Office (tax stats, ACNC charities)
apra-mcp — this one. Banks, super, insurance.
aihw-mcp — Australian Institute of Health and Welfare
asic-mcp — Australian Securities and Investments Commission (company registers)
aemo-mcp — Australian Energy Market Operator (NEM dispatch, spot prices, generation)
au-weather-mcp — Open-Meteo (Bureau of Meteorology aggregator)