Australian Bureau of Statistics (ABS) Data API MCP. SDMX REST API at https://api.data.abs.gov.au (keyless, no auth). Three concepts: list_dataflows to discover/search dataset IDs, dataflow_structure to list dimensions and valid codes, get_data to pull observations.
Three well-named, read-only tools with clear descriptions and complete input schemas. Tool names follow verb_noun pattern (list_, dataflow_, get_). Descriptions are detailed (150 - 250 chars) and explain prerequisites and usage order. All parameters have types and descriptions. However, output schemas are not documented, LLMs cannot predict response structure for planning. Error handling is absent; no guidance on recovery or invalid inputs. No parameter validation rules stated (e.g., dataflowId format, dataKey syntax). Missing enum constraints for structured inputs.
For one ABS dataflow, return its ordered dimensions and the valid codes for each. Use this to build a dataKey for get_data: the key has one dot-separated position per dimension, in the order returned here. Call this before get_data.
Fetch observations from an ABS dataflow. dataKey is a dot-separated SDMX filter with one position per dimension (order from dataflow_structure); each position is a code, "+"-joined codes, or empty for wildcard. Pass "all" to fetch everything (can be large). Returns decoded series with their dimension labels and time-indexed values. Fetch dataflow_structure first to learn the dimension order and valid codes.
Browse or search ABS datasets (dataflows). Returns dataflow IDs + descriptive names; the ID (e.g. "CPI", "ALC", "ABS_REGIONAL_LGA2021") is what you pass to dataflow_structure and get_data. Optionally filter by a case-insensitive substring against the ID and name.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream planning or data extraction.
No error handling guidance. Errors like 'dataflow not found' or 'invalid dataKey' lack recovery hints. LLMs cannot self-correct.
Parameter constraints not formalized. 'dataKey' syntax (dot-separated, codes, wildcards) is described in prose but not as regex/enum. LLMs may generate invalid keys.
No pagination support documented. 'limit' parameter exists but no 'offset', 'cursor', or 'total' count in response. Large result sets risk context overflow.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Missing parameter validation rules. No stated min/max for 'limit' (default 50, max 500), 'maxCodesPerDimension' (default 50, max 10000), or 'maxSeries' (default 100, max 5000). LLMs may pass out-of-range values.