@ansvar/eu-regulations-mcp 1.0.0 → 1.1.0
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/README.md +60 -22
- package/data/regulations.db +0 -0
- package/dist/database/sqlite-adapter.d.ts +2 -2
- package/dist/database/sqlite-adapter.d.ts.map +1 -1
- package/dist/database/sqlite-adapter.js.map +1 -1
- package/dist/http-server.js +27 -5
- package/dist/http-server.js.map +1 -1
- package/dist/index.js +27 -4
- package/dist/index.js.map +1 -1
- package/dist/tools/about.d.ts +40 -0
- package/dist/tools/about.d.ts.map +1 -0
- package/dist/tools/about.js +61 -0
- package/dist/tools/about.js.map +1 -0
- package/dist/tools/list.d.ts +7 -0
- package/dist/tools/list.d.ts.map +1 -1
- package/dist/tools/list.js +73 -8
- package/dist/tools/list.js.map +1 -1
- package/dist/tools/registry.d.ts +11 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +56 -4
- package/dist/tools/registry.js.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +17 -5
- package/dist/worker.js.map +1 -1
- package/package.json +6 -5
- package/scripts/add-cross-references.sql +0 -200
- package/scripts/analyze-survey-responses.ts +0 -285
- package/scripts/build-db.ts +0 -421
- package/scripts/bulk-reingest-all.ts +0 -331
- package/scripts/check-updates.ts +0 -294
- package/scripts/extract-eprivacy-recitals.ts +0 -98
- package/scripts/ingest-eurlex-browser.ts +0 -113
- package/scripts/ingest-eurlex.ts +0 -349
- package/scripts/ingest-unece.ts +0 -382
- package/scripts/migrate-postgres.ts +0 -445
- package/scripts/migrate-to-postgres.ts +0 -353
- package/scripts/reingest-all-with-recitals.sh +0 -81
- package/scripts/sync-versions.ts +0 -206
- package/scripts/test-cross-refs.js +0 -26
- package/scripts/test-postgres-adapter.ts +0 -146
- package/scripts/update-dora-rts-metadata.ts +0 -112
- package/src/database/postgres-adapter.ts +0 -84
- package/src/database/sqlite-adapter.ts +0 -44
- package/src/database/types.ts +0 -10
- package/src/http-server.ts +0 -149
- package/src/index.ts +0 -61
- package/src/middleware/rate-limit.ts +0 -104
- package/src/tools/applicability.ts +0 -167
- package/src/tools/article.ts +0 -81
- package/src/tools/compare.ts +0 -217
- package/src/tools/definitions.ts +0 -49
- package/src/tools/evidence.ts +0 -84
- package/src/tools/list.ts +0 -124
- package/src/tools/map.ts +0 -86
- package/src/tools/recital.ts +0 -60
- package/src/tools/registry.ts +0 -311
- package/src/tools/search.ts +0 -297
- package/src/worker.ts +0 -708
package/dist/tools/registry.js
CHANGED
|
@@ -8,6 +8,27 @@ import { mapControls } from './map.js';
|
|
|
8
8
|
import { checkApplicability } from './applicability.js';
|
|
9
9
|
import { getDefinitions } from './definitions.js';
|
|
10
10
|
import { getEvidenceRequirements } from './evidence.js';
|
|
11
|
+
import { getAbout } from './about.js';
|
|
12
|
+
const READ_ONLY_ANNOTATIONS = {
|
|
13
|
+
readOnlyHint: true,
|
|
14
|
+
destructiveHint: false,
|
|
15
|
+
};
|
|
16
|
+
function toTitle(name) {
|
|
17
|
+
return name
|
|
18
|
+
.split('_')
|
|
19
|
+
.map(part => part.charAt(0).toUpperCase() + part.slice(1))
|
|
20
|
+
.join(' ');
|
|
21
|
+
}
|
|
22
|
+
function annotateTools(tools) {
|
|
23
|
+
return tools.map((tool) => ({
|
|
24
|
+
...tool,
|
|
25
|
+
annotations: tool.annotations ?? {
|
|
26
|
+
title: toTitle(tool.name),
|
|
27
|
+
readOnlyHint: READ_ONLY_ANNOTATIONS.readOnlyHint,
|
|
28
|
+
destructiveHint: READ_ONLY_ANNOTATIONS.destructiveHint,
|
|
29
|
+
},
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
11
32
|
/**
|
|
12
33
|
* Centralized registry of all MCP tools.
|
|
13
34
|
* Single source of truth for both stdio and HTTP servers.
|
|
@@ -94,7 +115,7 @@ export const TOOLS = [
|
|
|
94
115
|
},
|
|
95
116
|
{
|
|
96
117
|
name: 'list_regulations',
|
|
97
|
-
description: 'List available regulations
|
|
118
|
+
description: 'List available regulations, optionally filtered by category. Without parameters, lists all regulations grouped by category. With a regulation specified, shows chapters and articles.',
|
|
98
119
|
inputSchema: {
|
|
99
120
|
type: 'object',
|
|
100
121
|
properties: {
|
|
@@ -102,6 +123,10 @@ export const TOOLS = [
|
|
|
102
123
|
type: 'string',
|
|
103
124
|
description: 'Optional: specific regulation to get detailed structure for',
|
|
104
125
|
},
|
|
126
|
+
category: {
|
|
127
|
+
type: 'string',
|
|
128
|
+
description: 'Optional: filter by category (e.g., "cybersecurity", "financial_services", "data_protection", "ai_and_technology", "product_safety", "sustainability", "healthcare", "critical_infrastructure", "digital_services", "automotive")',
|
|
129
|
+
},
|
|
105
130
|
},
|
|
106
131
|
},
|
|
107
132
|
handler: async (db, args) => {
|
|
@@ -245,23 +270,50 @@ export const TOOLS = [
|
|
|
245
270
|
},
|
|
246
271
|
},
|
|
247
272
|
];
|
|
273
|
+
/**
|
|
274
|
+
* Create the about tool with captured startup context.
|
|
275
|
+
* Uses a closure so the handler signature stays compatible with ToolDefinition.
|
|
276
|
+
*/
|
|
277
|
+
function createAboutTool(context) {
|
|
278
|
+
return {
|
|
279
|
+
name: 'about',
|
|
280
|
+
description: 'Server metadata, dataset statistics, freshness, and provenance. ' +
|
|
281
|
+
'Call this to verify data coverage, currency, and content basis before relying on results.',
|
|
282
|
+
inputSchema: {
|
|
283
|
+
type: 'object',
|
|
284
|
+
properties: {},
|
|
285
|
+
required: [],
|
|
286
|
+
},
|
|
287
|
+
handler: async (db) => {
|
|
288
|
+
return await getAbout(db, context);
|
|
289
|
+
},
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Build the full tools list including context-dependent tools.
|
|
294
|
+
*/
|
|
295
|
+
export function buildTools(context) {
|
|
296
|
+
return [...TOOLS, createAboutTool(context)];
|
|
297
|
+
}
|
|
248
298
|
/**
|
|
249
299
|
* Register all tools with an MCP server instance.
|
|
250
300
|
* Use this for both stdio and HTTP servers to ensure parity.
|
|
251
301
|
*/
|
|
252
|
-
export function registerTools(server, db) {
|
|
302
|
+
export function registerTools(server, db, context) {
|
|
303
|
+
const allTools = annotateTools(context ? buildTools(context) : TOOLS);
|
|
253
304
|
// List available tools
|
|
254
305
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
255
|
-
tools:
|
|
306
|
+
tools: allTools.map(tool => ({
|
|
256
307
|
name: tool.name,
|
|
257
308
|
description: tool.description,
|
|
258
309
|
inputSchema: tool.inputSchema,
|
|
310
|
+
annotations: tool.annotations,
|
|
259
311
|
})),
|
|
260
312
|
}));
|
|
261
313
|
// Handle tool calls
|
|
262
314
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
263
315
|
const { name, arguments: args } = request.params;
|
|
264
|
-
const tool =
|
|
316
|
+
const tool = allTools.find(t => t.name === name);
|
|
265
317
|
if (!tool) {
|
|
266
318
|
return {
|
|
267
319
|
content: [{ type: 'text', text: `Unknown tool: ${name}` }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAAkB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAyB,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAA2B,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAsB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAAkB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAyB,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAA2B,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAsB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AAezD,MAAM,qBAAqB,GAAG;IAC5B,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;CACd,CAAC;AAEX,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACzD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAuB;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,GAAG,IAAI;QACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI;YAC/B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,YAAY,EAAE,qBAAqB,CAAC,YAAY;YAChD,eAAe,EAAE,qBAAqB,CAAC,eAAe;SACvD;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,wMAAwM;QACrN,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mEAAmE;iBACjF;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,mEAAmE;iBACjF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAA8B,CAAC;YAC7C,OAAO,MAAM,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sRAAsR;QACnS,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;SACpC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAkC,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,OAAO,iBAAiB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,oIAAoI;QACjJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;SAC3C;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAkC,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,cAAc,iBAAiB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,uLAAuL;QACpM,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6DAA6D;iBAC3E;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mOAAmO;iBACjP;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAyB,CAAC;YACnD,OAAO,MAAM,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,+PAA+P;QAC5Q,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,iDAAiD;iBAC/D;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;SACnC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAA+B,CAAC;YAC9C,OAAO,MAAM,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,yHAAyH;QACtI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;oBAC9B,WAAW,EAAE,yFAAyF;iBACvG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oFAAoF;iBAClG;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAmC,CAAC;YAClD,OAAO,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yJAAyJ;QACtK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,eAAe,EAAE,OAAO,CAAC;oBACrI,WAAW,EAAE,qBAAqB;iBACnC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6EAA6E;iBAC3F;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;oBACtB,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;oBACzC,WAAW,EAAE,8JAA8J;iBAC5K;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAqC,CAAC;YACpD,OAAO,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,yHAAyH;QACtI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mEAAmE;iBACjF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAmC,CAAC;YAClD,OAAO,MAAM,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;KACF;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,iNAAiN;QAC9N,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gEAAgE;iBAC9E;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC;oBAChF,WAAW,EAAE,mCAAmC;iBACjD;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAgC,CAAC;YAC/C,OAAO,MAAM,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,SAAS,eAAe,CAAC,OAAqB;IAC5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EACT,kEAAkE;YAClE,2FAA2F;QAC7F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACpB,OAAO,MAAM,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,OAAO,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,EAAmB,EAAE,OAAsB;IACvF,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,uBAAuB;IACvB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,oBAAoB;IACpB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;gBAC1D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC5E;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;qBAC3E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA6BH,UAAU,GAAG;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAweD;;GAEG;;mBAEoB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2J1D;;OAEG;;;AA9JL,wBAoKE"}
|
package/dist/worker.js
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
import { createPostgresAdapter } from './database/postgres-adapter.js';
|
|
34
34
|
import { RateLimiter } from './middleware/rate-limit.js';
|
|
35
35
|
// Import tool registry (single source of truth for tools)
|
|
36
|
-
import {
|
|
36
|
+
import { buildTools } from './tools/registry.js';
|
|
37
37
|
// Import tool handlers
|
|
38
38
|
import { searchRegulations } from './tools/search.js';
|
|
39
39
|
import { getArticle } from './tools/article.js';
|
|
@@ -44,6 +44,14 @@ import { mapControls } from './tools/map.js';
|
|
|
44
44
|
import { checkApplicability } from './tools/applicability.js';
|
|
45
45
|
import { getDefinitions } from './tools/definitions.js';
|
|
46
46
|
import { getEvidenceRequirements } from './tools/evidence.js';
|
|
47
|
+
import { getAbout } from './tools/about.js';
|
|
48
|
+
// Worker about context (no filesystem access — uses static values)
|
|
49
|
+
const WORKER_VERSION = '1.0.0';
|
|
50
|
+
const WORKER_ABOUT_CONTEXT = {
|
|
51
|
+
version: WORKER_VERSION,
|
|
52
|
+
fingerprint: 'postgres',
|
|
53
|
+
dbBuilt: 'live',
|
|
54
|
+
};
|
|
47
55
|
// Global instances (initialized on first request)
|
|
48
56
|
let db = null;
|
|
49
57
|
let rateLimiter = null;
|
|
@@ -139,13 +147,14 @@ function handleListTools(origin) {
|
|
|
139
147
|
if (headers instanceof Response) {
|
|
140
148
|
return headers;
|
|
141
149
|
}
|
|
150
|
+
const allTools = buildTools(WORKER_ABOUT_CONTEXT);
|
|
142
151
|
return new Response(JSON.stringify({
|
|
143
|
-
tools:
|
|
152
|
+
tools: allTools.map(tool => ({
|
|
144
153
|
name: tool.name,
|
|
145
154
|
description: tool.description,
|
|
146
155
|
inputSchema: tool.inputSchema,
|
|
147
156
|
})),
|
|
148
|
-
count:
|
|
157
|
+
count: allTools.length,
|
|
149
158
|
timestamp: new Date().toISOString(),
|
|
150
159
|
}), {
|
|
151
160
|
status: 200,
|
|
@@ -172,7 +181,7 @@ async function handleHealthCheck(env, origin) {
|
|
|
172
181
|
return new Response(JSON.stringify({
|
|
173
182
|
status: 'healthy',
|
|
174
183
|
server: 'eu-regulations-mcp',
|
|
175
|
-
version:
|
|
184
|
+
version: WORKER_VERSION,
|
|
176
185
|
database: 'connected',
|
|
177
186
|
timestamp: new Date().toISOString(),
|
|
178
187
|
}), {
|
|
@@ -357,6 +366,9 @@ async function handleToolCall(request, env) {
|
|
|
357
366
|
case 'get_evidence_requirements':
|
|
358
367
|
result = await getEvidenceRequirements(database, body.params);
|
|
359
368
|
break;
|
|
369
|
+
case 'about':
|
|
370
|
+
result = await getAbout(database, WORKER_ABOUT_CONTEXT);
|
|
371
|
+
break;
|
|
360
372
|
default:
|
|
361
373
|
const baseHeaders = {
|
|
362
374
|
'Content-Type': 'application/json',
|
|
@@ -495,7 +507,7 @@ export default {
|
|
|
495
507
|
}
|
|
496
508
|
return new Response(JSON.stringify({
|
|
497
509
|
server: 'eu-regulations-mcp',
|
|
498
|
-
version:
|
|
510
|
+
version: WORKER_VERSION,
|
|
499
511
|
description: 'HTTP API for EU cybersecurity regulations (ChatGPT/Copilot compatible)',
|
|
500
512
|
endpoints: {
|
|
501
513
|
'/': 'API documentation (this page)',
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ansvar/eu-regulations-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"mcpName": "eu.ansvar/eu-regulations-mcp",
|
|
5
5
|
"description": "The first open-source MCP server for European cybersecurity regulations. Query DORA, NIS2, GDPR, EU AI Act, and more directly from Claude.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -43,9 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"files": [
|
|
45
45
|
"dist",
|
|
46
|
-
"data"
|
|
47
|
-
"scripts",
|
|
48
|
-
"src"
|
|
46
|
+
"data"
|
|
49
47
|
],
|
|
50
48
|
"devDependencies": {
|
|
51
49
|
"@types/better-sqlite3": "^7.6.13",
|
|
@@ -54,6 +52,8 @@
|
|
|
54
52
|
"@types/jsdom": "^27.0.0",
|
|
55
53
|
"@types/node": "^25.0.10",
|
|
56
54
|
"@types/pg": "^8.11.10",
|
|
55
|
+
"@vercel/node": "^5.6.3",
|
|
56
|
+
"better-sqlite3": "^12.6.2",
|
|
57
57
|
"glob": "^13.0.0",
|
|
58
58
|
"puppeteer": "^24.36.0",
|
|
59
59
|
"tsx": "^4.21.0",
|
|
@@ -62,8 +62,9 @@
|
|
|
62
62
|
"wrangler": "^4.61.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
+
"@ansvar/mcp-sqlite": "^1.0.3",
|
|
65
66
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
66
|
-
"
|
|
67
|
+
"ajv": "^8.18.0",
|
|
67
68
|
"jsdom": "^27.4.0",
|
|
68
69
|
"pg": "^8.13.2"
|
|
69
70
|
},
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
-- Cross-references for EU Regulations MCP
|
|
2
|
-
-- Adds explicit article-to-article links for related requirements
|
|
3
|
-
|
|
4
|
-
-- ============================================================================
|
|
5
|
-
-- 1. INCIDENT MANAGEMENT & BREACH NOTIFICATION
|
|
6
|
-
-- ============================================================================
|
|
7
|
-
|
|
8
|
-
-- DORA Article 17: ICT-related incident management process
|
|
9
|
-
-- Links to: NIS2 Art 23 (incident reporting), GDPR Art 33 (breach notification)
|
|
10
|
-
UPDATE articles
|
|
11
|
-
SET cross_references = '["NIS2:23", "GDPR:33", "DORA:18", "DORA:19"]'
|
|
12
|
-
WHERE regulation = 'DORA' AND article_number = '17';
|
|
13
|
-
|
|
14
|
-
-- DORA Article 18: Classification of ICT-related incidents
|
|
15
|
-
-- Links to: DORA Art 17 (incident process), DORA Art 19 (reporting)
|
|
16
|
-
UPDATE articles
|
|
17
|
-
SET cross_references = '["DORA:17", "DORA:19", "NIS2:23"]'
|
|
18
|
-
WHERE regulation = 'DORA' AND article_number = '18';
|
|
19
|
-
|
|
20
|
-
-- DORA Article 19: Reporting of major ICT-related incidents
|
|
21
|
-
-- Links to: NIS2 Art 23 (reporting timelines), GDPR Art 33 (breach notification)
|
|
22
|
-
UPDATE articles
|
|
23
|
-
SET cross_references = '["NIS2:23", "GDPR:33", "DORA:17", "DORA:18"]'
|
|
24
|
-
WHERE regulation = 'DORA' AND article_number = '19';
|
|
25
|
-
|
|
26
|
-
-- NIS2 Article 23: Reporting obligations
|
|
27
|
-
-- Links to: DORA Art 19 (incident reporting), GDPR Art 33 (personal data breaches)
|
|
28
|
-
UPDATE articles
|
|
29
|
-
SET cross_references = '["DORA:19", "GDPR:33", "NIS2:21"]'
|
|
30
|
-
WHERE regulation = 'NIS2' AND article_number = '23';
|
|
31
|
-
|
|
32
|
-
-- GDPR Article 33: Notification of a personal data breach
|
|
33
|
-
-- Links to: GDPR Art 34 (notify subjects), DORA Art 19, NIS2 Art 23
|
|
34
|
-
UPDATE articles
|
|
35
|
-
SET cross_references = '["GDPR:34", "DORA:19", "NIS2:23"]'
|
|
36
|
-
WHERE regulation = 'GDPR' AND article_number = '33';
|
|
37
|
-
|
|
38
|
-
-- GDPR Article 34: Communication of breach to data subject
|
|
39
|
-
-- Links to: GDPR Art 33 (notify authority)
|
|
40
|
-
UPDATE articles
|
|
41
|
-
SET cross_references = '["GDPR:33", "DORA:19"]'
|
|
42
|
-
WHERE regulation = 'GDPR' AND article_number = '34';
|
|
43
|
-
|
|
44
|
-
-- ============================================================================
|
|
45
|
-
-- 2. RISK MANAGEMENT FRAMEWORKS
|
|
46
|
-
-- ============================================================================
|
|
47
|
-
|
|
48
|
-
-- DORA Article 6: ICT risk management framework
|
|
49
|
-
-- Links to: NIS2 Art 21 (cybersecurity risk management), DORA Art 8 (identification)
|
|
50
|
-
UPDATE articles
|
|
51
|
-
SET cross_references = '["NIS2:21", "DORA:8", "DORA:9", "DORA:11"]'
|
|
52
|
-
WHERE regulation = 'DORA' AND article_number = '6';
|
|
53
|
-
|
|
54
|
-
-- NIS2 Article 21: Cybersecurity risk-management measures
|
|
55
|
-
-- Links to: DORA Art 6 (ICT risk framework), NIS2 Art 23 (incident reporting)
|
|
56
|
-
UPDATE articles
|
|
57
|
-
SET cross_references = '["DORA:6", "NIS2:23", "CRA:10"]'
|
|
58
|
-
WHERE regulation = 'NIS2' AND article_number = '21';
|
|
59
|
-
|
|
60
|
-
-- GDPR Article 32: Security of processing
|
|
61
|
-
-- Links to: DORA Art 9 (protection), NIS2 Art 21 (risk management)
|
|
62
|
-
UPDATE articles
|
|
63
|
-
SET cross_references = '["GDPR:33", "DORA:9", "NIS2:21"]'
|
|
64
|
-
WHERE regulation = 'GDPR' AND article_number = '32';
|
|
65
|
-
|
|
66
|
-
-- ============================================================================
|
|
67
|
-
-- 3. THIRD-PARTY / SUPPLY CHAIN RISK
|
|
68
|
-
-- ============================================================================
|
|
69
|
-
|
|
70
|
-
-- DORA Article 28: General principles on ICT third-party risk
|
|
71
|
-
-- Links to: DORA Art 30 (contractual arrangements), NIS2 Art 21 (supply chain)
|
|
72
|
-
UPDATE articles
|
|
73
|
-
SET cross_references = '["DORA:30", "DORA:31", "NIS2:21"]'
|
|
74
|
-
WHERE regulation = 'DORA' AND article_number = '28';
|
|
75
|
-
|
|
76
|
-
-- DORA Article 30: Key contractual provisions
|
|
77
|
-
-- Links to: DORA Art 28 (general principles), DORA Art 31 (critical providers)
|
|
78
|
-
UPDATE articles
|
|
79
|
-
SET cross_references = '["DORA:28", "DORA:31", "GDPR:28"]'
|
|
80
|
-
WHERE regulation = 'DORA' AND article_number = '30';
|
|
81
|
-
|
|
82
|
-
-- GDPR Article 28: Processor obligations
|
|
83
|
-
-- Links to: DORA Art 30 (ICT third-party contracts), GDPR Art 32 (security)
|
|
84
|
-
UPDATE articles
|
|
85
|
-
SET cross_references = '["GDPR:32", "DORA:30", "GDPR:5"]'
|
|
86
|
-
WHERE regulation = 'GDPR' AND article_number = '28';
|
|
87
|
-
|
|
88
|
-
-- ============================================================================
|
|
89
|
-
-- 4. AI SYSTEMS & DATA PROTECTION
|
|
90
|
-
-- ============================================================================
|
|
91
|
-
|
|
92
|
-
-- AI Act Article 10: Data and data governance
|
|
93
|
-
-- Links to: GDPR Art 5 (data principles), AI Act Art 9 (risk management)
|
|
94
|
-
UPDATE articles
|
|
95
|
-
SET cross_references = '["GDPR:5", "GDPR:25", "AI_ACT:9"]'
|
|
96
|
-
WHERE regulation = 'AI_ACT' AND article_number = '10';
|
|
97
|
-
|
|
98
|
-
-- GDPR Article 22: Automated individual decision-making
|
|
99
|
-
-- Links to: AI Act Art 5 (prohibited practices), GDPR Art 13-14 (information)
|
|
100
|
-
UPDATE articles
|
|
101
|
-
SET cross_references = '["AI_ACT:5", "GDPR:13", "GDPR:14"]'
|
|
102
|
-
WHERE regulation = 'GDPR' AND article_number = '22';
|
|
103
|
-
|
|
104
|
-
-- ============================================================================
|
|
105
|
-
-- 5. IDENTITY & TRUST SERVICES
|
|
106
|
-
-- ============================================================================
|
|
107
|
-
|
|
108
|
-
-- eIDAS2 Article 19: Security requirements for trust service providers
|
|
109
|
-
-- Links to: GDPR Art 32 (security of processing), NIS2 Art 21 (risk management)
|
|
110
|
-
UPDATE articles
|
|
111
|
-
SET cross_references = '["GDPR:32", "NIS2:21", "EIDAS2:24"]'
|
|
112
|
-
WHERE regulation = 'EIDAS2' AND article_number = '19';
|
|
113
|
-
|
|
114
|
-
-- ============================================================================
|
|
115
|
-
-- 6. PRODUCT SECURITY (CRA, MDR, IVDR)
|
|
116
|
-
-- ============================================================================
|
|
117
|
-
|
|
118
|
-
-- CRA Article 10: Cybersecurity requirements
|
|
119
|
-
-- Links to: CRA Art 14 (vulnerability reporting), NIS2 Art 21 (risk management)
|
|
120
|
-
UPDATE articles
|
|
121
|
-
SET cross_references = '["CRA:14", "NIS2:21", "CRA:11"]'
|
|
122
|
-
WHERE regulation = 'CRA' AND article_number = '10';
|
|
123
|
-
|
|
124
|
-
-- CRA Article 14: Notification of exploited vulnerabilities
|
|
125
|
-
-- Links to: CRA Art 10 (security requirements), DORA Art 19 (incident reporting)
|
|
126
|
-
UPDATE articles
|
|
127
|
-
SET cross_references = '["CRA:10", "DORA:19", "NIS2:23"]'
|
|
128
|
-
WHERE regulation = 'CRA' AND article_number = '14';
|
|
129
|
-
|
|
130
|
-
-- MDR Article 87: Reporting of serious incidents
|
|
131
|
-
-- Links to: IVDR Art 82 (same for IVDs), GDPR Art 33 (if personal data involved)
|
|
132
|
-
UPDATE articles
|
|
133
|
-
SET cross_references = '["IVDR:82", "GDPR:33", "MDR:88"]'
|
|
134
|
-
WHERE regulation = 'MDR' AND article_number = '87';
|
|
135
|
-
|
|
136
|
-
-- IVDR Article 82: Reporting of serious incidents
|
|
137
|
-
-- Links to: MDR Art 87 (same for medical devices), GDPR Art 33
|
|
138
|
-
UPDATE articles
|
|
139
|
-
SET cross_references = '["MDR:87", "GDPR:33", "IVDR:83"]'
|
|
140
|
-
WHERE regulation = 'IVDR' AND article_number = '82';
|
|
141
|
-
|
|
142
|
-
-- ============================================================================
|
|
143
|
-
-- 7. HEALTHCARE DATA (EHDS)
|
|
144
|
-
-- ============================================================================
|
|
145
|
-
|
|
146
|
-
-- EHDS Article 44: Handling of serious incidents
|
|
147
|
-
-- Links to: GDPR Art 33 (breach notification), NIS2 Art 23 (incident reporting)
|
|
148
|
-
UPDATE articles
|
|
149
|
-
SET cross_references = '["GDPR:33", "NIS2:23", "MDR:87"]'
|
|
150
|
-
WHERE regulation = 'EHDS' AND article_number = '44';
|
|
151
|
-
|
|
152
|
-
-- ============================================================================
|
|
153
|
-
-- 8. FINANCIAL SERVICES (PSD2, MiCA, MiFID)
|
|
154
|
-
-- ============================================================================
|
|
155
|
-
|
|
156
|
-
-- PSD2 Article 96: Incident reporting
|
|
157
|
-
-- Links to: DORA Art 19 (major incidents), GDPR Art 33 (personal data breaches)
|
|
158
|
-
UPDATE articles
|
|
159
|
-
SET cross_references = '["DORA:19", "GDPR:33", "PSD2:95"]'
|
|
160
|
-
WHERE regulation = 'PSD2' AND article_number = '96';
|
|
161
|
-
|
|
162
|
-
-- MiCA Article 73: Incident reporting for crypto-asset service providers
|
|
163
|
-
-- Links to: DORA Art 19 (incident reporting), GDPR Art 33
|
|
164
|
-
UPDATE articles
|
|
165
|
-
SET cross_references = '["DORA:19", "GDPR:33", "MICA:72"]'
|
|
166
|
-
WHERE regulation = 'MICA' AND article_number = '73';
|
|
167
|
-
|
|
168
|
-
-- ============================================================================
|
|
169
|
-
-- 9. AUTOMOTIVE (UN R155/R156)
|
|
170
|
-
-- ============================================================================
|
|
171
|
-
|
|
172
|
-
-- UN_R155 Article 7: Cybersecurity Management System (CSMS)
|
|
173
|
-
-- Links to: CRA Art 10 (product cybersecurity), UN_R156 Art 7 (software updates)
|
|
174
|
-
UPDATE articles
|
|
175
|
-
SET cross_references = '["CRA:10", "UN_R156:7", "NIS2:21"]'
|
|
176
|
-
WHERE regulation = 'UN_R155' AND article_number = '7';
|
|
177
|
-
|
|
178
|
-
-- UN_R156 Article 7: Software Update Management System (SUMS)
|
|
179
|
-
-- Links to: UN_R155 Art 7 (CSMS), CRA Art 10 (security updates)
|
|
180
|
-
UPDATE articles
|
|
181
|
-
SET cross_references = '["UN_R155:7", "CRA:10", "CRA:11"]'
|
|
182
|
-
WHERE regulation = 'UN_R156' AND article_number = '7';
|
|
183
|
-
|
|
184
|
-
-- ============================================================================
|
|
185
|
-
-- 10. CRITICAL INFRASTRUCTURE
|
|
186
|
-
-- ============================================================================
|
|
187
|
-
|
|
188
|
-
-- CER Article 15: Incident notification
|
|
189
|
-
-- Links to: NIS2 Art 23 (incident reporting), DORA Art 19 (for financial entities)
|
|
190
|
-
UPDATE articles
|
|
191
|
-
SET cross_references = '["NIS2:23", "DORA:19", "CER:11"]'
|
|
192
|
-
WHERE regulation = 'CER' AND article_number = '15';
|
|
193
|
-
|
|
194
|
-
-- ============================================================================
|
|
195
|
-
-- VERIFICATION QUERY
|
|
196
|
-
-- ============================================================================
|
|
197
|
-
-- SELECT regulation, article_number, title, cross_references
|
|
198
|
-
-- FROM articles
|
|
199
|
-
-- WHERE cross_references IS NOT NULL
|
|
200
|
-
-- ORDER BY regulation, CAST(article_number AS INTEGER);
|