matematicsolutions

nl-eli-mcp

Community matematicsolutions
Updated

MCP server for Dutch consolidated legislation (BWB) via the official KOOP SRU API - acts in force on a date, with persistent identifiers and verifiable citations. Sixth EU connector in the eu-legal-mcp line.

nl-eli-mcp

Instalacja (jedna komenda)

Opublikowany na PyPI + MCP Registry (io.github.matematicsolutions/nl-eli-mcp). Uruchomienie bez klonowania:

uvx nl-eli-mcp

Konfiguracja klienta MCP (stdio):

{ "mcpServers": { "nl-eli-mcp": { "command": "uvx", "args": ["nl-eli-mcp"] } } }

(Budowanie ze źródeł — niżej.)

An MCP server for the Dutch consolidated legislation BWB (Basiswettenbestand), served byKOOP over the official SRU API (zoekservice.overheid.nl, keyless). It gives an AI agent theversion of an act in force on a given date, with a verifiable citation: a persistentidentifier, a human-readable citation, and a link to the official source.

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

On ELI. The Netherlands does not publish native ELI (/eli/) URIs on consolidatedBWB. To keep the line's contract honest, eli_uri carries the official persistentidentifier instead — the wetten.overheid.nl/id toestand URI(e.g. http://wetten.overheid.nl/id/BWBR0005537/2026-06-04/0). The connector neverfabricates an /eli/ URI and says so in its tool instructions. See DISCOVERY.md.

Tools

Tool What it does
nl_search(query, on_date=today) Find acts by words in the title that are in force on a date. Returns distinct acts, each with the citation contract.
nl_get_act(bwb_id, on_date=today) Metadata for one act (e.g. BWBR0005537) — identifier, title, authority, version date.
nl_get_text(bwb_id, on_date=today) The full consolidated XML (BWB toestand) of one act.
nl_case_search(date_from, date_to, ...) List court decisions (Rechtspraak Open Data) by date range / court / subject. No free-text; each hit carries a native ecli.
nl_get_decision(ecli) A court decision by its ECLI (e.g. ECLI:NL:HR:2020:1) — court, dates, zaaknummer and full text.

Legislation comes from the BWB (KOOP SRU); case law comes from Rechtspraak Open Data(data.rechtspraak.nl), keyed by native ECLI. Every response carries the citation contract:

  • eli_uri — the official persistent identifier (toestand URI; see the ELI note above).
  • human_readable_citation — the official short title (citeertitel), e.g. Algemene wet bestuursrecht.
  • source_url — the browsable wetten.overheid.nl page for that version.

Versions and dates

Each act has many time-stamped versions. The tools default to the version in force today;pass on_date (YYYY-MM-DD) to pin a historical or future version. An act with no versionvalid on that date returns not_found — retry with another on_date.

Install

pip install -e ".[dev]"

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

{
  "mcpServers": {
    "nl-eli-mcp": {
      "command": "nl-eli-mcp",
      "env": {
        "NL_ELI_BASE_URL": "https://zoekservice.overheid.nl/sru/Search",
        "NL_ELI_CACHE_DIR": "~/.matematic/cache/nl-eli",
        "NL_ELI_AUDIT_DIR": "~/.matematic/audit"
      }
    }
  }
}

Design

  • Public data only. Read-only against the keyless KOOP SRU API and the official repositoryhost; nothing is sent beyond the query / identifier and the date.
  • Audit log. Every call appends one JSON line to ~/.matematic/audit/nl-eli-mcp.jsonl(AI Act art. 12 record-keeping).
  • Vendor-neutral. No LLM provider, no telemetry; own backoff + on-disk cache.
  • No fabrication. Identifiers and titles are parsed from the source record. If KOOP'sschema 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).

Tests

pytest tests/test_instructions_drift.py tests/test_parse.py   # offline
pytest tests/test_smoke.py                                     # live KOOP API

Licence

Apache-2.0. The Dutch legislation served is official public data of the Kingdom of theNetherlands; this connector adds no rights over it.

MCP Server · Populars

MCP Server · New

    PascaleBeier

    HitKeep

    HitKeep is privacy-first analytics for humans and AI agents, self-hosted or in managed EU/US cloud regions.

    Community PascaleBeier
    prometheus

    prometheus-mcp

    MCP server for LLMs to interact with Prometheus

    Community prometheus
    TencentEdgeOne

    edgeone-makers-mcp

    An MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.

    Community TencentEdgeOne
    bonfire-systems

    reaper-mcp

    A comprehensive Model Context Protocol (MCP) server that enables AI agents to create fully mixed and mastered tracks in REAPER with both MIDI and audio capabilities.

    Community bonfire-systems
    Wanyi424

    wanyi-watermark

    抖音、小红书等平台去水印,视频解析工具,支持MCP服务

    Community Wanyi424