Dutch-law-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PREMIUM_ENABLED | No | Set to 'true' to enable premium tier features (case law, preparatory works, version history). Optional. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_legislationA | Search Dutch statutes and regulations by keyword using full-text search (FTS5 with BM25 ranking). Data sourced from wetten.overheid.nl (BWB). Returns matching provisions with article text, statute title, and BWB-ID. Use document_id to narrow to a specific statute. Use as_of_date to query historical versions. Returns empty array (not error) when no results match. Use get_provision instead when you already know the exact BWB-ID and article number. |
| get_provisionA | Retrieve a specific provision (article) from a Dutch statute by BWB-ID. Returns the full article text, metadata, and source URL. If no article is specified, returns all provisions of the statute (use with care — large statutes may have 100+ articles). Examples: document_id="BWBR0005289", book="6", article="162" for Art. 6:162 BW; document_id="BWBR0001854", article="287" for Art. 287 Sr. Use search_legislation if you don't know the BWB-ID. Use get_provision_at_date if you need a historical version. |
| search_case_lawA | Search Dutch court decisions from rechtspraak.nl (202K+ decisions). Returns ECLI identifier, court, date, summary, and keywords. Supports FTS search with filters for court, legal domain, procedure type, and date range. For direct ECLI lookup, use the ecli parameter instead of query. Note: case law is only available in the professional tier — free tier returns an upgrade notice. Returns empty array when no results match. |
| search_parliamentary_proceedingsA | Search Dutch parliamentary proceedings (Tweede Kamer/Handelingen) from the ParlaMint-NL corpus. Returns floor speeches, motions, and debate transcripts with speaker metadata. Useful for understanding legislative intent, political debate context, and parliamentary questions on specific topics. Supports FTS search with date range filters. Note: this data covers Tweede Kamer speeches only, not Eerste Kamer. Professional tier only — free tier returns an upgrade notice. Returns empty array when no results match. |
| get_preparatory_worksA | Get preparatory works (kamerstukken/travaux preparatoires) for a Dutch statute. Returns parliamentary documents: memorie van toelichting (MvT), memorie van antwoord (MvA), nota naar aanleiding van het verslag, and amendments. Professional tier only — free tier returns an upgrade notice. Use when you need legislative intent or historical context for a statute. |
| validate_citationA | Validate a Dutch legal citation against the database — checks whether the referenced document and provision actually exist. Use this to verify citations before including them in legal analysis (zero-hallucination check). Supported formats: "Art. 6:162 BW", "art. 287 Sr", "ECLI:NL:HR:2019:376", "Kamerstukken II 2020/21, 35815, nr. 2". Returns validation status with details on what was/wasn't found. Use format_citation instead if you just need to format a citation string. |
| build_legal_stanceA | Build a comprehensive legal stance on a topic by aggregating statute provisions, case law, preparatory works, and cross-references into a single structured response. Best for broad legal research questions. Gracefully degrades on free tier (omits case law and preparatory works). Use search_legislation or get_provision for targeted single-source queries instead. |
| format_citationA | Format a Dutch legal citation string into standard Dutch legal citation format. Pure formatting — no database lookup, no validation. Supports full (formal), short (abbreviated), and pinpoint (with subsection) formats. Use validate_citation instead if you need to verify the citation actually exists. |
| check_currencyA | Check whether a Dutch statute or provision is currently in force (geldend recht). Returns status (in_force/repealed/not_yet_in_force), in-force date, and any warnings. Essential before relying on a provision — always check currency for legal advice. Optionally checks a specific provision and date. Also returns related case law cross-references when available. |
| get_eu_basisA | Get the EU legal basis (directives/regulations) for a Dutch statute. Returns CELEX numbers, EUR-Lex links, reference types (implements/references/supplements), and whether it is a primary implementation. Use get_provision_eu_basis for provision-level EU references. Use get_dutch_implementations for the reverse lookup (EU act → Dutch laws). |
| get_dutch_implementationsA | Reverse EU lookup: find which Dutch statutes implement a given EU directive or regulation. Returns BWB-IDs, statute titles, and implementation status. Use get_eu_basis for the forward lookup (Dutch law → EU basis). The eu_document_id format is "directive:YYYY/NNN" or "regulation:YYYY/NNN" (e.g. "directive:2016/679" for GDPR). |
| search_eu_implementationsA | Search EU directives and regulations in the database (1,008 documents). Returns EU document metadata with Dutch implementation counts. Filter by type (directive/regulation), year range, community (EU/EG/EEG), and whether a Dutch implementation exists. Use when browsing EU instruments rather than looking up a specific one. |
| get_provision_eu_basisA | Get EU references for a specific provision (article) in a Dutch statute. Shows which EU directive/regulation articles are referenced or implemented by that Dutch provision. More granular than get_eu_basis (which works at statute level). Returns empty results if no EU references exist for that provision. |
| validate_eu_complianceA | Validate EU compliance for a Dutch statute. Checks for missing, partial, or outdated implementations of EU directives/regulations. Returns compliance issues with severity levels (high/medium/low) and recommendations in Dutch. Optionally narrow to a specific provision or EU document. Use get_eu_basis first to see what EU instruments apply. |
| get_provision_at_dateA | Retrieve a provision as it was at a specific historical date. Uses version history to return the text valid at that date. Essential for analyzing past legal situations or tracking how a provision changed over time. Set include_amendments=true to see the full amendment chain. Returns not_found if no version exists for that date. Use get_provision for the current version instead. |
| list_sourcesA | List the authoritative data sources backing this server. Returns provenance metadata for each source (wetten.overheid.nl, rechtspraak.nl, EUR-Lex) including coverage, licensing, freshness, and update frequency. Use this tool to verify data origin and understand what data is available. Set include_stats=true to get row counts per table. |
| aboutA | Return server identity, version, data sources, and runtime capabilities. Use this tool to discover what tier and capabilities are available (free vs professional), which data sources are bundled, and the server version. Equivalent to reading the MCP resource |
| check_data_freshnessA | Check the freshness (age) of each data source in the bundled database. Returns last-updated timestamps and a fresh/stale/unknown status per source (statutes, case_law, eu_references). Use this before relying on legal data for time-sensitive analysis. Staleness thresholds: statutes 30 days, case_law 14 days, eu_references 90 days. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Dutch Legal Database Metadata | Metadata about the Dutch legal database including data sources, coverage, and freshness. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ansvar-Systems/Dutch-law-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server