@cyanheads/eur-lex-mcp-server 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/README.md +1 -1
- package/changelog/0.4.x/0.4.2.md +16 -0
- package/dist/mcp-server/tools/definitions/eurlex-get-cases.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurlex-get-cases.tool.js +66 -19
- package/dist/mcp-server/tools/definitions/eurlex-get-cases.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/eurlex-search-documents.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/eurlex-search-documents.tool.js +70 -22
- package/dist/mcp-server/tools/definitions/eurlex-search-documents.tool.js.map +1 -1
- package/package.json +1 -1
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** eur-lex-mcp-server
|
|
4
|
-
**Version:** 0.4.
|
|
4
|
+
**Version:** 0.4.2
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** eur-lex-mcp-server
|
|
4
|
-
**Version:** 0.4.
|
|
4
|
+
**Version:** 0.4.2
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/eur-lex-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/eur-lex-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "eurlex_search_documents and eurlex_get_cases now match keywords via the CELLAR full-text index instead of a corpus-wide title scan (broad queries no longer risk the query timeout), and collapse distinct works that share one CELEX so a page of N returns N distinct results"
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.4.2 — 2026-06-30
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **Keyword search uses the full-text index** ([#17](https://github.com/cyanheads/eur-lex-mcp-server/issues/17)) — `eurlex_search_documents` and `eurlex_get_cases` matched the keyword against titles with a `FILTER(CONTAINS(LCASE(?title), …))` scan, forcing Virtuoso to join the expression graph and test every candidate title across the 2.7M-work corpus, so a broad or lightly-filtered keyword risked the query timeout. Title matching now runs through `bif:contains` on the Virtuoso full-text index — the mechanism the `author_institution` filter already uses. Multi-word input is matched as a title phrase rather than a substring; exact-substring CELEX matching is preserved as a UNION arm.
|
|
12
|
+
|
|
13
|
+
## Fixed
|
|
14
|
+
|
|
15
|
+
- **`eurlex_get_cases` duplicate rows for one CELEX** ([#21](https://github.com/cyanheads/eur-lex-mcp-server/issues/21)) — CELLAR exposes several distinct work URIs under one CELEX (a titled judgment plus a `do_not_index` member work), and grouping by `?work` returned each as its own row — one with the title, one bare — so a page of N surfaced fewer than N distinct cases. The query now groups by CELEX, collapsing the duplicates into one row per case that keeps the titled work's URI and title; `total` counts distinct cases.
|
|
16
|
+
- **`eurlex_search_documents` duplicate rows for one CELEX** ([#24](https://github.com/cyanheads/eur-lex-mcp-server/issues/24)) — same cause and fix: distinct works sharing a CELEX (a titled work plus a `do_not_index` member, or parallel manifestations) each consumed a result slot, so a `limit: N` page could surface fewer than N distinct documents. Grouping by CELEX collapses them into one row per document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurlex-get-cases.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-get-cases.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqCjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"eurlex-get-cases.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-get-cases.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqCjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuV3B,CAAC"}
|
|
@@ -170,9 +170,38 @@ export const eurlex_get_cases = tool('eurlex_get_cases', {
|
|
|
170
170
|
filters.push(`FILTER(CONTAINS(LCASE(STR(?celexNumber)), LCASE("${cn}")))`);
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
/**
|
|
174
|
+
* Keyword match — title via the Virtuoso full-text index, CELEX by substring.
|
|
175
|
+
* The former `FILTER(CONTAINS(LCASE(?title), …))` scan forced the expression
|
|
176
|
+
* graph to be joined for every candidate work before the term was tested, so
|
|
177
|
+
* a broad keyword scanned every candidate title and risked the query timeout
|
|
178
|
+
* (issue #17). `bif:contains` drives the match straight off the full-text
|
|
179
|
+
* index — the same fix the author filter in eurlex_search_documents uses —
|
|
180
|
+
* resolving in well under a second. Exact-substring CELEX matching is
|
|
181
|
+
* preserved as a UNION arm; a UNION arm evaluates its FILTER over its own
|
|
182
|
+
* scope, so the CELEX triple is re-bound inside the arm (a bare FILTER on the
|
|
183
|
+
* outer ?celexNumber binds nothing there).
|
|
184
|
+
*/
|
|
185
|
+
let keywordClause = '';
|
|
186
|
+
const keywordInput = input.keyword?.trim();
|
|
187
|
+
if (keywordInput) {
|
|
188
|
+
const celexTerm = keywordInput.toLowerCase().replace(/"/g, '\\"');
|
|
189
|
+
const ftPhrase = keywordInput
|
|
190
|
+
.replace(/[^\p{L}\p{N}\s]+/gu, ' ')
|
|
191
|
+
.replace(/\s+/g, ' ')
|
|
192
|
+
.trim();
|
|
193
|
+
const celexArm = `?work cdm:resource_legal_id_celex ?kwCelex .
|
|
194
|
+
FILTER(CONTAINS(LCASE(STR(?kwCelex)), "${celexTerm}"))`;
|
|
195
|
+
keywordClause = ftPhrase
|
|
196
|
+
? `{
|
|
197
|
+
?kwExpr cdm:expression_title ?kwTitle .
|
|
198
|
+
?kwTitle bif:contains "'${ftPhrase}'" .
|
|
199
|
+
?kwExpr cdm:expression_uses_language <${ENG_LANGUAGE_URI}> .
|
|
200
|
+
?kwExpr cdm:expression_belongs_to_work ?work .
|
|
201
|
+
} UNION {
|
|
202
|
+
${celexArm}
|
|
203
|
+
}`
|
|
204
|
+
: celexArm;
|
|
176
205
|
}
|
|
177
206
|
if (input.court === 'CJEU') {
|
|
178
207
|
// CJEU cases have CELEX pattern 6{year}CJ or 6{year}CC (AG opinions)
|
|
@@ -194,24 +223,38 @@ export const eurlex_get_cases = tool('eurlex_get_cases', {
|
|
|
194
223
|
if (input.date_to && input.date_to.trim()) {
|
|
195
224
|
filters.push(`FILTER(?date <= "${input.date_to.trim()}"^^xsd:date)`);
|
|
196
225
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
226
|
+
/**
|
|
227
|
+
* Titles live on expressions, not works — traverse the expression graph:
|
|
228
|
+
* ?expr cdm:expression_belongs_to_work ?work (inverse of cdm:work_has_expression),
|
|
229
|
+
* ?expr cdm:expression_uses_language <.../ENG>, ?expr cdm:expression_title ?title.
|
|
230
|
+
*
|
|
231
|
+
* GROUP BY ?celexNumber collapses each case to one row, handling two distinct
|
|
232
|
+
* CELLAR duplications at once:
|
|
233
|
+
* 1. A work carrying several cdm:work_has_resource-type values (corrigenda
|
|
234
|
+
* hold 2–3) — GROUP_CONCAT gathers every type URI per case (issue #14).
|
|
235
|
+
* 2. Several distinct work URIs sharing one CELEX (e.g. a titled judgment
|
|
236
|
+
* plus a do_not_index member work) — grouping by CELEX rather than ?work
|
|
237
|
+
* merges them, so LIMIT N returns N distinct cases and `total` counts
|
|
238
|
+
* cases rather than rows (issue #21).
|
|
239
|
+
* MAX(?title) keeps a bound title across the group, so a titled member's title
|
|
240
|
+
* survives over a bare duplicate's absent one; MAX(?titledWork) likewise prefers
|
|
241
|
+
* the work URI that carries a title — ?titledWork binds to ?work only inside the
|
|
242
|
+
* title OPTIONAL — and the handler falls back to SAMPLE(?work) when no work in the
|
|
243
|
+
* group is titled. ?docDate uses SAMPLE, NOT MAX: under ORDER BY DESC(?docDate) a
|
|
244
|
+
* MAX over the ordered column lets Virtuoso pick a date-index TOP-k plan that
|
|
245
|
+
* bypasses the date-range upper-bound FILTER whenever no selective graph pattern
|
|
246
|
+
* is present (a bare date/court/type search), returning the globally-latest cases
|
|
247
|
+
* instead of the in-range ones. Date is single-valued per CELEX, so SAMPLE shows
|
|
248
|
+
* the same value without triggering that plan.
|
|
249
|
+
*/
|
|
209
250
|
const sparql = `
|
|
210
|
-
SELECT
|
|
251
|
+
SELECT
|
|
211
252
|
(SAMPLE(?celexNumber) AS ?celex)
|
|
253
|
+
(MAX(?titledWork) AS ?titledWork)
|
|
254
|
+
(SAMPLE(?work) AS ?work)
|
|
212
255
|
(GROUP_CONCAT(DISTINCT STR(?type); SEPARATOR=" ") AS ?types)
|
|
213
256
|
(SAMPLE(?date) AS ?docDate)
|
|
214
|
-
(
|
|
257
|
+
(MAX(?title) AS ?docTitle) WHERE {
|
|
215
258
|
?work cdm:resource_legal_id_celex ?celexNumber .
|
|
216
259
|
OPTIONAL { ?work cdm:work_has_resource-type ?type . }
|
|
217
260
|
OPTIONAL { ?work cdm:work_date_document ?date . }
|
|
@@ -219,9 +262,11 @@ SELECT ?work
|
|
|
219
262
|
?expr cdm:expression_belongs_to_work ?work .
|
|
220
263
|
?expr cdm:expression_uses_language <${ENG_LANGUAGE_URI}> .
|
|
221
264
|
?expr cdm:expression_title ?title .
|
|
265
|
+
BIND(?work AS ?titledWork)
|
|
222
266
|
}
|
|
267
|
+
${keywordClause}
|
|
223
268
|
${filters.join('\n ')}
|
|
224
|
-
} GROUP BY ?
|
|
269
|
+
} GROUP BY ?celexNumber ORDER BY DESC(?docDate) LIMIT ${input.limit} OFFSET ${input.offset}`;
|
|
225
270
|
const queryEcho = {
|
|
226
271
|
...(input.case_number ? { case_number: input.case_number } : {}),
|
|
227
272
|
...(celexFragment ? { celex_fragment: celexFragment } : {}),
|
|
@@ -248,7 +293,9 @@ SELECT ?work
|
|
|
248
293
|
}
|
|
249
294
|
const cases = bindings.map((b) => {
|
|
250
295
|
const c = {
|
|
251
|
-
work_uri: CellarSparqlService.bindingValue(b, '
|
|
296
|
+
work_uri: CellarSparqlService.bindingValue(b, 'titledWork') ??
|
|
297
|
+
CellarSparqlService.bindingValue(b, 'work') ??
|
|
298
|
+
'',
|
|
252
299
|
celex_number: CellarSparqlService.bindingValue(b, 'celex') ?? '',
|
|
253
300
|
};
|
|
254
301
|
const resourceType = resolveResourceTypeLabels(CellarSparqlService.bindingValue(b, 'types'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurlex-get-cases.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-get-cases.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eurlex-get-cases.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-get-cases.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurlex-search-documents.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-search-documents.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsBjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"eurlex-search-documents.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-search-documents.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsBjE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgYlC,CAAC"}
|
|
@@ -22,7 +22,7 @@ export const eurlex_search_documents = tool('eurlex_search_documents', {
|
|
|
22
22
|
description: 'Search EU legislation, treaties, and preparatory acts across the CELLAR corpus of 2.7M+ works. ' +
|
|
23
23
|
'Filters by document type, date range, EuroVoc subject concept, author institution, and in-force status. ' +
|
|
24
24
|
'Keyword search matches against English expression titles and CELEX strings — full-text body search is not available via this API. ' +
|
|
25
|
-
'
|
|
25
|
+
'Multi-word keywords are matched as a title phrase via the full-text index; use other filters to narrow results. ' +
|
|
26
26
|
'Returns CELEX numbers, work URIs, human-readable document type labels, and dates — use these with eurlex_get_document to fetch full content. ' +
|
|
27
27
|
'To filter by EuroVoc subject, first call eurlex_browse_subjects to obtain the concept URI. ' +
|
|
28
28
|
'Case law (CJEU/GC judgments) is better searched via eurlex_get_cases which has court-specific parameters.',
|
|
@@ -31,7 +31,7 @@ export const eurlex_search_documents = tool('eurlex_search_documents', {
|
|
|
31
31
|
keyword: z
|
|
32
32
|
.string()
|
|
33
33
|
.optional()
|
|
34
|
-
.describe('Keyword
|
|
34
|
+
.describe('Keyword matched against English document titles via the full-text index (multi-word input is treated as a phrase), or against CELEX substrings.'),
|
|
35
35
|
document_type: z
|
|
36
36
|
.union([
|
|
37
37
|
z.literal(''),
|
|
@@ -157,10 +157,6 @@ export const eurlex_search_documents = tool('eurlex_search_documents', {
|
|
|
157
157
|
async handler(input, ctx) {
|
|
158
158
|
const svc = getCellarSparqlService();
|
|
159
159
|
const filters = [];
|
|
160
|
-
if (input.keyword && input.keyword.trim()) {
|
|
161
|
-
const kw = input.keyword.trim().toLowerCase().replace(/"/g, '\\"');
|
|
162
|
-
filters.push(`FILTER(CONTAINS(LCASE(COALESCE(STR(?title), "")), "${kw}") || CONTAINS(LCASE(STR(?celexNumber)), "${kw}"))`);
|
|
163
|
-
}
|
|
164
160
|
if (input.document_type) {
|
|
165
161
|
const typeUri = DOCUMENT_TYPE_URIS[input.document_type];
|
|
166
162
|
if (typeUri) {
|
|
@@ -213,25 +209,73 @@ export const eurlex_search_documents = tool('eurlex_search_documents', {
|
|
|
213
209
|
?agentLabel bif:contains "'${authorPhrase}'" .
|
|
214
210
|
FILTER(LANG(?agentLabel) = "en")`;
|
|
215
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Keyword match — title via the Virtuoso full-text index, CELEX by substring.
|
|
214
|
+
* The former `FILTER(CONTAINS(LCASE(?title), …))` scan forced the expression
|
|
215
|
+
* graph to be joined for every one of the 2.7M works before the term was
|
|
216
|
+
* tested, so a broad or lightly-filtered keyword scanned every candidate
|
|
217
|
+
* title and hit the query timeout (issue #17). `bif:contains` drives the
|
|
218
|
+
* match straight off the full-text index — the same fix the author filter
|
|
219
|
+
* uses — resolving in well under a second. Exact-substring CELEX matching is
|
|
220
|
+
* preserved as a UNION arm; a UNION arm evaluates its FILTER over its own
|
|
221
|
+
* scope, so the CELEX triple is re-bound inside the arm (a bare FILTER on the
|
|
222
|
+
* outer ?celexNumber binds nothing there). The term is sanitised for the
|
|
223
|
+
* full-text phrase the same way the author phrase is.
|
|
224
|
+
*/
|
|
225
|
+
let keywordClause = '';
|
|
226
|
+
const keywordInput = input.keyword?.trim();
|
|
227
|
+
if (keywordInput) {
|
|
228
|
+
const celexTerm = keywordInput.toLowerCase().replace(/"/g, '\\"');
|
|
229
|
+
const ftPhrase = keywordInput
|
|
230
|
+
.replace(/[^\p{L}\p{N}\s]+/gu, ' ')
|
|
231
|
+
.replace(/\s+/g, ' ')
|
|
232
|
+
.trim();
|
|
233
|
+
const celexArm = `?work cdm:resource_legal_id_celex ?kwCelex .
|
|
234
|
+
FILTER(CONTAINS(LCASE(STR(?kwCelex)), "${celexTerm}"))`;
|
|
235
|
+
keywordClause = ftPhrase
|
|
236
|
+
? `{
|
|
237
|
+
?kwExpr cdm:expression_title ?kwTitle .
|
|
238
|
+
?kwTitle bif:contains "'${ftPhrase}'" .
|
|
239
|
+
?kwExpr cdm:expression_uses_language <${ENG_LANGUAGE_URI}> .
|
|
240
|
+
?kwExpr cdm:expression_belongs_to_work ?work .
|
|
241
|
+
} UNION {
|
|
242
|
+
${celexArm}
|
|
243
|
+
}`
|
|
244
|
+
: celexArm;
|
|
245
|
+
}
|
|
216
246
|
const inForceClause = input.in_force === true ? `OPTIONAL { ?work cdm:resource_legal_in-force ?inForce . }` : '';
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
247
|
+
/**
|
|
248
|
+
* Titles live on expressions, not works — traverse the expression graph:
|
|
249
|
+
* ?expr cdm:expression_belongs_to_work ?work (inverse of cdm:work_has_expression),
|
|
250
|
+
* ?expr cdm:expression_uses_language <.../ENG>, ?expr cdm:expression_title ?title.
|
|
251
|
+
*
|
|
252
|
+
* GROUP BY ?celexNumber collapses each document to one row, handling two
|
|
253
|
+
* distinct CELLAR duplications at once:
|
|
254
|
+
* 1. A work carrying several cdm:work_has_resource-type values (corrigenda
|
|
255
|
+
* hold 2–3) — GROUP_CONCAT gathers every type URI per document (issue #14).
|
|
256
|
+
* 2. Several distinct work URIs sharing one CELEX (e.g. a titled work plus a
|
|
257
|
+
* do_not_index member work, or parallel manifestations) — grouping by
|
|
258
|
+
* CELEX rather than ?work merges them, so LIMIT N returns N distinct
|
|
259
|
+
* documents and each duplicate no longer wastes a result slot (issue #24).
|
|
260
|
+
* MAX(?title) keeps a bound title across the group, so a titled member's title
|
|
261
|
+
* survives over a bare duplicate's absent one; MAX(?titledWork) likewise prefers
|
|
262
|
+
* the work URI that carries a title — ?titledWork binds to ?work only inside the
|
|
263
|
+
* title OPTIONAL — and the handler falls back to SAMPLE(?work) when no work in the
|
|
264
|
+
* group is titled. ?docDate uses SAMPLE, NOT MAX: under ORDER BY DESC(?docDate) a
|
|
265
|
+
* MAX over the ordered column lets Virtuoso pick a date-index TOP-k plan that
|
|
266
|
+
* bypasses the date-range upper-bound FILTER whenever no selective graph pattern
|
|
267
|
+
* is present (a bare date/type search), returning the globally-latest documents
|
|
268
|
+
* instead of the in-range ones. Date is single-valued per CELEX, so SAMPLE shows
|
|
269
|
+
* the same value without triggering that plan.
|
|
270
|
+
*/
|
|
229
271
|
const sparql = `
|
|
230
|
-
SELECT
|
|
272
|
+
SELECT
|
|
231
273
|
(SAMPLE(?celexNumber) AS ?celex)
|
|
274
|
+
(MAX(?titledWork) AS ?titledWork)
|
|
275
|
+
(SAMPLE(?work) AS ?work)
|
|
232
276
|
(GROUP_CONCAT(DISTINCT STR(?type); SEPARATOR=" ") AS ?types)
|
|
233
277
|
(SAMPLE(?date) AS ?docDate)
|
|
234
|
-
(
|
|
278
|
+
(MAX(?title) AS ?docTitle) WHERE {
|
|
235
279
|
?work cdm:resource_legal_id_celex ?celexNumber .
|
|
236
280
|
OPTIONAL { ?work cdm:work_has_resource-type ?type . }
|
|
237
281
|
OPTIONAL { ?work cdm:work_date_document ?date . }
|
|
@@ -239,12 +283,14 @@ SELECT ?work
|
|
|
239
283
|
?expr cdm:expression_belongs_to_work ?work .
|
|
240
284
|
?expr cdm:expression_uses_language <${ENG_LANGUAGE_URI}> .
|
|
241
285
|
?expr cdm:expression_title ?title .
|
|
286
|
+
BIND(?work AS ?titledWork)
|
|
242
287
|
}
|
|
243
288
|
${eurovocClause}
|
|
244
289
|
${authorClause}
|
|
290
|
+
${keywordClause}
|
|
245
291
|
${inForceClause}
|
|
246
292
|
${filters.join('\n ')}
|
|
247
|
-
} GROUP BY ?
|
|
293
|
+
} GROUP BY ?celexNumber ORDER BY DESC(?docDate) LIMIT ${input.limit} OFFSET ${input.offset}`;
|
|
248
294
|
const queryEcho = {
|
|
249
295
|
...(input.keyword ? { keyword: input.keyword } : {}),
|
|
250
296
|
...(input.document_type ? { document_type: input.document_type } : {}),
|
|
@@ -269,7 +315,9 @@ SELECT ?work
|
|
|
269
315
|
}
|
|
270
316
|
const documents = bindings.map((b) => {
|
|
271
317
|
const doc = {
|
|
272
|
-
work_uri: CellarSparqlService.bindingValue(b, '
|
|
318
|
+
work_uri: CellarSparqlService.bindingValue(b, 'titledWork') ??
|
|
319
|
+
CellarSparqlService.bindingValue(b, 'work') ??
|
|
320
|
+
'',
|
|
273
321
|
celex_number: CellarSparqlService.bindingValue(b, 'celex') ?? '',
|
|
274
322
|
};
|
|
275
323
|
const resourceType = resolveResourceTypeLabels(CellarSparqlService.bindingValue(b, 'types'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eurlex-search-documents.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-search-documents.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mDAAmD,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,kBAAkB,GAA2B;IACjD,GAAG,EAAE,oEAAoE;IACzE,GAAG,EAAE,oEAAoE;IACzE,GAAG,EAAE,oEAAoE;IACzE,MAAM,EAAE,uEAAuE;IAC/E,IAAI,EAAE,qEAAqE;IAC3E,OAAO,EAAE,wEAAwE;IACjF,IAAI,EAAE,yEAAyE;IAC/E,GAAG,EAAE,yEAAyE;CAC/E,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,EAAE;IACrE,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,iGAAiG;QACjG,0GAA0G;QAC1G,oIAAoI;QACpI,
|
|
1
|
+
{"version":3,"file":"eurlex-search-documents.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/eurlex-search-documents.tool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/eur-lex-mcp-server",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"mcpName": "io.github.cyanheads/eur-lex-mcp-server",
|
|
5
5
|
"description": "Search EU legislation, CJEU case law, and treaties; traverse the CELLAR relationship graph; resolve EuroVoc concepts via MCP. STDIO or Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/eur-lex-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.4.
|
|
9
|
+
"version": "0.4.2",
|
|
10
10
|
"remotes": [
|
|
11
11
|
{
|
|
12
12
|
"type": "streamable-http",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
20
20
|
"identifier": "@cyanheads/eur-lex-mcp-server",
|
|
21
21
|
"runtimeHint": "bun",
|
|
22
|
-
"version": "0.4.
|
|
22
|
+
"version": "0.4.2",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
77
77
|
"identifier": "@cyanheads/eur-lex-mcp-server",
|
|
78
78
|
"runtimeHint": "bun",
|
|
79
|
-
"version": "0.4.
|
|
79
|
+
"version": "0.4.2",
|
|
80
80
|
"packageArguments": [
|
|
81
81
|
{
|
|
82
82
|
"type": "positional",
|