Skip to content

v0.1.1 — CC-BY 3.0 AU + final dataset scope

Choose a tag to compare

@Bigred97 Bigred97 released this 12 May 08:02
· 69 commits to main since this release

First public release with a settled licence + dataset scope.

What ships

7 curated APRA datasets through 6 MCP tools (search_datasets, describe_dataset, get_data, latest, top_n, list_curated):

ID Coverage
ADI_KEY_STATS per-bank CET1 / Tier 1 / Total capital + RWA, quarterly since Mar 2013
ADI_RISK_WEIGHTED_ASSETS per-bank RWA breakdown (credit / operational / market / IRRBB)
SUPER_FUND_LEVEL fund-by-fund member counts, benefits, demographics
INSURANCE_GENERAL + _HISTORICAL paired post/pre-AASB17 general insurance
LIFE_INSURANCE + _HISTORICAL paired post/pre-AASB17 life insurance

Reliability

  • 3-tier URL discovery — live scrape → bundled seed manifest → YAML default. apra.gov.au publishes XLSX at date-versioned paths that change every quarter; the discovery layer scrapes the landing page (with ETag conditional GET → 304 between releases costs zero bytes).
  • SQLite cache with corruption self-heal at ~/.apra-mcp/cache.db.
  • Host pinning — refuses any URL outside apra.gov.au.
  • Framework-break metadata on every insurance response (AASB-17 Q3-2023 boundary surfaces in the framework block).

Attribution

Every response carries:

Source: Australian Prudential Regulation Authority.
Licensed under Creative Commons Attribution 3.0 Australia
(https://creativecommons.org/licenses/by/3.0/au/).

Quality bar

  • 229 unit tests + 16 live integration tests = 245 total
  • Zero-flake across 10 sequential unit runs
  • Live tests verified against real APRA Q4 2025 data

Install

uvx --upgrade apra-mcp

Claude Desktop config in examples/.

Deferred to v0.2

ADI_PROPERTY_EXPOSURES + SUPER_AGGREGATE — both are transposed multi-tab industry-aggregate files that need a transposed-layout parser. See CHANGELOG for the rationale.