
# rechtspraak-mcp
[](https://www.npmjs.com/package/rechtspraak-mcp)
[](https://github.com/Prudai/rechtspraak-mcp/actions/workflows/ci.yml)
[](./LICENSE)
A [Model Context Protocol](https://modelcontextprotocol.io) server for **Dutch case law** (jurisprudentie / uitspraken). It wraps the official **[Open Data van de Rechtspraak](https://www.rechtspraak.nl/Uitspraken/Paginas/Open-Data.aspx)** API and the **[LiDO](https://linkeddata.overheid.nl/)** 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.
```bash
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. |
## Search
`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`):
```json
{
"mcpServers": {
"rechtspraak": {
"command": "npx",
"args": ["-y", "rechtspraak-mcp"]
}
}
}
```
```bash
claude mcp add rechtspraak -- npx -y rechtspraak-mcp
```
## Citations & source links
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](https://prudai.com) 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%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
```bash
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](https://prudai.com).