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.
be_coverage() Declare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback.

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).

Metadata

Release files for be-eli-mcp 0.2.1

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

Source distribution (sdist)

Source distribution for be-eli-mcp 0.2.1
File Size Uploaded
be_eli_mcp-0.2.1.tar.gz 51.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for be-eli-mcp 0.2.1
File Interpreter ABI Platform
be_eli_mcp-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 75.1 kB

Release files / be_eli_mcp-0.2.1.tar.gz

Download URL be_eli_mcp-0.2.1.tar.gz
Size 51.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4436cfdc48873cf34d0da0a0431147d717a90bfdc19b0fc906d6a21a7dfc09ff
BLAKE2b-256 checksum
How to use checksums
a7ee4ce67a6fc8bdf195e9ace2550a91846f04b211cea64a2e42d5f2a1c0bf8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / be_eli_mcp-0.2.1-py3-none-any.whl

Download URL be_eli_mcp-0.2.1-py3-none-any.whl
Size 23.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fa0148a3a95786115192942107100bbfb2147b208b696538274a5586276eddc5
BLAKE2b-256 checksum
How to use checksums
b95fd398ab1ee2f4e0b98a7dae4c563a317020c58375584aa10395d441642999
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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