Skip to main content


Statistik Austria MCP Server

An MCP server that gives AI assistants access to Statistik Austria's open data portal

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Data Source
  5. Contributing
  6. License
  7. Contact

About The Project

A Model Context Protocol server for the free Open Government Data portal of Statistik Austria (data.statistik.gv.at). It lets an AI assistant such as Claude search the catalog, read a dataset's structure and fetch its data directly, instead of you downloading and pasting CSV files.

The portal publishes each dataset as a set of files with coded values, so a raw table is hard for a model to read correctly. The server joins the classification files onto the data, so every value arrives as a readable German label together with its original code, and marks the rows that are totals of other rows.

Built as a personal learning project to practise building MCP servers.

Features:

  • Keyword search over the full OGD catalog (around 540 datasets)
  • Dataset metadata: dimensions and measures
  • Data with codes resolved to German labels, formatted label <code>
  • Total rows are flagged, so the assistant doesn't add a total to its own parts
  • Filters by dimension value, so large tables don't have to be read in full
  • Paging that never drops rows silently: every response says how many rows exist and where to continue
  • Clear messages for datasets in formats the server can't read, instead of a bare error
  • Downloads are cached for an hour, so paging through a dataset doesn't download it again

Built With

(back to top)

Getting Started

The server runs locally on your computer and talks to your MCP client over stdio. uvx installs and starts it, so there is nothing to clone for normal use.

Prerequisites

  • uv (it downloads a matching Python version automatically)
  • Git
  • Claude Desktop or Claude Code (or any other MCP client)

Installation

Claude Desktop

  1. Open the config file. In Claude Desktop, go to Settings → Developer → Edit Config, or open it directly:
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Add the server
    {
      "mcpServers": {
        "statistik-austria": {
          "command": "uvx",
          "args": ["--from", "git+https://github.com/DV155/Statistik-Austria-MCP-Server", "statistik-austria-mcp"]
        }
      }
    }
    
  3. Quit Claude Desktop completely and start it again.

Claude Code

claude mcp add --transport stdio --scope user statistik-austria -- uvx --from git+https://github.com/DV155/Statistik-Austria-MCP-Server statistik-austria-mcp

The first start takes a while, because uv installs the dependencies (pandas is the largest). To get that out of the way, run the uvx command above once in a terminal and stop it with Ctrl+C once it is running. If Claude can't find uvx, replace "uvx" with its full path (which uvx shows it). Claude Desktop writes the server's logs to %APPDATA%\Claude\logs on Windows and ~/Library/Logs/Claude on macOS.

Local development

  1. Clone the repo
    git clone https://github.com/DV155/Statistik-Austria-MCP-Server.git
    cd Statistik-Austria-MCP-Server
    
  2. Install the dependencies
    uv sync
    
  3. Start the server in the MCP Inspector
    uv run mcp dev src/statserver/server.py
    

(back to top)

Usage

Ask Claude a question about Austrian statistics, and it uses the tools on its own.

Tool What it does
search_dataset Searches the catalog by keyword and returns matching dataset IDs and titles
fetch_dataset_json Returns a dataset's dimensions and measures with their codes
fetch_dataset_csv Returns the data with labels, total-row flags and paging; filters keeps only the rows for given dimension values

The server also provides an ogd://catalog resource with the catalog's categories.

Tip: the catalog's titles are German, so the server searches in German. Claude translates the question itself, but asking in German works just as well.

Limitations

Tested against all 543 datasets in the catalog in October 2026:

  • 474 load fully
  • 66 are published in formats the server can't read (zip archives and map services such as WFS and WMS); the server says so instead of failing
  • 2 contain no data rows
  • 1 (OGDEXT_BINNENWAND_1) loads without labels and slowly

Other limitations:

  • Only the free OGD portal is supported, not the paid STATcube API
  • The catalog is read from the portal's HTML page, so search stops working if Statistik Austria changes that page's structure
  • The first request for a very large dataset can take several seconds while it downloads

(back to top)

Data Source

All data comes from Statistik Austria - data.statistik.gv.at, licensed under CC BY 4.0. When you publish results obtained through this server, credit Statistik Austria as the source.

This is an independent project and is not affiliated with or endorsed by Statistik Austria.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Top contributors:

contrib.rocks image

License

Distributed under the MIT license. See LICENSE for more information.

(back to top)

Contact

Daniil Vasilcovschii - LinkedIn - GitHub

Project Link: https://github.com/DV155/Statistik-Austria-MCP-Server

(back to top)

Metadata

Release files for statistik-austria-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for statistik-austria-mcp 1.0.0
File Size Uploaded Provenance Actions
statistik_austria_mcp-1.0.0.tar.gz 10.0 kB Without provenance Details for statistik_austria_mcp-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for statistik-austria-mcp 1.0.0
File Interpreter ABI Platform Actions
statistik_austria_mcp-1.0.0-py3-none-any.whl Python 3 none any Details for statistik_austria_mcp-1.0.0-py3-none-any.whl

Total release size: 21.3 kB

Release files / statistik_austria_mcp-1.0.0.tar.gz

Download URL statistik_austria_mcp-1.0.0.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
058e89f50e3ce74c95cf0c8e103af708d8f54a2754e33c237c8c63a499e8bfc5
BLAKE2b-256 checksum
How to use checksums
69051e0c07658afe9ff8f73c7686eaba21bcc2e855c41d823612dba5f99a6eaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / statistik_austria_mcp-1.0.0-py3-none-any.whl

Download URL statistik_austria_mcp-1.0.0-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e359d887399e5378db911605e9e9396cd0a64609d7eabebd047f62a94905f8f0
BLAKE2b-256 checksum
How to use checksums
a0ffddc82307eeca3f400c82f166778b3f779e9197a10dca013c77c52398e2d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for statistik-austria-mcp 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page