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

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.4
File Size Uploaded
be_eli_mcp-0.2.4.tar.gz 52.5 kB Details

Built distribution (wheel)

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

Total release size: 76.4 kB

Release files / be_eli_mcp-0.2.4.tar.gz

Download URL be_eli_mcp-0.2.4.tar.gz
Size 52.5 kB
Tags Source
SHA-256 checksum
How to use checksums
596fc66e5d2861376ac11dacf0d4284f4ca73dc56a247607289e29f2cfe2b7d5
BLAKE2b-256 checksum
How to use checksums
32dc65c061fc92367e0268f53d39c30707269f97058ab463b16b048f0a460071
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.4-py3-none-any.whl

Download URL be_eli_mcp-0.2.4-py3-none-any.whl
Size 23.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
227526edc245ff9aee83c84bc1060c4af05860378ca03bc175a975e1c1310a2f
BLAKE2b-256 checksum
How to use checksums
94fea12ad907691688b240b41042213cb32ad05486498c80f416f370c67807db
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

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

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