ris-mcp-ts 1.1.2 → 1.2.4
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 +39 -13
- package/dist/client.d.ts +22 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +124 -57
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts +12 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +57 -0
- package/dist/constants.js.map +1 -1
- package/dist/formatting.d.ts.map +1 -1
- package/dist/formatting.js +33 -2
- package/dist/formatting.js.map +1 -1
- package/dist/http.d.ts +20 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +106 -11
- package/dist/http.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +41 -4
- package/dist/parser.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/bezirke.d.ts.map +1 -1
- package/dist/tools/bezirke.js +26 -21
- package/dist/tools/bezirke.js.map +1 -1
- package/dist/tools/bundesgesetzblatt.d.ts.map +1 -1
- package/dist/tools/bundesgesetzblatt.js +26 -20
- package/dist/tools/bundesgesetzblatt.js.map +1 -1
- package/dist/tools/bundesrecht.d.ts +20 -0
- package/dist/tools/bundesrecht.d.ts.map +1 -1
- package/dist/tools/bundesrecht.js +77 -39
- package/dist/tools/bundesrecht.js.map +1 -1
- package/dist/tools/dokument.d.ts.map +1 -1
- package/dist/tools/dokument.js +52 -123
- package/dist/tools/dokument.js.map +1 -1
- package/dist/tools/gemeinden.d.ts.map +1 -1
- package/dist/tools/gemeinden.js +68 -51
- package/dist/tools/gemeinden.js.map +1 -1
- package/dist/tools/history.d.ts.map +1 -1
- package/dist/tools/history.js +26 -21
- package/dist/tools/history.js.map +1 -1
- package/dist/tools/judikatur.d.ts +27 -0
- package/dist/tools/judikatur.d.ts.map +1 -1
- package/dist/tools/judikatur.js +108 -25
- package/dist/tools/judikatur.js.map +1 -1
- package/dist/tools/landesgesetzblatt.d.ts.map +1 -1
- package/dist/tools/landesgesetzblatt.js +23 -18
- package/dist/tools/landesgesetzblatt.js.map +1 -1
- package/dist/tools/landesrecht.d.ts +20 -0
- package/dist/tools/landesrecht.d.ts.map +1 -1
- package/dist/tools/landesrecht.js +80 -29
- package/dist/tools/landesrecht.js.map +1 -1
- package/dist/tools/regierungsvorlagen.d.ts.map +1 -1
- package/dist/tools/regierungsvorlagen.js +56 -51
- package/dist/tools/regierungsvorlagen.js.map +1 -1
- package/dist/tools/sonstige.d.ts.map +1 -1
- package/dist/tools/sonstige.js +94 -89
- package/dist/tools/sonstige.js.map +1 -1
- package/dist/tools/verordnungen.d.ts.map +1 -1
- package/dist/tools/verordnungen.js +23 -18
- package/dist/tools/verordnungen.js.map +1 -1
- package/dist/types.d.ts +104 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +45 -1
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +13 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/package.json +41 -25
|
@@ -4,33 +4,39 @@
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { searchBundesrecht } from '../client.js';
|
|
6
6
|
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
7
|
+
import { LimitSchema, SeiteSchema } from '../types.js';
|
|
7
8
|
export function registerBundesgesetzblattTool(server) {
|
|
8
|
-
server.
|
|
9
|
+
server.registerTool('ris_bundesgesetzblatt', {
|
|
10
|
+
title: 'Bundesgesetzblatt durchsuchen',
|
|
11
|
+
description: `Search Austrian Federal Law Gazettes (Bundesgesetzblatt).
|
|
9
12
|
|
|
10
13
|
Use this tool for historical research and tracking when laws were enacted.
|
|
11
14
|
Contains official publications of federal laws, ordinances, and treaties.
|
|
12
15
|
|
|
13
16
|
Example queries:
|
|
14
17
|
- bgblnummer="120", jahrgang="2023", teil="1" -> Find specific gazette
|
|
15
|
-
- suchworte="Klimaschutz" -> Full-text search in gazettes`,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
- suchworte="Klimaschutz" -> Full-text search in gazettes`,
|
|
19
|
+
inputSchema: {
|
|
20
|
+
bgblnummer: z.string().max(100).optional().describe('Gazette number (e.g., "120")'),
|
|
21
|
+
teil: z
|
|
22
|
+
.enum(['1', '2', '3'])
|
|
23
|
+
.optional()
|
|
24
|
+
.describe('Part - "1" (I=Laws), "2" (II=Ordinances), "3" (III=Treaties)'),
|
|
25
|
+
jahrgang: z.string().max(10).optional().describe('Year (e.g., "2023")'),
|
|
26
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
27
|
+
titel: z.string().max(500).optional().describe('Search in gazette titles'),
|
|
28
|
+
applikation: z
|
|
29
|
+
.enum(['BgblAuth', 'BgblPdf', 'BgblAlt'])
|
|
30
|
+
.default('BgblAuth')
|
|
31
|
+
.describe('"BgblAuth" (authentic 2004+, default), "BgblPdf" (PDF), "BgblAlt" (1945-2003)'),
|
|
32
|
+
seite: SeiteSchema.describe('Page number (default: 1)'),
|
|
33
|
+
limit: LimitSchema.describe('Results per page: 10, 20, 50, or 100 (default: 20)'),
|
|
34
|
+
response_format: z
|
|
35
|
+
.enum(['markdown', 'json'])
|
|
36
|
+
.default('markdown')
|
|
37
|
+
.describe('"markdown" (default) or "json"'),
|
|
38
|
+
},
|
|
39
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
34
40
|
}, async (args) => {
|
|
35
41
|
const { bgblnummer, teil, jahrgang, suchworte, titel, applikation, seite, limit, response_format, } = args;
|
|
36
42
|
if (!hasAnyParam(args, ['bgblnummer', 'jahrgang', 'suchworte', 'titel'])) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundesgesetzblatt.js","sourceRoot":"","sources":["../../src/tools/bundesgesetzblatt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"bundesgesetzblatt.js","sourceRoot":"","sources":["../../src/tools/bundesgesetzblatt.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,25 @@
|
|
|
2
2
|
* Tool: ris_bundesrecht — Search Austrian federal laws (Bundesrecht).
|
|
3
3
|
*/
|
|
4
4
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
/** Resolved arguments for building Bundesrecht API params (after Zod defaults). */
|
|
6
|
+
export interface BundesrechtParamsArgs {
|
|
7
|
+
applikation: string;
|
|
8
|
+
suchworte?: string;
|
|
9
|
+
titel?: string;
|
|
10
|
+
paragraph?: string;
|
|
11
|
+
abschnitt_typ: 'Paragraph' | 'Artikel' | 'Anlage';
|
|
12
|
+
fassung_vom?: string;
|
|
13
|
+
seite: number;
|
|
14
|
+
limit: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Build the RIS API parameter object for a Bundesrecht search.
|
|
18
|
+
*
|
|
19
|
+
* The "Erv" application (English translations) uses a different parameter
|
|
20
|
+
* vocabulary (SearchTerms/Title) than the German consolidated laws
|
|
21
|
+
* (Suchworte/Titel); sending Suchworte to Erv is silently ignored by the API
|
|
22
|
+
* and returns all documents instead of a filtered result.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildBundesrechtParams(args: BundesrechtParamsArgs): Record<string, unknown>;
|
|
5
25
|
export declare function registerBundesrechtTool(server: McpServer): void;
|
|
6
26
|
//# sourceMappingURL=bundesrecht.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundesrecht.d.ts","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"bundesrecht.d.ts","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4B3F;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoF/D"}
|
|
@@ -4,41 +4,80 @@
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { searchBundesrecht } from '../client.js';
|
|
6
6
|
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
7
|
-
import { BundesrechtApplikationSchema, DateSchema } from '../types.js';
|
|
7
|
+
import { AbschnittTypSchema, BundesrechtApplikationSchema, DateSchema, LimitSchema, SeiteSchema, } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Build the RIS API parameter object for a Bundesrecht search.
|
|
10
|
+
*
|
|
11
|
+
* The "Erv" application (English translations) uses a different parameter
|
|
12
|
+
* vocabulary (SearchTerms/Title) than the German consolidated laws
|
|
13
|
+
* (Suchworte/Titel); sending Suchworte to Erv is silently ignored by the API
|
|
14
|
+
* and returns all documents instead of a filtered result.
|
|
15
|
+
*/
|
|
16
|
+
export function buildBundesrechtParams(args) {
|
|
17
|
+
const { applikation, suchworte, titel, paragraph, abschnitt_typ, fassung_vom, seite, limit } = args;
|
|
18
|
+
const params = buildBaseParams(applikation, limit, seite);
|
|
19
|
+
if (applikation === 'Erv') {
|
|
20
|
+
// English translations: distinct parameter names, no Abschnitt/Fassung support.
|
|
21
|
+
addOptionalParams(params, [
|
|
22
|
+
[suchworte, 'SearchTerms'],
|
|
23
|
+
[titel, 'Title'],
|
|
24
|
+
]);
|
|
25
|
+
return params;
|
|
26
|
+
}
|
|
27
|
+
addOptionalParams(params, [
|
|
28
|
+
[suchworte, 'Suchworte'],
|
|
29
|
+
[titel, 'Titel'],
|
|
30
|
+
[fassung_vom, 'FassungVom'],
|
|
31
|
+
]);
|
|
32
|
+
if (paragraph) {
|
|
33
|
+
params['Abschnitt.Von'] = paragraph;
|
|
34
|
+
params['Abschnitt.Bis'] = paragraph;
|
|
35
|
+
params['Abschnitt.Typ'] = abschnitt_typ;
|
|
36
|
+
}
|
|
37
|
+
return params;
|
|
38
|
+
}
|
|
8
39
|
export function registerBundesrechtTool(server) {
|
|
9
|
-
server.
|
|
40
|
+
server.registerTool('ris_bundesrecht', {
|
|
41
|
+
title: 'Bundesrecht durchsuchen',
|
|
42
|
+
description: `Search Austrian federal laws (Bundesrecht).
|
|
10
43
|
|
|
11
44
|
Use this tool to find Austrian federal legislation like ABGB, StGB, UGB, etc.
|
|
12
45
|
|
|
13
46
|
Example queries:
|
|
14
47
|
- suchworte="Mietrecht" -> Find laws mentioning rent law
|
|
15
|
-
- titel="ABGB", paragraph="
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
.
|
|
38
|
-
.
|
|
39
|
-
.describe('
|
|
48
|
+
- titel="ABGB", paragraph="1295" -> Find specific ABGB section
|
|
49
|
+
- titel="B-VG", paragraph="7", abschnitt_typ="Artikel" -> Article-based laws
|
|
50
|
+
- titel="ABGB", fassung_vom="2015-01-01" -> Consolidated version as of a date
|
|
51
|
+
- applikation="Begut" -> Search draft legislation`,
|
|
52
|
+
inputSchema: {
|
|
53
|
+
suchworte: z
|
|
54
|
+
.string()
|
|
55
|
+
.max(1000)
|
|
56
|
+
.optional()
|
|
57
|
+
.describe('Full-text search terms (e.g., "Mietrecht", "Schadenersatz")'),
|
|
58
|
+
titel: z
|
|
59
|
+
.string()
|
|
60
|
+
.max(500)
|
|
61
|
+
.optional()
|
|
62
|
+
.describe('Search in law titles (e.g., "ABGB", "Strafgesetzbuch")'),
|
|
63
|
+
paragraph: z
|
|
64
|
+
.string()
|
|
65
|
+
.max(100)
|
|
66
|
+
.optional()
|
|
67
|
+
.describe('Section number to search for (e.g., "1295" for §1295, "7" for Art 7)'),
|
|
68
|
+
abschnitt_typ: AbschnittTypSchema.default('Paragraph').describe('Type of section that "paragraph" refers to: "Paragraph" (default), "Artikel" (article-based laws like B-VG), or "Anlage" (annex). "Art 7 B-VG" requires "Artikel".'),
|
|
69
|
+
applikation: BundesrechtApplikationSchema.default('BrKons').describe('Data source - "BrKons" (consolidated, default), "Begut" (drafts), "BgblAuth" (gazette), "Erv" (English translations)'),
|
|
70
|
+
fassung_vom: DateSchema.optional().describe('Consolidated version as of this date (YYYY-MM-DD) — retrieves the law text as it stood on that day. Not supported for "Erv".'),
|
|
71
|
+
seite: SeiteSchema.describe('Page number (default: 1)'),
|
|
72
|
+
limit: LimitSchema.describe('Results per page: 10, 20, 50, or 100 (default: 20)'),
|
|
73
|
+
response_format: z
|
|
74
|
+
.enum(['markdown', 'json'])
|
|
75
|
+
.default('markdown')
|
|
76
|
+
.describe('"markdown" (default) or "json"'),
|
|
77
|
+
},
|
|
78
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
40
79
|
}, async (args) => {
|
|
41
|
-
const { suchworte, titel, paragraph, applikation, fassung_vom, seite, limit, response_format, } = args;
|
|
80
|
+
const { suchworte, titel, paragraph, abschnitt_typ, applikation, fassung_vom, seite, limit, response_format, } = args;
|
|
42
81
|
if (!hasAnyParam(args, ['suchworte', 'titel', 'paragraph'])) {
|
|
43
82
|
return createValidationErrorResponse([
|
|
44
83
|
'suchworte` fuer Volltextsuche',
|
|
@@ -46,17 +85,16 @@ Example queries:
|
|
|
46
85
|
'paragraph` fuer Suche nach Paragraphen',
|
|
47
86
|
]);
|
|
48
87
|
}
|
|
49
|
-
const params =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
88
|
+
const params = buildBundesrechtParams({
|
|
89
|
+
applikation,
|
|
90
|
+
suchworte,
|
|
91
|
+
titel,
|
|
92
|
+
paragraph,
|
|
93
|
+
abschnitt_typ,
|
|
94
|
+
fassung_vom,
|
|
95
|
+
seite,
|
|
96
|
+
limit,
|
|
97
|
+
});
|
|
60
98
|
return executeSearchTool(searchBundesrecht, params, response_format);
|
|
61
99
|
});
|
|
62
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundesrecht.js","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"bundesrecht.js","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dokument.d.ts","sourceRoot":"","sources":["../../src/tools/dokument.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"dokument.d.ts","sourceRoot":"","sources":["../../src/tools/dokument.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+L5D"}
|
package/dist/tools/dokument.js
CHANGED
|
@@ -2,25 +2,30 @@
|
|
|
2
2
|
* Tool 7: ris_dokument — Retrieve full text of a legal document.
|
|
3
3
|
*/
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { getDocumentByNumber, getDocumentContent, isAllowedUrl, searchBundesrecht, searchJudikatur, searchLandesrecht, searchSonstige, } from '../client.js';
|
|
5
|
+
import { getDocumentByNumber, getDocumentContent, getDocumentRoute, isAllowedUrl, searchBezirke, searchBundesrecht, searchJudikatur, searchLandesrecht, searchSonstige, } from '../client.js';
|
|
6
6
|
import { formatDocument, truncateResponse } from '../formatting.js';
|
|
7
7
|
import { createMcpResponse, formatErrorResponse } from '../helpers.js';
|
|
8
8
|
import { findDocumentByDokumentnummer } from '../parser.js';
|
|
9
9
|
export function registerDokumentTool(server) {
|
|
10
|
-
server.
|
|
10
|
+
server.registerTool('ris_dokument', {
|
|
11
|
+
title: 'Dokument abrufen',
|
|
12
|
+
description: `Retrieve full text of a legal document.
|
|
11
13
|
|
|
12
14
|
Use this after searching to load the complete text of a specific law or decision.
|
|
13
15
|
|
|
14
|
-
Note: For long documents, content may be truncated. Use specific searches to narrow down.`,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
Note: For long documents, content may be truncated. Use specific searches to narrow down.`,
|
|
17
|
+
inputSchema: {
|
|
18
|
+
dokumentnummer: z
|
|
19
|
+
.string()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('RIS document number (e.g., "NOR40052761") - from search results'),
|
|
22
|
+
url: z.string().optional().describe('Direct URL to document content'),
|
|
23
|
+
response_format: z
|
|
24
|
+
.enum(['markdown', 'json'])
|
|
25
|
+
.default('markdown')
|
|
26
|
+
.describe('"markdown" (default) or "json"'),
|
|
27
|
+
},
|
|
28
|
+
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
24
29
|
}, async (args) => {
|
|
25
30
|
const { dokumentnummer, url: inputUrl, response_format } = args;
|
|
26
31
|
if (!dokumentnummer && !inputUrl) {
|
|
@@ -55,118 +60,34 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
55
60
|
};
|
|
56
61
|
}
|
|
57
62
|
else {
|
|
58
|
-
// Direct fetch failed - fallback to search API
|
|
63
|
+
// Direct fetch failed - fallback to search API. Routing (endpoint +
|
|
64
|
+
// Applikation) comes from the shared registry in client.ts so it stays
|
|
65
|
+
// consistent with the direct-URL construction. Unknown prefixes default
|
|
66
|
+
// to a Justiz search.
|
|
67
|
+
const route = getDocumentRoute(dokumentnummer);
|
|
68
|
+
const searchParams = {
|
|
69
|
+
Applikation: route?.applikation ?? 'Justiz',
|
|
70
|
+
Dokumentnummer: dokumentnummer,
|
|
71
|
+
DokumenteProSeite: 'Ten',
|
|
72
|
+
};
|
|
59
73
|
let apiResponse;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
Applikation: 'LrKons',
|
|
78
|
-
Dokumentnummer: dokumentnummer,
|
|
79
|
-
DokumenteProSeite: 'Ten',
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
else if (dokumentnummer.startsWith('JFR') || dokumentnummer.startsWith('JFT')) {
|
|
83
|
-
apiResponse = await searchJudikatur({
|
|
84
|
-
Applikation: 'Vfgh',
|
|
85
|
-
Dokumentnummer: dokumentnummer,
|
|
86
|
-
DokumenteProSeite: 'Ten',
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
else if (dokumentnummer.startsWith('JWR') || dokumentnummer.startsWith('JWT')) {
|
|
90
|
-
apiResponse = await searchJudikatur({
|
|
91
|
-
Applikation: 'Vwgh',
|
|
92
|
-
Dokumentnummer: dokumentnummer,
|
|
93
|
-
DokumenteProSeite: 'Ten',
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
else if (dokumentnummer.startsWith('BVWG')) {
|
|
97
|
-
apiResponse = await searchJudikatur({
|
|
98
|
-
Applikation: 'Bvwg',
|
|
99
|
-
Dokumentnummer: dokumentnummer,
|
|
100
|
-
DokumenteProSeite: 'Ten',
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
else if (dokumentnummer.startsWith('LVWG')) {
|
|
104
|
-
apiResponse = await searchJudikatur({
|
|
105
|
-
Applikation: 'Lvwg',
|
|
106
|
-
Dokumentnummer: dokumentnummer,
|
|
107
|
-
DokumenteProSeite: 'Ten',
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
else if (dokumentnummer.startsWith('DSB')) {
|
|
111
|
-
apiResponse = await searchJudikatur({
|
|
112
|
-
Applikation: 'Dsk',
|
|
113
|
-
Dokumentnummer: dokumentnummer,
|
|
114
|
-
DokumenteProSeite: 'Ten',
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
else if (dokumentnummer.startsWith('GBK')) {
|
|
118
|
-
apiResponse = await searchJudikatur({
|
|
119
|
-
Applikation: 'Gbk',
|
|
120
|
-
Dokumentnummer: dokumentnummer,
|
|
121
|
-
DokumenteProSeite: 'Ten',
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
else if (dokumentnummer.startsWith('PVAK')) {
|
|
125
|
-
apiResponse = await searchJudikatur({
|
|
126
|
-
Applikation: 'Pvak',
|
|
127
|
-
Dokumentnummer: dokumentnummer,
|
|
128
|
-
DokumenteProSeite: 'Ten',
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
else if (dokumentnummer.startsWith('ASYLGH')) {
|
|
132
|
-
apiResponse = await searchJudikatur({
|
|
133
|
-
Applikation: 'AsylGH',
|
|
134
|
-
Dokumentnummer: dokumentnummer,
|
|
135
|
-
DokumenteProSeite: 'Ten',
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
else if (dokumentnummer.startsWith('BGBLA') || dokumentnummer.startsWith('BGBL')) {
|
|
139
|
-
// Bundesgesetzblätter - use Bundesrecht endpoint
|
|
140
|
-
const applikation = dokumentnummer.startsWith('BGBLA') ? 'BgblAuth' : 'BgblAlt';
|
|
141
|
-
apiResponse = await searchBundesrecht({
|
|
142
|
-
Applikation: applikation,
|
|
143
|
-
Dokumentnummer: dokumentnummer,
|
|
144
|
-
DokumenteProSeite: 'Ten',
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
else if (dokumentnummer.startsWith('REGV')) {
|
|
148
|
-
// Regierungsvorlagen - use Bundesrecht endpoint
|
|
149
|
-
apiResponse = await searchBundesrecht({
|
|
150
|
-
Applikation: 'RegV',
|
|
151
|
-
Dokumentnummer: dokumentnummer,
|
|
152
|
-
DokumenteProSeite: 'Ten',
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
else if (dokumentnummer.startsWith('MRP') || dokumentnummer.startsWith('ERL')) {
|
|
156
|
-
// Sonstige Sammlungen - use Sonstige endpoint
|
|
157
|
-
apiResponse = await searchSonstige({
|
|
158
|
-
Applikation: dokumentnummer.startsWith('MRP') ? 'Mrp' : 'Erlaesse',
|
|
159
|
-
Dokumentnummer: dokumentnummer,
|
|
160
|
-
DokumenteProSeite: 'Ten',
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
// Default to Justiz for unknown prefixes
|
|
165
|
-
apiResponse = await searchJudikatur({
|
|
166
|
-
Applikation: 'Justiz',
|
|
167
|
-
Dokumentnummer: dokumentnummer,
|
|
168
|
-
DokumenteProSeite: 'Ten',
|
|
169
|
-
});
|
|
74
|
+
switch (route?.endpoint) {
|
|
75
|
+
case 'Bundesrecht':
|
|
76
|
+
apiResponse = await searchBundesrecht(searchParams);
|
|
77
|
+
break;
|
|
78
|
+
case 'Landesrecht':
|
|
79
|
+
apiResponse = await searchLandesrecht(searchParams);
|
|
80
|
+
break;
|
|
81
|
+
case 'Sonstige':
|
|
82
|
+
apiResponse = await searchSonstige(searchParams);
|
|
83
|
+
break;
|
|
84
|
+
case 'Bezirke':
|
|
85
|
+
apiResponse = await searchBezirke(searchParams);
|
|
86
|
+
break;
|
|
87
|
+
case 'Judikatur':
|
|
88
|
+
default:
|
|
89
|
+
apiResponse = await searchJudikatur(searchParams);
|
|
90
|
+
break;
|
|
170
91
|
}
|
|
171
92
|
// Find the document with matching dokumentnummer (don't blindly take first result)
|
|
172
93
|
const findResult = findDocumentByDokumentnummer(apiResponse.documents, dokumentnummer);
|
|
@@ -193,6 +114,14 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
193
114
|
return createMcpResponse(`**Fehler:** Keine Inhalts-URL fuer Dokument \`${dokumentnummer}\` verfuegbar.\n\n` +
|
|
194
115
|
'Das Dokument hat moeglicherweise keinen abrufbaren Volltext.');
|
|
195
116
|
}
|
|
117
|
+
// SSRF protection: this URL comes straight from the search API response
|
|
118
|
+
// and would otherwise be fetched unchecked. Validate it against the same
|
|
119
|
+
// domain allowlist used for user-supplied URLs.
|
|
120
|
+
if (!isAllowedUrl(contentUrl)) {
|
|
121
|
+
return createMcpResponse('**Fehler:** Die Inhalts-URL des Dokuments ist nicht erlaubt.\n\n' +
|
|
122
|
+
'Nur HTTPS-URLs zu offiziellen RIS-Domains sind zulaessig ' +
|
|
123
|
+
'(data.bka.gv.at, www.ris.bka.gv.at, ris.bka.gv.at).');
|
|
124
|
+
}
|
|
196
125
|
// Build metadata from search result
|
|
197
126
|
metadata = {
|
|
198
127
|
dokumentnummer: doc.dokumentnummer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dokument.js","sourceRoot":"","sources":["../../src/tools/dokument.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"dokument.js","sourceRoot":"","sources":["../../src/tools/dokument.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemeinden.d.ts","sourceRoot":"","sources":["../../src/tools/gemeinden.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"gemeinden.d.ts","sourceRoot":"","sources":["../../src/tools/gemeinden.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+K7D"}
|