Skip to main content
Glama

rechtspraak-mcp

npm CI license

A Model Context Protocol server for Dutch case law (jurisprudentie / uitspraken). It wraps the official Open Data van de Rechtspraak API and the LiDO citation graph, so any MCP-capable agent (Claude, Cursor, …) can search rulings, fetch full text by ECLI, and explore how decisions cite each other.

No API key required.

npx rechtspraak-mcp

Tools

Tool

What it does

search_uitspraken

Search case law (faceted by default; full-text behind a flag). Returns ECLIs + links.

search_uitspraken_bulk

Run 3–10 searches at once.

get_uitspraak

Fetch full text + metadata + relations of one decision by ECLI.

get_uitspraken_bulk

Fetch up to 10 decisions by ECLI in one call.

list_waardelijsten

List value lists (instanties, rechtsgebieden, proceduresoorten, …) to build valid filters.

lido_related

LiDO citation graph around an ECLI: what cites it, what it cites, statute references.

Related MCP server: rechtssysteem-mcp

search_uitspraken is a faceted search over the official Open Data feed — filter by date, court (instantie), legal area (rechtsgebied) and document type. It does not do free-text keyword matching; pass an ECLI to query for a direct lookup, or use the facet filters. get_uitspraak fetches the full text and metadata from the documented Open Data content endpoint.

Install in an MCP client

Claude Code (or any client reading claude_desktop_config.json / .mcp.json):

{
  "mcpServers": {
    "rechtspraak": {
      "command": "npx",
      "args": ["-y", "rechtspraak-mcp"]
    }
  }
}
claude mcp add rechtspraak -- npx -y rechtspraak-mcp

Every result carries links for its ECLI:

  • links.deeplink — the citation-stable deeplink.rechtspraak.nl URL,

  • links.rechtspraak — the human detail page,

  • links.prudai — a PrudAI viewer for the ruling.

When an agent quotes a passage, the tools instruct it to render the citation as a Markdown source link anchored on the exact excerpt:

[Zie bron](https://prudai.com/uitspraak/ECLI:NL:HR:2023:1234?quote=%22<verbatim quote>%22)

Configuration

Env var

Default

Description

RECHTSPRAAK_HTTP_TIMEOUT_MS

30000

Upstream request timeout.

RECHTSPRAAK_BULK_CONCURRENCY

4

Concurrency for bulk tools.

PRUDAI_BASE_URL

https://prudai.com

Base URL for the viewer deeplinks.

RECHTSPRAAK_USER_AGENT

rechtspraak-mcp/…

User-Agent sent upstream.

LIDO_REST_ENDPOINT

KOOP default

Override the LiDO service endpoint.

RECHTSPRAAK_DEBUG

0

1 logs upstream requests to stderr.

Development

bun install
bun run typecheck
bun test
bun run build      # → dist/ (Node-runnable, shebang bundle)
bun src/index.ts   # run from source

Data sources & disclaimer

Case-law data is © Rechtspraak and published as Open Data via data.rechtspraak.nl; citation-graph data comes from KOOP's LiDO service (linkeddata.overheid.nl). This project is an independent open-source client and is not affiliated with or endorsed by de Rechtspraak or KOOP. Always verify against the authoritative source before relying on a result.

License

MIT © PrudAI. Maintained by PrudAI.

Available Tools

6 tools
get_uitspraakget_uitspraakA

Fetch the full text and metadata of a single Dutch court decision by ECLI, from the official Open Data API (data.rechtspraak.nl). Returns metadata (court, date, rechtsgebied, zaaknummer), the plain-text body, formal relations (conclusie/cassatie/etc.), and links to the ruling on rechtspraak.nl plus a PrudAI viewer. If the ECLI is not published or has no body text, the tool says so — do not invent or cite it in that case.

Inputs: id, ecli, metadataOnly.

get_uitspraken_bulkget_uitspraken_bulkA

Fetch multiple Dutch court decisions by ECLI in one call (1–10 ECLIs) from the official Open Data API. Returns a per-ECLI result with the body text, metadata, relations, and links — or an error for any ECLI that is unpublished or not found.

Inputs: eclis (required), metadataOnly.

list_waardelijstenlist_waardelijstenA

List the Rechtspraak value lists (waardelijsten) used to build valid search filters: instanties, instanties_buitenlands, rechtsgebieden, proceduresoorten, niet_nederlandse_uitspraken. 'rechtsgebieden' and 'instanties' return the identifiers/URIs you pass to search_uitspraken (rechtsgebied / instanties). Call without a name to see the available lists.

Inputs: name.

search_uitsprakensearch_uitsprakenA

Search Dutch case law (jurisprudentie/uitspraken) via the official Open Data API and get back ECLIs with links to the ruling and a PrudAI viewer. This is a faceted search: filter by rechtsgebied, instantie, date range and document type. It does not do free-text keyword matching. If you already have an ECLI, pass it as query and the tool returns that single decision's summary. Use list_waardelijsten to discover valid rechtsgebied/instantie identifiers.

Inputs: max, from, sort, type, +5 more.

search_uitspraken_bulksearch_uitspraken_bulkA

Run several Open Data lookups at once (3–10 entries). Pass ECLIs to resolve a batch of decisions' summaries in one call. Note: Open Data has no free-text matching, so non-ECLI terms fall back to facet-only results — prefer get_uitspraken_bulk when you already have the ECLIs. Use to cast a broad net before narrowing down via get_uitspraak.

Inputs: terms (required), from, pageSize.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: search returns summaries with facets, get returns full text by ECLI, bulk variants handle multiple ECLIs, list_waardelijsten provides filter vocabulary, and lido_related maps citations. Even the overlap between search_uitspraken and get_uitspraak when given an ECLI is unambiguous because one returns a summary and the other full text.

    Naming Consistency4/5

    The set predominantly follows a consistent verb_noun pattern (search_*, get_*, list_*) with a uniform _bulk suffix for batch operations. The sole deviation is 'lido_related', which uses a noun-adjective form instead of a verb, but it is still clear and does not disrupt overall predictability.

    Tool Count5/5

    Six tools is well-scoped for a case law search and retrieval server. Each tool serves a distinct aspect: searching, fetching, bulk operations, value lists, and citation analysis, with no redundancy or glaring omissions.

    Completeness4/5

    The server covers the core workflow: discover filter values, search for summaries, retrieve full texts, bulk-fetch multiple decisions, and explore citations. Minor gaps like lack of search by case number or free-text search are noted, but the official API does not support these, so the surface is appropriate.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables searching and retrieving full-text UK court judgments and tribunal decisions from The National Archives' Find Case Law service by subject, party, judge, or neutral citation.
      304 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables searching and reading full texts of anonymised Czech court decisions from the Ministry of Justice public database, with filters by court, legal keywords, statutory provision, judge and dates, plus lookup by case number or ECLI and browsing by publication date. Decisions can be exported as DOCX/TXT and cached locally in SQLite with diacritic-insensitive full-text search.
      11
      MIT