SM

seansoreilly/mcp-server-abs

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

9 stars 10 forks Качество 66 Тренд 25

MCP server for Australian Bureau of Statistics

Обзор

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. - — fetches an ABS dataset by id (e.g. C21_G01_LGA) and returns the SDMX-JSON payload as both text and structuredContent, with a resource_link to the upstream URL. Declares a title, read-only annotations, and an outputSchema. Built on MCP protocol revision 2025-11-25 (SDK v2, legacy era) over stdio. ABSApiClient and DataFlowService implement dataset discovery, multi-format support (JSON/CSV/XML), and on-disk caching with a configurable refresh interval. They are fully tested but , so no tool surfaces them yet — a list_dataflows tool is the natural next step. Treat the section below as a description of the service layer, not of the tool surface. The ABS Data API is open — the server needs . All logging goes to , never stdout — stdout carries the MCP JSON-RPC channel.

README

Показан фрагмент оригинального 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

The server currently exposes one tool:

  • query_dataset — fetches an ABS dataset by id (e.g. C21_G01_LGA) and returns the SDMX-JSON payload as both text and structuredContent, with a resource_link to the upstream URL. Declares a title, read-only annotations, and an outputSchema.

Built on MCP protocol revision 2025-11-25 (SDK v2, legacy era) over stdio.

Not yet exposed

ABSApiClient and DataFlowService implement dataset discovery, multi-format support (JSON/CSV/XML), and on-disk caching with a configurable refresh interval. They are fully tested but not currently wired into the server, so no tool surfaces them yet — a list_dataflows tool is the natural next step. Treat the section below as a description of the service layer, not of the tool surface.

Configuration

Variable Default Purpose
ABS_API_BASE https://data.api.abs.gov.au ABS API origin; override to point at a stub
ABS_LOG_LEVEL debug Winston log level
ABS_LOG_DIR /logs Directory for log files
ABS_CACHE_FILE /../cache/dataflows.json Where the dataflow cache is written
ABS_CACHE_REFRESH_HOURS 24 How long a cached dataflow list stays fresh
ABS_REQUEST_TIMEOUT_MS 30000 Request timeout for ABS API calls

The ABS Data API is open — the server needs no API key or credentials.

All logging goes to stderr, never stdout — stdout carries the MCP JSON-RPC channel.

Installation

npm install

Docker

A container image is published to GitHub Container Registry on every push to main, tagged latest, main, sha-, and — for v* tags — the semver version.

docker pull ghcr.io/seansoreilly/mcp-server-abs:latest
docker run -i --rm ghcr.io/seansoreilly/mcp-server-abs:latest

-i is required: the server speaks MCP over stdio, so stdin and stdout are the transport. There is no port to publish and no HTTP endpoint to health-check.

The image runs as the unprivileged node user and writes its logs and dataflow cache to /data. Mount a volume there to keep the cache across restarts:

docker run -i --rm -v abs-mcp-data:/data ghcr.io/seansoreilly/mcp-server-abs:latest

Every variable in Configuration can be passed with -e; the image presets ABS_CACHE_FILE=/data/dataflows.json and ABS_LOG_DIR=/data/logs.

docker run -i --rm -e ABS_LOG_LEVEL=info -e ABS_CACHE_REFRESH_HOURS=6 \
  ghcr.io/seansoreilly/mcp-server-abs:latest

To build locally instead of pulling:

docker build -t abs-mcp-server .
./scripts/smoke-test.sh abs-mcp-server   # drives an MCP initialize over stdio

As a sidecar

Открыть полный README на GitHub

Установка

docker run -i --rm -v abs-mcp-data:/data ghcr.io/seansoreilly/mcp-server-abs:latest
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "abs": { "command": "node", "args": ["/absolute/path/to/mcp-server-abs/build/index.js"] } } }