# asic-mcp

> MCP server exposing Australian Securities and Investments Commission registers through 5 plain-English tools — financial advisers, AFS licensees, AFS authorised representatives, credit licensees, banned persons and orgs, registered liquidators.

asic-mcp is the Australian Securities and Investments Commission (ASIC) member of the Australian Public Data MCP portfolio. It fetches ASIC's weekly-updated CSV registers via data.gov.au's CKAN, resolving the freshest resource UUID at fetch time so installs always get the current snapshot.

7 curated registers cover every person/entity ASIC supervises in financial services: ~21k individual financial advisers, ~6.5k AFS licensees, ~360k authorised representatives, every credit licensee, banned persons and organisations, every registered liquidator. Every response carries CC-BY 3.0 Australia attribution. Registers are flat snapshots (not time series) — `latest()` caps at 50 rows by default with `truncated_at` to prevent context-blow on the 360k-row AFS Auth Rep register.

## Documentation

- [README](https://github.com/Bigred97/asic-mcp/blob/main/README.md): Full setup + 5-tool usage + worked compliance examples
- [CHANGELOG](https://github.com/Bigred97/asic-mcp/blob/main/CHANGELOG.md): Release history
- [PyPI](https://pypi.org/project/asic-mcp/): `uvx --upgrade asic-mcp`

## Tools

- search_datasets(query, limit=10): Fuzzy search the 7 curated registers
- describe_dataset(dataset_id): Schema — filterable dimensions, valid filter values, source URL
- get_data(dataset_id, filters, start_period, end_period, format): Query a register; pass filters to narrow ("current_status: current", "state: nsw", "licensee_name: ...")
- latest(dataset_id, filters, limit=50): Most recent register snapshot. Capped at `limit` (default 50, max 10000) with `truncated_at` set when capped — pass tighter filters or raise `limit` if you need bulk
- list_curated(): Enumerate the 7 register IDs

## Example queries

- "Is Jane Smith a registered financial adviser?"
- "Find every AFS licensee in NSW with 'Westpac' in the name"
- "List all banned persons added since 2024-01-01"
- "Who's the registered liquidator for KordaMentha?"
- "Which credit licensees were suspended last year?"
- "Confirm whether AFSL 234945 is a current AFS licensee and what services it's authorised for"

## Optional

- [Sister MCPs](https://github.com/Bigred97?tab=repositories&q=mcp): Other AU public-data MCPs in the portfolio
- [aus-identity](https://pypi.org/project/aus-identity/): Postcode/state/ABN normalisation — every register's `state` filter accepts canonical codes, full names, ISO 3166-2, and 4-digit postcodes
