Reported issues for eur-lex-mcp-server
Pod holds 10 of 10 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to eur-lex-mcp-server.
Most discussed
bug(cellar-sparql): a timed-out query is retried four times, so a call runs far past its timeout bound
Server version
0.11.0
mcp-ts-core version
^0.12.8
Runtime
Node via built dist/index.js
Runtime version
Node >=24
Transport
Streamable HTTP
Description
CellarSparqlService.execute bounds each HTTP attempt with AbortSignal.timeout(effectiveTimeoutMs) but wraps the attempt in withRetry, and a client-side abort is not classified as non-retryable. Only HTTP 400 and Virtuoso syntax errors carry retryable: false; a timeout falls through to the default…
Read the thread · 2026-09-10 · closed · 2 comments
bug(search): reject impossible and inverted date ranges
Server version
0.9.10
mcp-ts-core version
^0.12.3
Runtime
Bun
Runtime version
Bun 1.4.0
Transport
HTTP (Streamable HTTP)
OS
macOS 26.1 arm64
Description
The date_from/date_to filters on eurlex_search_documents and eurlex_get_cases validate only the YYYY-MM-DD string shape (z.string().regex(/^\d{4}-\d{2}-\d{2}$/), declared identically in both tools). Neither tool checks that the value is a real calendar date, and neither checks that `date_from…
Read the thread · 2026-08-31 · closed · 2 comments
bug(eurlex_get_relations): filter cross-act consolidations on the work-URI path
Server version
0.10.0
mcp-ts-core version
^0.12.3
Runtime
Bun
Runtime version
Bun 1.4.0
Transport
HTTP (Streamable HTTP)
OS
macOS 26.1 arm64
Description
eurlex_get_relations returns different consolidated_version results for the same CELLAR work depending on whether it is addressed by CELEX or work_uri. The CELEX path filters cross-act consolidations using the source act core, while the first-class work_uri path passes no source CELEX to the…
Read the thread · 2026-08-31 · closed · 2 comments
feat(eurlex_browse_subjects): match EuroVoc alternative labels, not prefLabel alone
Server version
0.9.8
mcp-ts-core version
0.10.14
Runtime
Bun
Runtime version
Bun 1.3.x
Transport
HTTP (Streamable HTTP)
Description
eurlex_browse_subjects matches the keyword against skos:prefLabel only (eurlex-browse-subjects.tool.ts, the ?concept skos:prefLabel ?label + CONTAINS(LCASE(STR(?label)), …) pattern). EuroVoc's non-preferred terms — the exact phrases people actually type — are carried as SKOS alternative labels and are never searched, so…
Read the thread · 2026-08-21 · closed · 2 comments
feat(eurlex_get_document): validate the CELEX shape before the CELLAR roundtrip
Use case
A CELEX identifier that can never be valid ("0", a stray word, a whitespace fragment) passed to eurlex_get_document, eurlex_get_relations, or the eurlex://document/{celexNumber} resources currently pays a live CELLAR SPARQL round-trip (measured 3.7 to 4.6 s) only to get a generic not_found whose recovery hint sends the caller to eurlex_lookup_celex. Rejecting the shape before the round-trip saves the latency and gives immediate, specific guidance.
Proposal…
Read the thread · 2026-08-21 · closed · 2 comments
feat(eurlex_get_document): eurovoc_subjects and legal_basis are opaque URIs with no resolution path
Use case
eurlex_get_document returns a document's subject classification and legal basis as bare URIs. Fetching the GDPR gives:
"eurovoc_subjects": [
"http://eurovoc.europa.eu/2338", "http://eurovoc.europa.eu/2828",
"http://eurovoc.europa.eu/453", "http://eurovoc.europa.eu/5181", …
],
"legal_basis": ["http://publications.europa.eu/resource/cellar/fc797fa2-af0e-4cbd-8e74-5ed41139e4dc"]
Nine numeric EuroVoc URIs and one CELLAR UUID. Neither is interpretable, and the…
Read the thread · 2026-07-26 · closed · 2 comments
feat(eurlex_lookup_celex): return a human-readable resource type
Use case
eurlex_lookup_celex still returns the raw CDM authority URI in resource_type, while eurlex_search_documents, eurlex_get_cases, eurlex_get_document, and eurlex://document/{celexNumber} all resolve the same field to a human-readable label. The tool's own description says it returns "document type", and its text formatter prints the same raw URI as **Type:**, so both the structured and text-rendered output are equally opaque.
Related: #4, #35
Proposed behavior…
Read the thread · 2026-07-13 · closed · 2 comments
feat(eurlex_get_relations): expose national transposition measures
Use case
EU-law researchers need to trace a directive to the member-state measures that implement it without constructing CELLAR CDM queries themselves. eurlex_get_relations and eurlex://document/{celexNumber}/relations already advertise national transposition as a first-class relationship, but neither currently exposes it.
Proposed behavior
Add national_transposition as an incoming relation type over cdm:measure_national_implementing_implements_resource_legal: the related…
Read the thread · 2026-07-13 · closed · 2 comments
Most recent
bug(pagination): prove continuation and return exhausted pages
Server version
0.10.0
mcp-ts-core version
^0.12.3
Runtime
Bun
Runtime version
Bun 1.4.0
Transport
stdio
OS
Any (handler-level behavior)
Description
eurlex_search_documents, eurlex_get_cases, eurlex_browse_subjects, and eurlex_get_relations currently mark a page as truncated whenever its returned row count reaches limit. That is not proof of another row. They also use their initial empty-result errors for an offset past an otherwise valid result…
Read the thread · 2026-08-31 · closed · 1 comment
feat(document-relations): add actionable relation-traversal guidance
Use case
eurlex://document/{celexNumber}/relations is a summary resource with a per-type, per-direction cap of 25. When the summary omits additional relation rows, callers need a concrete route to the pageable eurlex_get_relations tool without treating the resource as a directly resumable page.
Related: #72
Proposed behavior
After #72 makes the shared relation traversal prove whether another row exists, add a continuation object only when this resource's summary has more valid…
Read the thread · 2026-08-22 · closed · 1 comment
The remaining reports are on the project's issue tracker.