abs

MCP.Pizza Chef: seansoreilly

The ABS MCP Server is a specialized Model Context Protocol server that provides AI assistants seamless access to the Australian Bureau of Statistics (ABS) data through the SDMX-ML API. It supports dynamic discovery of all available ABS datasets and allows querying with optional filters. The server delivers data in multiple formats including JSON, CSV, and XML, ensuring flexible integration. Built with caching for performance and comprehensive logging for reliability, it enables efficient and robust statistical data retrieval. Designed for easy installation and development with Node.js, it integrates smoothly into AI workflows for data analysis and insights.

Unmaintained · No commits in 19 months.

Use This MCP server To

Query Australian Bureau of Statistics datasets dynamically Retrieve ABS statistical data in JSON, CSV, or XML formats Filter ABS data queries for targeted analysis Integrate ABS data into AI assistant workflows Cache ABS data queries for faster response times Log and monitor ABS data access and errors

README

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

npm install

Development

Prerequisites

  • Node.js 18 or higher
  • npm 8 or higher

Building

npm run build

Running

npm start

Development Tools

  • npm run build: Build the TypeScript code
  • npm start: Run the server
  • npm run inspector: Run the MCP inspector for testing

Project Structure

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

  1. Close Claude Desktop if it's running
  2. Start the ABS MCP server: npm start
  3. Start Claude Desktop
  4. The ABS tools should appear in the "Available MCP Tools" window

API Documentation

For more information about the ABS Data API:

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

MIT License

abs FAQ

How do I install the ABS MCP server?
Install the server using npm with 'npm install', then build with 'npm run build' and start it using 'npm start'.
What Node.js and npm versions are required?
Node.js 18 or higher and npm 8 or higher are required to run the ABS MCP server.
How does the server handle data formats?
The server supports multiple data formats including JSON, CSV, and XML for flexible data consumption.
Does the ABS MCP server support dataset discovery?
Yes, it dynamically discovers all available ABS datasets via the SDMX-ML API.
Is there caching implemented in the server?
Yes, the server includes a caching system to improve performance and reduce redundant data requests.
How can I test or inspect the server?
Use the MCP inspector tool with 'npm run inspector' to test and debug the server.
What logging capabilities does the server provide?
It offers comprehensive logging and error handling to monitor data access and troubleshoot issues.
Can this server be integrated with different AI assistants?
Yes, built on the MCP protocol, it integrates seamlessly with various AI assistants and workflows.