Australian Bureau of Statistics (ABS)
by seansoreilly
ABS MCP Server
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.
Features
- Dynamic discovery of all available ABS datasets via SDMX-ML API
- Query ABS datasets with optional filters
- Support for multiple data formats (JSON, CSV, XML)
- Built on the MCP protocol for seamless integration with AI assistants
- Caching system for improved performance
- Comprehensive logging and error handling
Installation
Copy
npm install
Development
Prerequisites
- Node.js 18 or higher
- npm 8 or higher
Building
Copy
npm run build
Running
Copy
npm start
Development Tools
npm run build
: Build the TypeScript codenpm start
: Run the servernpm run inspector
: Run the MCP inspector for testing
Project Structure
Copy
src/
├── 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
Implementation Details
ABS API Client
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
Data Flow Service
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
Logging
Comprehensive logging system using Winston:
- Debug-level logging for development
- Structured JSON logging format
- Console and file transport options
- Configurable log levels and formats
Integration with Claude Desktop
- Close Claude Desktop if it's running
- Start the ABS MCP server:
npm start
- Start Claude Desktop
- The ABS tools should appear in the "Available MCP Tools" window
API Documentation
For more information about the ABS Data API:
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
MIT License
Provides access to the Australian Bureau of Statistics (ABS) Data API. This server allows AI assistants to query and analyze ABS statistical data.