An MCP (Matt Cowgill Protocol) server that gives Claude (and other LLM clients) access to Australian Bureau of Statistics data via the R readabs package.
| Tool | Description |
|---|---|
abs_list_catalogues |
Search or list ABS data cube catalogues by keyword |
abs_list_files |
List downloadable Excel files within a catalogue |
abs_list_api_dataflows |
List all ABS.Stat SDMX API dataflows |
abs_get_api_datastructure |
Get dimension codebook for an API dataflow |
abs_check_latest_date |
Check the most recent observation date for a series |
abs_get_catalogue |
Download and tidy ABS time series spreadsheet data |
abs_get_api |
Query the ABS.Stat SDMX API with dimension filters |
abs_get_data_cube |
Download a non-standard ABS data cube (Excel) and return its first sheet |
abs_get_cpi |
Convenience wrapper: Australian CPI back to 1948 |
abs_get_awe |
Convenience wrapper: Average Weekly Earnings back to 1983 |
Downloaded files are cached locally at ~/.readabs-mcp/cache (override with READABS_CACHE_PATH).
- Node.js ≥ 18
- R with the following packages:
install.packages(c("readabs", "jsonlite", "dplyr", "readxl"))claude mcp add --scope user --transport stdio readabs-mcp -- npx tsx /path/to/readabs-mcp/src/index.tsOr after building:
npm install
npm run build
claude mcp add --scope user --transport stdio readabs-mcp -- node /path/to/readabs-mcp/dist/index.jsAdd to your MCP config:
{
"mcpServers": {
"readabs-mcp": {
"command": "node",
"args": ["/path/to/readabs-mcp/dist/index.js"]
}
}
}| Variable | Default | Description |
|---|---|---|
READABS_CACHE_PATH |
~/.readabs-mcp/cache |
Where to cache downloaded ABS files |
RSCRIPT_PATH |
Rscript |
Path to the Rscript executable |
TypeScript MCP server (stdio transport) → spawns Rscript r/worker.R per call → R reads stdin JSON, calls readabs, writes result JSON to stdout.
MIT