abs
Provides access to the Australian Bureau of Statistics (ABS) Data API. This server allows AI assistants to query and analyze ABS statistical data.
Provides access to the Australian Bureau of Statistics (ABS) Data API. This server allows AI assistants to query and analyze ABS statistical data.
An MCP (Model Context Protocol) server that provides access to the Australian Bureau of Statistics (ABS) Data API. This server allows AI assistants to query and analyze ABS statistical data through the SDMX-ML API.
npm install
npm run build
npm start
npm run build
: Build the TypeScript codenpm start
: Run the servernpm run inspector
: Run the MCP inspector for testingsrc/
├── index.ts # Main server implementation
├── services/
│ └── abs/
│ ├── ABSApiClient.ts # ABS API communication
│ └── DataFlowService.ts # Data flow management and caching
├── types/
│ └── abs.ts # TypeScript type definitions
└── utils/
└── logger.ts # Logging configuration
The ABSApiClient
class handles communication with the ABS Data API:
- Uses SDMX-ML format for data exchange
- Supports multiple response formats (JSON, CSV, XML)
- Implements proper error handling and logging
- Configurable timeouts and retries
The DataFlowService
class manages ABS data flows:
- Dynamically fetches available datasets from ABS API
- Implements caching with configurable refresh intervals
- Provides methods for querying specific datasets
- Handles data transformation and formatting
Comprehensive logging system using Winston: - Debug-level logging for development - Structured JSON logging format - Console and file transport options - Configurable log levels and formats
npm start
For more information about the ABS Data API: - SDMX-ML Documentation - ABS API Documentation
MIT License
[
{
"description": "Query a specific ABS dataset with optional filters",
"inputSchema": {
"properties": {
"datasetId": {
"description": "ID of the dataset to query (e.g., C21_G01_LGA)",
"type": "string"
}
},
"required": [
"datasetId"
],
"type": "object"
},
"name": "query_dataset"
}
]