{
  "markdown": "# be-eli-mcp\n\n<!-- mcp-name: io.github.matematicsolutions/be-eli-mcp -->\n\nAn MCP server for **Belgian legislation** via [Moniteur Belge / Belgisch Staatsblad]\n(https://www.ejustice.just.fgov.be), the official gazette of the Belgian Federal Public Service\nJustice. It fetches act metadata and full text by ELI coordinates, with verifiable citations.\nPart of the **eu-legal-mcp** line of national legal connectors by [MateMatic](https://matematic.co).\n\nBelgian legislation is addressed by ELI coordinates - `type` / `year` / `month` / `day` / `numac`\n(the Belgian legislative numbering system) - at\n`https://www.ejustice.just.fgov.be/eli/{type}/{yyyy}/{mm}/{dd}/{numac}/justel`. Every response\ncarries a native `eli_uri`, a `human_readable_citation` and a `source_url`.\n\n> **Read-only.** The server only queries ejustice.just.fgov.be and writes a local audit log. It\n> never modifies official text.\n\n> **Belgium is trilingual** (French / Dutch / German). `human_readable_citation` defaults to the\n> French form by LDH convention; use `be_get_text(language=...)` for Dutch (Belgisch Staatsblad)\n> or German. See CONSTITUTION.md Art. 4 for the full caveat.\n\n## Tools\n\n| Tool | What it does |\n| --- | --- |\n| `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. |\n| `be_get_text(doc_type, year, month, day, numac, language=\"fr\")` | The verbatim consolidated text (\"Texte\"/\"Tekst\" section) in `fr` (default), `nl` or `de`. |\n| `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. |\n| `be_coverage()` | Declare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback. |\n\nThere is **no free-text search**: ejustice.just.fgov.be exposes no keyword-search API. Discover\nacts by ELI coordinates (from a citation you already hold) or by browsing `be_list_year`.\n\n## Configuration\n\nejustice.just.fgov.be is keyless. Configuration is optional:\n\n| Variable | Meaning |\n| --- | --- |\n| `BE_ELI_BASE_URL` | ejustice host (default `https://www.ejustice.just.fgov.be`). |\n| `BE_ELI_CACHE_DIR` | Disk cache dir (default `~/.matematic/cache/be-eli`). |\n| `BE_ELI_AUDIT_DIR` | Audit log dir (default `~/.matematic/audit`). |\n\nCopy `.mcp.json.example` to your MCP client config.\n\n## Install\n\n```bash\npy -3.13 -m venv .venv\n.\\.venv\\Scripts\\python.exe -m pip install -e \".[dev]\"   # Windows\n# or: python -m pip install -e \".[dev]\"                  # POSIX\n```\n\n\n### Windows 11 with Smart App Control\n\nSmart App Control blocks unsigned executables, which covers `uvx.exe`, `pip.exe`\nand the `be-eli-mcp.exe` launcher that pip writes at install time. The `python.exe` and\n`py.exe` from the python.org installer are signed by the Python Software\nFoundation, so running the module through the interpreter works:\n\n```bash\npython -m pip install be-eli-mcp\npython -m be_eli_mcp\n```\n\n`pip.exe` is blocked for the same reason, so install with `python -m pip`, not\n`pip install`. If `python` is not on PATH, use the Windows launcher: `py -3 -m be_eli_mcp`.\n\n```json\n{ \"mcpServers\": { \"be-eli-mcp\": { \"command\": \"python\", \"args\": [\"-m\", \"be_eli_mcp\"] } } }\n```\n\nDo not turn Smart App Control off to work around this - it cannot be re-enabled\nwithout reinstalling Windows.\n\n## Tests\n\n```bash\npytest tests/test_instructions_drift.py tests/test_parse.py   # offline\npytest tests/test_smoke.py -v                                 # live, hits ejustice.just.fgov.be\n```\n\n## Licence\n\nApache-2.0. Moniteur Belge / Belgisch Staatsblad content is © the Belgian federal state; this\nsoftware only retrieves and cites it. See CONSTITUTION.md Art. 1 for a note on the licence status\nof the source data (widely described as CC0 by third-party catalogs; not independently\nre-verified against ejustice.just.fgov.be's own terms page in this project).\n",
  "bytes": 4191,
  "sha": "b9082641a2212ed0ceb92d2e3653a8d802f21f9455c0ed1cf8c919d6d079350f",
  "repo_slug": "matematicsolutions/be-eli-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_matematicsolutions_be_eli_mcp_0bdc85b7/readme"
}