@pipeworx/eur-lex
Connect: https://gateway.pipeworx.io/eur-lex/mcp · Install: one-click buttons
Tools: 8
The Regulations and Directives themselves, article by article, plus the judgments interpreting them.
Auth
None. Everything here is keyless.
Two halves
Legislation — compliance_index, search_legislation, get_metadata,
list_articles, get_article, get_document. Named acts resolve by alias, so
get_article({celex: "GDPR", article: "17"}) returns the right to erasure
without anyone knowing that GDPR is 32016R0679.
Case law — cjeu_search, cjeu_judgment. The Court of Justice and the
General Court.
cjeu_search({query: "data protection"})
→ 62023CJ0097 Court of Justice Judgment 2026-02-10
WhatsApp Ireland Ltd v European Data Protection Board
cjeu_judgment({case_number: "C-97/23"})
→ 87,178 characters of the Grand Chamber judgment
Caveats worth passing on
- An Official Journal notice is not a judgment.
62023CA0097is a paragraph-long summary of the ruling in62023CJ0097. Both match a title search for the same case, so notices are excluded unless you passinclude_notices: true. - A case number does not say what the court produced. “C-97/23” might be a
judgment, an order, or an Advocate General’s opinion.
cjeu_judgmenttries them in that order, and if it ends up returning something other than the judgment it setssubstituted: trueand says so — an AG’s opinion is a recommendation to the Court, not the Court’s ruling. - Old cases may have no English judgment. English became an EU language in
1973, so for a 1964 case the judgment often has no English expression even
though a later-translated AG opinion does. That is the main way
substitutedshows up in practice. - Two-digit years mean what the court means.
6/64is 1964 and97/23is 2023; a two-digit year above the current one belongs to the last century. - Search matches the title, not the full text. CJEU titles name the parties and the subject matter, which is usually enough — but a doctrine discussed only in the reasoning will not be found by title.
Related
us-code,court-listener— the US equivalents, statutes and case lawted-eu— EU public procurement notices
Data sources
- EUR-Lex CELLAR (
publications.europa.eu) — document text - EU Publications Office SPARQL endpoint — search over CELEX metadata
© European Union, 1998–2026. Reuse authorised under the Commission’s reuse policy; EUR-Lex data is not covered by the Court’s own copyright.
Tools
- compliance_index — Resolve a common EU regulation name to its CELEX id. Returns the curated map of the EU digital/compliance corpus (GDPR, NIS2, DORA, AI Act, DSA, DMA, eIDAS, Cyber Resilience Act, Data Act, …) with CEL
- search_legislation — Full-text search of EU legislation titles via the EUR-Lex SPARQL endpoint. Returns CELEX id, English title and document date. Use when the act is not in compliance_index, or to find related/amending a
- get_metadata — Fetch title, document date, legal type, in-force status hint, and EUR-Lex citation URL for one EU act by CELEX id (e.g. “32016R0679”) or alias (e.g. “GDPR”); does not download full text.
- list_articles — Table of contents for an act: every Article number and its heading. Use to discover which Article to quote before calling get_article.
- get_article — Full text of one or more Articles of an act, with a verifiable EUR-Lex citation URL for each. THE article-level grounding tool: quote GDPR Art. 17, AI Act Art. 6, etc. Accepts a single number (“17”),
- get_document — Plain-text of a whole act (recitals + enacting terms), paged. Use for short acts or to read recitals/definitions; for a specific Article prefer get_article. Returns up to max_chars from offset.
- cjeu_search — Search EU COURT JUDGMENTS — the case law of the Court of Justice (CJEU) and the General Court — by subject. Returns the case, the court, the date and the CELEX id to read it with. Use for “what has th
- cjeu_judgment — Get the FULL TEXT of an EU court judgment from its case number — “C-97/23”, “T-144/25” — or its CELEX id. Resolves the case number people actually cite into the document. Use after cjeu_search, or whe
Tools
-
cjeu_judgment— Get the FULL TEXT of an EU court judgment from its case number — C-97/23 , T-144/25 — or its CELEX id. Resolves the case number people actually cite into the document. Use after cjeu_search, or whenev -
cjeu_search— Search EU COURT JUDGMENTS — the case law of the Court of Justice (CJEU) and the General Court — by subject. Returns the case, the court, the date and the CELEX id to read it with. Use for what has the -
compliance_index— Resolve a common EU regulation name to its CELEX id. Returns the curated map of the EU digital/compliance corpus (GDPR, NIS2, DORA, AI Act, DSA, DMA, eIDAS, Cyber Resilience Act, Data Act, …) with CEL -
get_article— Full text of one or more Articles of an act, with a verifiable EUR-Lex citation URL for each. THE article-level grounding tool: quote GDPR Art. 17, AI Act Art. 6, etc. Accepts a single number ( 17 ), -
get_document— Plain-text of a whole act (recitals + enacting terms), paged. Use for short acts or to read recitals/definitions; for a specific Article prefer get_article. Returns up to max_chars from offset. -
get_metadata— Fetch title, document date, legal type, in-force status hint, and EUR-Lex citation URL for one EU act by CELEX id (e.g. 32016R0679 ) or alias (e.g. GDPR ); does not download full text. -
list_articles— Table of contents for an act: every Article number and its heading. Use to discover which Article to quote before calling get_article. -
search_legislation— Full-text search of EU legislation titles via the EUR-Lex SPARQL endpoint. Returns CELEX id, English title and document date. Use when the act is not in compliance_index, or to find related/amending a