mcpField
A
at-eli-mcp

at-eli-mcp

Local
github.com/matematicsolutionsLegal & Government0Updated 3w ago

About at-eli-mcp

at-eli-mcp is an MCP server for searching and retrieving Austrian federal legislation and case law from the official RIS. It provides stable ELI identifiers, native ECLI identifiers for decisions, and human-readable citations.

Key features

  1. 01Search Austrian federal law
  2. 02Retrieve full act text as HTML or XML
  3. 03Search case law by court
  4. 04Retrieve full decision text
  5. 05List exposed RIS collections and coverage
  6. 06Return source URLs and verifiable citations

Use cases

  1. 01Find Austrian federal legislation by title or text
  2. 02Retrieve a statute's full text for review
  3. 03Search decisions from a selected court
  4. 04Verify a legal citation against RIS

MCP support

Exposes RIS search, text retrieval, collection, and coverage tools to MCP clients. Responses include identifiers, citations, and source URLs.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"matematicsolutions-at-eli": {
"command": "uvx",
"args": [
"at-eli-mcp"
]
}
}
}
Run commanduvx at-eli-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiat-eli-mcp0.4.3

Tools

6

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
queryobjectYes``SearchQuery`` - suchworte, titel, page_size (Ten/Twenty/Fifty/OneHundred), page_number.
query.titelanyNo
query.page_sizeenumNoTen | Twenty | Fifty | OneHundred
query.suchworteanyNo
query.page_numberintegerNo

Details

From the project README

at-eli-mcp

Install (one command)

As a Claude plugin (Claude Code or the desktop app, needs uv); see plugin/README.md for what it sends and stores:

/plugin marketplace add matematicsolutions/at-eli-mcp
/plugin install at-eli-mcp@at-eli-mcp

Published on PyPI + MCP Registry (io.github.matematicsolutions/at-eli-mcp). Run without cloning:

uvx at-eli-mcp

Configure your MCP client (stdio):

{ "mcpServers": { "at-eli-mcp": { "command": "uvx", "args": ["at-eli-mcp"] } } }
Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe and the at-eli-mcp.exe launcher that pip writes at install time. The python.exe and py.exe from the python.org installer are signed by the Python Software Foundation, so running the module through the interpreter works:

python -m pip install at-eli-mcp
python -m at_eli_mcp

pip.exe is blocked for the same reason, so install with python -m pip, not pip install. If python is not on PATH, use the Windows launcher: py -3 -m at_eli_mcp.

{ "mcpServers": { "at-eli-mcp": { "command": "python", "args": ["-m", "at_eli_mcp"] } } }

Do not turn Smart App Control off to work around this - it cannot be re-enabled without reinstalling Windows.

Building from source: see Install.

An MCP server for RIS (data.bka.gv.at), Austria's official legal information system (Rechtsinformationssystem des Bundes, operated by the Bundeskanzleramt). It searches and retrieves Austrian federal legislation (Bundesrecht) and case law (Judikatur) with verifiable ELI identifiers, native ECLI for decisions, and Austrian citations.

Part of the MateMatic eu-legal-mcp production line - the Austrian member, after the Polish sejm-eli-mcp and the German de-eli-mcp. Same architecture and citation contract, RIS source.

Scope. Covers Austrian federal law (Bundesrecht) and case law (Judikatur, with a native ECLI). State law (Landesrecht) is a later feature. Every response carries a dataset_note.

Licence. Austrian Bundesgesetzblatt content and statutes are official works in the public domain; RIS is published as Open Government Data (keyless). This connector relays that public content with attribution and a source_url.

The tools

ToolWhat it does
at_searchSearch federal law (GET /Bundesrecht) by free text and/or title.
at_get_textFetch an act's full text (html or xml) from a hit's content URL.
at_case_searchSearch case law (GET /Judikatur) by free text, choosing a court (applikation). Hits carry a native ecli.
at_get_case_textFetch a decision's full text from a case hit's content URL.
at_list_collectionsList the RIS collections and which are exposed.
at_coverageDeclare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback.

Every response carries the contract: eli_uri (a full ELI URL, e.g. https://www.ris.bka.gv.at/eli/bgbl/I/2026/6/20260218), human_readable_citation (e.g. Datenschutzgesetz, BGBl. I Nr. 165/1999), and source_url.

Install

cd at-eli-mcp
pip install -e .

Configure (Claude Code / any MCP client)

{
  "mcpServers": {
    "at-eli-mcp": { "command": "at-eli-mcp" }
  }
}

Environment:

  • AT_ELI_BASE_URL - default https://data.bka.gv.at/ris/api/v2.6
  • AT_ELI_CACHE_DIR - default ~/.matematic/cache/at-eli
  • AT_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. RIS is keyless Open Government Data.

Governance

  • Public data only - read-only against RIS; no client data leaves the machine beyond search parameters.
  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/at-eli-mcp.jsonl.
  • Network - the server talks to the official source(s) named above and the local filesystem. Once, on first use, it also fetches a small configuration file (at-runtime.json.gz, updated source addresses) from this repository's GitHub Releases. That request carries no query content; GitHub's download counter for the file is the only usage signal we see. AT_ELI_RUNTIME_URL="" turns it off; the Claude plugin ships with it off. No LLM provider, no other telemetry.
  • Host-restricted text - full text is fetched only from ris.bka.gv.at.

See CONSTITUTION.md and DISCOVERY.md.

Tests

pip install -e ".[dev]"
pytest tests/test_instructions_drift.py -v   # offline
pytest tests/test_smoke.py -v                # hits live RIS

Licence

Apache-2.0. © Matematic Solutions / Wieslaw Mazur.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.