Skip to main content

be-eli-mcp

An MCP server for Belgian legislation via [Moniteur Belge / Belgisch Staatsblad] (https://www.ejustice.just.fgov.be), the official gazette of the Belgian Federal Public Service Justice. It fetches act metadata and full text by ELI coordinates, with verifiable citations. Part of the eu-legal-mcp line of national legal connectors by MateMatic.

Belgian legislation is addressed by ELI coordinates - type / year / month / day / numac (the Belgian legislative numbering system) - at https://www.ejustice.just.fgov.be/eli/{type}/{yyyy}/{mm}/{dd}/{numac}/justel. Every response carries a native eli_uri, a human_readable_citation and a source_url.

Read-only. The server only queries ejustice.just.fgov.be and writes a local audit log. It never modifies official text.

Belgium is trilingual (French / Dutch / German). human_readable_citation defaults to the French form by LDH convention; use be_get_text(language=...) for Dutch (Belgisch Staatsblad) or German. See CONSTITUTION.md Art. 4 for the full caveat.

Tools

Tool What it does
be_get_act(doc_type, year, month, day, numac) Metadata for an act by its ELI coordinates. doc_type is one of loi, decret, ordonnance, arrete, constitution. Returns the native eli_uri, title, source authority, publication date, entry-into-force date, table of contents, and the citation contract.
be_get_text(doc_type, year, month, day, numac, language="fr") The verbatim consolidated text ("Texte"/"Tekst" section) in fr (default), nl or de.
be_list_year(doc_type, year) Browse a year's listing for one doc_type, to discover NUMAC coordinates. Titles in this listing are best-effort (may be None); call be_get_act for the authoritative title.

There is no free-text search: ejustice.just.fgov.be exposes no keyword-search API. Discover acts by ELI coordinates (from a citation you already hold) or by browsing be_list_year.

Configuration

ejustice.just.fgov.be is keyless. Configuration is optional:

Variable Meaning
BE_ELI_BASE_URL ejustice host (default https://www.ejustice.just.fgov.be).
BE_ELI_CACHE_DIR Disk cache dir (default ~/.matematic/cache/be-eli).
BE_ELI_AUDIT_DIR Audit log dir (default ~/.matematic/audit).

Copy .mcp.json.example to your MCP client config.

Install

py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"   # Windows
# or: python -m pip install -e ".[dev]"                  # POSIX

Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe and the be-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 be-eli-mcp
python -m be_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 be_eli_mcp.

{ "mcpServers": { "be-eli-mcp": { "command": "python", "args": ["-m", "be_eli_mcp"] } } }

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

Tests

pytest tests/test_instructions_drift.py tests/test_parse.py   # offline
pytest tests/test_smoke.py -v                                 # live, hits ejustice.just.fgov.be

Licence

Apache-2.0. Moniteur Belge / Belgisch Staatsblad content is © the Belgian federal state; this software only retrieves and cites it. See CONSTITUTION.md Art. 1 for a note on the licence status of the source data (widely described as CC0 by third-party catalogs; not independently re-verified against ejustice.just.fgov.be's own terms page in this project).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

be_eli_mcp-0.1.2.tar.gz (49.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

be_eli_mcp-0.1.2-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file be_eli_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: be_eli_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 49.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for be_eli_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7ae8eef858af10f39ba1fb223fad157481af394867f6f192d83497dc8c342d84
MD5 2bcf6d4b482ebc32644323211fb130c4
BLAKE2b-256 a94b25eaa94ba29e6902530ea5e99d398f899b3db5791d56725cb5db200687e6

See more details on using hashes here.

File details

Details for the file be_eli_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: be_eli_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for be_eli_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 109132841ea14f2cb4800976541e9c9d37d34df0580097779b07d44a708fdfc8
MD5 a29f587701efdfdf0eb60c8094d90c74
BLAKE2b-256 1701afe68908530c9a8c38469547723dc1503937d6df218e89e4d35d5aa73668

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page