@pipeworx/hudoc
Connect: https://gateway.pipeworx.io/hudoc/mcp · Install: one-click buttons
Tools: 2
European Court of Human Rights (ECHR / Strasbourg) case law — 231,000+ judgments, decisions, advisory opinions, resolutions and communicated cases across the 46 Council of Europe states, served live from the Court’s own HUDOC database.
Tools
echr_search(query?, article?, respondent?, collection?, importance?, date_from?, date_to?, limit?)— search case law by free text, Convention Article, respondent state and/or date. Returns case name, application number(s), Article(s), conclusion (violation/no violation) and the itemid to read the full text with.echr_judgment(itemid, max_chars?, offset?)— full text of one document by its HUDOC itemid, paged.
Auth
Keyless. No registration, no API key.
Data sources
- https://hudoc.echr.coe.int/app/query/results — the search API HUDOC’s own web UI calls. Query syntax is a Lucene-ish field grammar (
contentsitename=ECHR AND (documentcollectionid2:JUDGMENTS) AND article=8 AND respondent=FRA AND kpdate>=2024-01-01 AND "surveillance"). Free text is a bare double-quoted phrase with no field name — a field-qualified phrase likeconclusion="freedom of expression"silently returns zero results. - https://hudoc.echr.coe.int/app/conversion/docx/html/body?library=ECHR&id=… — the document body, converted from the Court’s stored DOCX to HTML. This is NOT the
/eng?i=...page URL: that URL is a static Angular SPA shell — same ~15.7KB byte-for-byte regardless of itemid, including nonexistent ones — and never contains the judgment text. The conversion endpoint is what the SPA itself calls client-side to render the document. - Very recently published documents (seen: within ~2-4 days) can 204 on the conversion endpoint — the HTML conversion lags the search index.
echr_judgmentreports this explicitly (found: false, reason: "not_yet_converted") rather than returning empty text silently;echr_search’sconclusionfield is populated immediately regardless. - French-language-only documents (
doctypestartingHF) frequently 204 on the same endpoint even when old;echr_searchdefaults tolanguageisocode=ENGand excludesdoctype=PR(press-release stubs, which otherwise leak into every collection filter) to route around both traps. respondenttakes an ISO3166-1 alpha-3 code (FRA,GBR, …); the tool also accepts common country names via a small lookup table covering all 46 member states plus Russia (expelled 2022, but its pre-expulsion case law is still in HUDOC and still gets asked about).
Tools
- echr_search — Search European Court of Human Rights (ECHR / Strasbourg) case law by free text, Convention Article, respondent state and/or date. Returns case name, application number(s), Article(s) engaged, the con
- echr_judgment — Fetch the full text of one ECHR document by its itemid (from echr_search, e.g. “001-249132”). Returns the judgment/decision body converted to plain text, paged. Very recently published items (within a
Tools
-
echr_judgment— Fetch the full text of one ECHR document by its itemid (from echr_search, e.g. 001-249132 ). Returns the judgment/decision body converted to plain text, paged. Very recently published items (within a -
echr_search— Search European Court of Human Rights (ECHR / Strasbourg) case law by free text, Convention Article, respondent state and/or date. Returns case name, application number(s), Article(s) engaged, the con