Hu Eli Mcp

io.github.matematicsolutionsPublished by GitHub account matematicsolutionsv0.3.3Updated Oct 24, 2026

MCP server for Hungarian legislation (Nemzeti Jogszabalytar): native ELI and verifiable citations.

Overview

AI-generated overview

A local MCP server that lets an assistant fetch Hungarian legislation from the official Nemzeti Jogszabálytár by its native ELI, with verifiable citations.

What you can do
Look up an Act or other legislation by ELI (type, year, issuer, serial) and get its metadata and citation details, including the ELI URI, a human-readable citation and a link to the official page. Retrieve the full HTML text of a resolved document. List valid document-type and issuer codes to build correct ELI references. Report what the connector covers and what it does not, with a fallback for each gap. Documents must be addressed by a known ELI; there is no free-text search.
When to use it
Useful when an assistant needs to read or cite Hungarian statutes and decrees and the exact ELI or year/serial is already known, for example to quote the Civil Code or check a decree's metadata. Not suited to exploratory keyword search of Hungarian law.
Requirements
Runs locally as a Python package (installable with uvx or pip, then started as a module). Needs network access to the official njt.jog.gov.hu site. No account, API key or authentication is required. Optional environment variables set the base URL, cache directory and audit directory.
Before you install
Read-only against public data, but every call is appended to a local audit log file. On first use it may fetch a small configuration file from the project's GitHub Releases; this can be disabled with HU_ELI_RUNTIME_URL set to an empty value. On Windows 11 with Smart App Control, unsigned launchers are blocked; the README advises running through the signed Python interpreter rather than disabling that protection.

Installation

In SourceWeft

  1. Open Hu Eli Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

hu-eli-mcp

An MCP server for Hungary's official national legislation database, the Nemzeti Jogszabalytar (NJT, njt.jog.gov.hu), maintained by MKIFK. It gives an AI agent a piece of Hungarian legislation resolved by its native ELI (European Legislation Identifier), with a verifiable citation: the ELI itself, a human-readable citation, and a link to the official source.

Part of the eu-legal-mcp line by MateMatic — one connector per EU member state, the same citation contract everywhere.

On ELI. Unlike the Netherlands and Sweden (earlier connectors in this line, neither of which publishes native ELI), Hungary has a genuine, documented national ELI implementation since 2023 (njt.jog.gov.hu/eli/urisemak). eli_uri is therefore the real /eli/ URI the tool resolved — never a substitute identifier. See DISCOVERY.md.

Tools

ToolWhat it does
hu_get_act(year, serial)Metadata for a Hungarian Act (torveny) by ELI, e.g. year 2013, serial 5 (the Civil Code). No issuer code needed.
hu_get_legislation(doc_type, year, issuer, serial)Metadata for any other legislation (decrees etc.) by ELI — type, year, issuer (case-sensitive) and serial.
hu_get_text(doc_type, year, serial, issuer=None)The full document HTML content for either an Act or other legislation.
hu_list_doc_types()Valid NJT document-type codes (e.g. TV=Act, R=decree).
hu_list_issuers()Valid NJT issuer codes (e.g. Korm=Government) — note the exact casing matters.
hu_coverage()Declare 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 citation contract:

  • eli_uri — the native ELI URI resolved, e.g. https://njt.jog.gov.hu/eli/TV/2013/5.
  • human_readable_citation — built from the parsed title + subtitle, e.g. "2013. évi V. törvény (a Polgári Törvénykönyvről)".
  • source_url — the browsable njt.jog.gov.hu/jogszabaly/... document page.

No free-text search

NJT has no REST/JSON API and its search/browse UI is a JavaScript SPA requiring a session (not usable headlessly). Documents must be addressed by a known ELI — use hu_list_doc_types / hu_list_issuers to discover valid codes, then hu_get_act / hu_get_legislation. An unresolvable ELI (wrong year/serial/issuer, or wrong issuer-code case) surfaces as not_found — NJT itself redirects it to a search-assist page rather than a 404.

Install

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/hu-eli-mcp/plugin install hu-eli-mcp@hu-eli-mcp
bash
pip install -e ".[dev]"

Register it with your MCP client (see .mcp.json.example):

json
{  "mcpServers": {    "hu-eli-mcp": {      "command": "hu-eli-mcp",      "env": {        "HU_ELI_BASE_URL": "https://njt.jog.gov.hu",        "HU_ELI_CACHE_DIR": "~/.matematic/cache/hu-eli",        "HU_ELI_AUDIT_DIR": "~/.matematic/audit"      }    }  }}

Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe and the hu-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:

bash
python -m pip install hu-eli-mcppython -m hu_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 hu_eli_mcp.

json
{ "mcpServers": { "hu-eli-mcp": { "command": "python", "args": ["-m", "hu_eli_mcp"] } } }

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

Design

  • Public data only. Read-only against the keyless, official njt.jog.gov.hu; nothing is sent beyond the ELI path being resolved. Honors robots.txt (never calls /search/*).
  • Audit log. Every call appends one JSON line to ~/.matematic/audit/hu-eli-mcp.jsonl (record-keeping).
  • 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 (hu-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. HU_ELI_RUNTIME_URL="" turns it off; the Claude plugin ships with it off. No LLM provider, no other telemetry. Own backoff + on-disk cache.
  • No fabrication. The ELI, title and citation are parsed from the resolved document page. If NJT's markup changes, the connector fails loudly rather than returning stale or invented data.

See CONSTITUTION.md (the 4 principles) and DISCOVERY.md (how the source was mapped, including the njt.hu → njt.jog.gov.hu domain discovery and the issuer-code casing gotcha).

Tests

bash
pytest tests/test_instructions_drift.py   # offlinepytest tests/test_smoke.py                 # live NJT

Licence

Apache-2.0. The Hungarian legislation served is official public data of Hungary; this connector adds no rights over it.

Source: README.md at commit b9f45e4

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts