@cyanheads/ris-austria-mcp-server 0.4.4 → 0.5.1
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 +16 -14
- package/CLAUDE.md +16 -14
- package/Dockerfile +92 -36
- package/README.md +57 -94
- package/changelog/0.5.x/0.5.0.md +29 -0
- package/changelog/0.5.x/0.5.1.md +33 -0
- package/dist/config/server-config.d.ts.map +1 -1
- package/dist/config/server-config.js +1 -1
- package/dist/config/server-config.js.map +1 -1
- package/dist/mcp-server/resources/definitions/ris-document.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/ris-document.resource.js +3 -7
- package/dist/mcp-server/resources/definitions/ris-document.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared.d.ts +31 -9
- package/dist/mcp-server/tools/definitions/_shared.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared.js +40 -7
- package/dist/mcp-server/tools/definitions/_shared.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts +19 -7
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js +67 -39
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js +12 -8
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js +3 -9
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts +9 -3
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js +46 -62
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js +27 -55
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts +9 -3
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js +20 -29
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js +28 -44
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js +18 -44
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js +3 -11
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js.map +1 -1
- package/dist/services/ris/reference/changed-since-intervals.d.ts +5 -3
- package/dist/services/ris/reference/changed-since-intervals.d.ts.map +1 -1
- package/dist/services/ris/reference/changed-since-intervals.js +4 -2
- package/dist/services/ris/reference/changed-since-intervals.js.map +1 -1
- package/dist/services/ris/reference/collections.d.ts +10 -6
- package/dist/services/ris/reference/collections.d.ts.map +1 -1
- package/dist/services/ris/reference/collections.js +29 -3
- package/dist/services/ris/reference/collections.js.map +1 -1
- package/dist/services/ris/reference/issuing-bodies.d.ts +57 -22
- package/dist/services/ris/reference/issuing-bodies.d.ts.map +1 -1
- package/dist/services/ris/reference/issuing-bodies.js +58 -23
- package/dist/services/ris/reference/issuing-bodies.js.map +1 -1
- package/dist/services/ris/reference/ministries.d.ts +56 -2
- package/dist/services/ris/reference/ministries.d.ts.map +1 -1
- package/dist/services/ris/reference/ministries.js +65 -1
- package/dist/services/ris/reference/ministries.js.map +1 -1
- package/dist/services/ris/request-builder.d.ts +20 -3
- package/dist/services/ris/request-builder.d.ts.map +1 -1
- package/dist/services/ris/request-builder.js +69 -17
- package/dist/services/ris/request-builder.js.map +1 -1
- package/dist/services/ris/ris-service.d.ts +14 -5
- package/dist/services/ris/ris-service.d.ts.map +1 -1
- package/dist/services/ris/ris-service.js +43 -17
- package/dist/services/ris/ris-service.js.map +1 -1
- package/package.json +11 -10
- package/server.json +12 -26
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Request builders for the RIS OGD API — one thin builder per document
|
|
3
|
-
* class over a shared param bag, plus ministry
|
|
4
|
-
* application aliasing.
|
|
3
|
+
* class over a shared param bag, plus ministry and social-insurance-carrier abbreviation
|
|
4
|
+
* expansion and the History application aliasing.
|
|
5
5
|
*
|
|
6
6
|
* STRICT PARAM ALLOWLIST: RIS silently ignores unknown query params (a typo returns
|
|
7
7
|
* plausible but unfiltered results, never an error), so builders emit only spellings
|
|
@@ -41,13 +41,30 @@ export interface RisRequest {
|
|
|
41
41
|
readonly controller: RisController | 'History';
|
|
42
42
|
readonly params: Readonly<Record<string, string>>;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* `data.reason` on every ministry-expansion rejection. The tools that take a ministry declare it
|
|
46
|
+
* in their error contract, so the rejection reaches the caller with a recovery that points at
|
|
47
|
+
* the ministries table rather than the generic invalid-query advice.
|
|
48
|
+
*/
|
|
49
|
+
export declare const UNRESOLVED_MINISTRY_REASON = "unresolved_ministry";
|
|
44
50
|
/**
|
|
45
51
|
* Resolve a ministry input (abbreviation or full designation) to the value the target
|
|
46
52
|
* issuer-param family needs. Phrase-matched `EinbringendeStelle` gets the bare
|
|
47
53
|
* abbreviation (matches every designation era of that abbreviation — live-confirmed equal
|
|
48
54
|
* to the composite, 536 = 536); the exact-match families get the full designation
|
|
49
55
|
* (Erlaesse `Bundesministerium`) or the `ABBR (Name)` composite (Mrp `Einbringer`).
|
|
50
|
-
*
|
|
56
|
+
*
|
|
57
|
+
* The input is matched against the whole table first and narrowed to the family second, so
|
|
58
|
+
* a ministry the table knows but this family does not accept is rejected as exactly that,
|
|
59
|
+
* naming the parameters that do accept it — never as an unknown ministry that is its own
|
|
60
|
+
* near-miss. `acceptedBy` is taken from the value lists RIS publishes and the live corpus, so
|
|
61
|
+
* a known designation the family lacks is rejected even when it contains whitespace.
|
|
62
|
+
*
|
|
63
|
+
* A value the table does not know passes through unchanged when it contains whitespace: it
|
|
64
|
+
* is a full designation, and a static table that lags a cabinet reshuffle must not block an
|
|
65
|
+
* issuer RIS holds documents for (a phrase or exact match cannot widen the query). An unknown
|
|
66
|
+
* abbreviation-shaped token, or an abbreviation this family cannot resolve to one value,
|
|
67
|
+
* throws a ValidationError naming the near-misses or candidates.
|
|
51
68
|
*/
|
|
52
69
|
export declare function expandMinistry(input: string, family: MinistryParamFamily): string;
|
|
53
70
|
/** Applications reachable through the legislation surface. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-builder.d.ts","sourceRoot":"","sources":["../../../src/services/ris/request-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"request-builder.d.ts","sourceRoot":"","sources":["../../../src/services/ris/request-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Request builders for the RIS OGD API — one thin builder per document
|
|
3
|
-
* class over a shared param bag, plus ministry
|
|
4
|
-
* application aliasing.
|
|
3
|
+
* class over a shared param bag, plus ministry and social-insurance-carrier abbreviation
|
|
4
|
+
* expansion and the History application aliasing.
|
|
5
5
|
*
|
|
6
6
|
* STRICT PARAM ALLOWLIST: RIS silently ignores unknown query params (a typo returns
|
|
7
7
|
* plausible but unfiltered results, never an error), so builders emit only spellings
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* @module services/ris/request-builder
|
|
16
16
|
*/
|
|
17
17
|
import { validationError } from '@cyanheads/mcp-ts-core/errors';
|
|
18
|
-
import { RIS_APPLICATIONS, RIS_CHANGED_SINCE_INTERVALS, RIS_COLLECTIONS, RIS_COURTS, RIS_DECISION_KINDS, RIS_MINISTRIES, RIS_STAGES, RIS_STATES, } from './reference/index.js';
|
|
18
|
+
import { RIS_APPLICATIONS, RIS_CHANGED_SINCE_INTERVALS, RIS_COLLECTIONS, RIS_COURTS, RIS_DECISION_KINDS, RIS_ISSUING_BODIES, RIS_MINISTRIES, RIS_STAGES, RIS_STATES, } from './reference/index.js';
|
|
19
19
|
const PAGE_SIZE_TOKENS = {
|
|
20
20
|
10: 'Ten',
|
|
21
21
|
20: 'Twenty',
|
|
@@ -109,27 +109,56 @@ function stateByCode(code) {
|
|
|
109
109
|
/* ------------------------------------------------------------------------------------ */
|
|
110
110
|
/* Ministry expansion */
|
|
111
111
|
/* ------------------------------------------------------------------------------------ */
|
|
112
|
+
/**
|
|
113
|
+
* `data.reason` on every ministry-expansion rejection. The tools that take a ministry declare it
|
|
114
|
+
* in their error contract, so the rejection reaches the caller with a recovery that points at
|
|
115
|
+
* the ministries table rather than the generic invalid-query advice.
|
|
116
|
+
*/
|
|
117
|
+
export const UNRESOLVED_MINISTRY_REASON = 'unresolved_ministry';
|
|
118
|
+
/** Each issuer-param family as a rejection names it: the RIS parameter and what it serves. */
|
|
119
|
+
const MINISTRY_PARAMETER = {
|
|
120
|
+
einbringende_stelle: 'EinbringendeStelle (review drafts, government bills, federal gazette)',
|
|
121
|
+
erlaesse_bundesministerium: 'Erlaesse Bundesministerium (collection ministerial_decrees)',
|
|
122
|
+
mrp_einbringer: 'Mrp Einbringer (collection council_minutes)',
|
|
123
|
+
};
|
|
112
124
|
/**
|
|
113
125
|
* Resolve a ministry input (abbreviation or full designation) to the value the target
|
|
114
126
|
* issuer-param family needs. Phrase-matched `EinbringendeStelle` gets the bare
|
|
115
127
|
* abbreviation (matches every designation era of that abbreviation — live-confirmed equal
|
|
116
128
|
* to the composite, 536 = 536); the exact-match families get the full designation
|
|
117
129
|
* (Erlaesse `Bundesministerium`) or the `ABBR (Name)` composite (Mrp `Einbringer`).
|
|
118
|
-
*
|
|
130
|
+
*
|
|
131
|
+
* The input is matched against the whole table first and narrowed to the family second, so
|
|
132
|
+
* a ministry the table knows but this family does not accept is rejected as exactly that,
|
|
133
|
+
* naming the parameters that do accept it — never as an unknown ministry that is its own
|
|
134
|
+
* near-miss. `acceptedBy` is taken from the value lists RIS publishes and the live corpus, so
|
|
135
|
+
* a known designation the family lacks is rejected even when it contains whitespace.
|
|
136
|
+
*
|
|
137
|
+
* A value the table does not know passes through unchanged when it contains whitespace: it
|
|
138
|
+
* is a full designation, and a static table that lags a cabinet reshuffle must not block an
|
|
139
|
+
* issuer RIS holds documents for (a phrase or exact match cannot widen the query). An unknown
|
|
140
|
+
* abbreviation-shaped token, or an abbreviation this family cannot resolve to one value,
|
|
141
|
+
* throws a ValidationError naming the near-misses or candidates.
|
|
119
142
|
*/
|
|
120
143
|
export function expandMinistry(input, family) {
|
|
121
144
|
const needle = input.trim();
|
|
122
145
|
const lower = needle.toLowerCase();
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
146
|
+
const known = RIS_MINISTRIES.filter((ministry) => ministry.abbreviation?.toLowerCase() === lower ||
|
|
147
|
+
ministry.designation.toLowerCase() === lower ||
|
|
148
|
+
ministry.mrpComposite?.toLowerCase() === lower);
|
|
149
|
+
const matches = known.filter((ministry) => ministry.acceptedBy.some((accepted) => accepted === family));
|
|
150
|
+
if (known.length > 0 && matches.length === 0) {
|
|
151
|
+
const acceptedBy = [...new Set(known.flatMap((ministry) => ministry.acceptedBy))];
|
|
152
|
+
throw validationError(`Ministry "${needle}" is not accepted by this issuer parameter, ${MINISTRY_PARAMETER[family]} — RIS lists it only for ${acceptedBy.map((accepted) => MINISTRY_PARAMETER[accepted]).join(' and ')}.`, { acceptedBy, family, input: needle, reason: UNRESOLVED_MINISTRY_REASON });
|
|
153
|
+
}
|
|
127
154
|
if (matches.length === 0) {
|
|
155
|
+
if (/\s/u.test(needle))
|
|
156
|
+
return needle;
|
|
128
157
|
const nearMisses = RIS_MINISTRIES.filter((ministry) => ministry.abbreviation?.toLowerCase().startsWith(lower) ||
|
|
129
158
|
ministry.designation.toLowerCase().includes(lower))
|
|
130
159
|
.slice(0, 3)
|
|
131
160
|
.map((ministry) => ministry.abbreviation ?? ministry.designation);
|
|
132
|
-
throw validationError(`Unknown ministry "${needle}"${nearMisses.length > 0 ? ` — closest matches: ${nearMisses.join(', ')}` : ''}. Pass an abbreviation or full designation from the RIS ministries table.`, { input: needle, nearMisses });
|
|
161
|
+
throw validationError(`Unknown ministry "${needle}"${nearMisses.length > 0 ? ` — closest matches: ${nearMisses.join(', ')}` : ''}. Pass an abbreviation or full designation from the RIS ministries table.`, { input: needle, nearMisses, reason: UNRESOLVED_MINISTRY_REASON });
|
|
133
162
|
}
|
|
134
163
|
if (family === 'einbringende_stelle') {
|
|
135
164
|
const first = matches[0];
|
|
@@ -141,17 +170,25 @@ export function expandMinistry(input, family) {
|
|
|
141
170
|
return value === null ? [] : [value];
|
|
142
171
|
})),
|
|
143
172
|
];
|
|
144
|
-
if (values.length === 0) {
|
|
145
|
-
throw validationError(`Ministry "${needle}" is not accepted by this issuer parameter.`, {
|
|
146
|
-
family,
|
|
147
|
-
input: needle,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
173
|
if (values.length > 1) {
|
|
151
|
-
throw validationError(`Ministry "${needle}" is ambiguous here — pass the full designation instead: ${values.join(' | ')}.`, { candidates: values, input: needle });
|
|
174
|
+
throw validationError(`Ministry "${needle}" is ambiguous here — pass the full designation instead: ${values.join(' | ')}.`, { candidates: values, input: needle, reason: UNRESOLVED_MINISTRY_REASON });
|
|
152
175
|
}
|
|
153
176
|
return values[0];
|
|
154
177
|
}
|
|
178
|
+
/** Avsv carrier abbreviations, lowercased, to their exact `Urheber` value. */
|
|
179
|
+
const AVSV_ISSUER_BY_ABBREVIATION = new Map(RIS_ISSUING_BODIES.flatMap((body) => body.application === 'Avsv' && body.abbreviation !== undefined
|
|
180
|
+
? [[body.abbreviation.toLowerCase(), body.value]]
|
|
181
|
+
: []));
|
|
182
|
+
/**
|
|
183
|
+
* Expand a social-insurance carrier abbreviation ("ÖGK", case-insensitive) to the exact
|
|
184
|
+
* `Urheber` value RIS matches ("Österreichische Gesundheitskasse (ÖGK)"). Every other value —
|
|
185
|
+
* a full designation, a `<ABBR> Gesamtvertrag` series, an issuer the table has not caught up
|
|
186
|
+
* with — passes through unchanged: `Urheber` is an exact, case-insensitive match that refuses
|
|
187
|
+
* wildcards, so an unexpanded value can only miss, never widen the query.
|
|
188
|
+
*/
|
|
189
|
+
function expandSocialInsuranceIssuer(input) {
|
|
190
|
+
return AVSV_ISSUER_BY_ABBREVIATION.get(input.trim().toLowerCase()) ?? input;
|
|
191
|
+
}
|
|
155
192
|
/** Build a legislation search request. */
|
|
156
193
|
export function buildLegislationRequest(params) {
|
|
157
194
|
const app = params.application;
|
|
@@ -543,6 +580,18 @@ const AVN_TYPE_FLAGS = [
|
|
|
543
580
|
'VeroeffentlichungenAufGrundVEVO',
|
|
544
581
|
];
|
|
545
582
|
const NORM_APPS = new Set(['Avn', 'Erlaesse']);
|
|
583
|
+
/**
|
|
584
|
+
* Collections whose backend honors `ImRisSeit` (probed 2026-09-24). Avsv and Avn accept the
|
|
585
|
+
* element — a bogus value fails schema validation — but ignore every valid one and return the
|
|
586
|
+
* whole collection, so `changedSince` is refused there rather than forwarded.
|
|
587
|
+
*/
|
|
588
|
+
const CHANGED_SINCE_APPS = new Set([
|
|
589
|
+
'Erlaesse',
|
|
590
|
+
'KmGer',
|
|
591
|
+
'Mrp',
|
|
592
|
+
'PruefGewO',
|
|
593
|
+
'Spg',
|
|
594
|
+
]);
|
|
546
595
|
/** Sort columns confirmed valid per collection (probed 2026-07-05). */
|
|
547
596
|
const ANNOUNCEMENT_SORT_COLUMNS = {
|
|
548
597
|
Avn: { number: 'Avnnummer', published: 'Kundmachungsdatum' },
|
|
@@ -596,7 +645,7 @@ export function buildAnnouncementsRequest(params) {
|
|
|
596
645
|
}
|
|
597
646
|
if (params.issuer !== undefined) {
|
|
598
647
|
if (app === 'Avsv')
|
|
599
|
-
bag.set('Urheber', params.issuer);
|
|
648
|
+
bag.set('Urheber', expandSocialInsuranceIssuer(params.issuer));
|
|
600
649
|
else if (app === 'Erlaesse')
|
|
601
650
|
bag.set('Bundesministerium', expandMinistry(params.issuer, 'erlaesse_bundesministerium'));
|
|
602
651
|
else if (app === 'Mrp')
|
|
@@ -665,6 +714,9 @@ export function buildAnnouncementsRequest(params) {
|
|
|
665
714
|
unsupported('legislature', app);
|
|
666
715
|
bag.set('Gesetzgebungsperiode', params.legislature);
|
|
667
716
|
}
|
|
717
|
+
if (params.changedSince !== undefined && !CHANGED_SINCE_APPS.has(app)) {
|
|
718
|
+
unsupported('changedSince', app);
|
|
719
|
+
}
|
|
668
720
|
bag.changedSince(params.changedSince);
|
|
669
721
|
if (params.sortBy !== undefined) {
|
|
670
722
|
const columns = ANNOUNCEMENT_SORT_COLUMNS[app] ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-builder.js","sourceRoot":"","sources":["../../../src/services/ris/request-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-builder.js","sourceRoot":"","sources":["../../../src/services/ris/request-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview RisService — the single gateway to the RIS OGD REST API v2.6
|
|
3
|
-
* (`data.bka.gv.at`) and the document content
|
|
4
|
-
*
|
|
3
|
+
* (`data.bka.gv.at`) and the document content hosts (`www.ris.bka.gv.at`, which this
|
|
4
|
+
* service constructs rendition URLs on, and `ogd.ris.bka.gv.at`, which search results
|
|
5
|
+
* carry). Tool handlers call the per-class search methods and never touch HTTP or the
|
|
6
|
+
* JSON-XML envelope.
|
|
5
7
|
*
|
|
6
8
|
* Resilience: `withRetry` (base delay 1.5s — rate-limited-API calibration) wraps the full
|
|
7
9
|
* fetch + parse pipeline, under a wall-clock budget shared by every attempt so a slow
|
|
@@ -13,7 +15,8 @@
|
|
|
13
15
|
* `fetchJson` translates rather than letting the status decide. An upstream 5xx carrying no
|
|
14
16
|
* such envelope uses the framework's `ServiceUnavailable` classification; HTTP 501 opts
|
|
15
17
|
* out of retry, and caller cancellation remains `RequestCancelled`.
|
|
16
|
-
* Content fetches are allowlisted to the
|
|
18
|
+
* Content fetches are allowlisted to the `/Dokumente/` tree on exactly those two origins, plus
|
|
19
|
+
* a configured content host (SSRF guard).
|
|
17
20
|
* @module services/ris/ris-service
|
|
18
21
|
*/
|
|
19
22
|
import type { Context } from '@cyanheads/mcp-ts-core';
|
|
@@ -24,8 +27,14 @@ import type { RisChangeSet, RisDocumentContent, RisSearchResult } from './types.
|
|
|
24
27
|
export declare const RIS_CONTENT_FORMATS: readonly ['html', 'pdf', 'rtf', 'xml'];
|
|
25
28
|
export type RisContentFormat = (typeof RIS_CONTENT_FORMATS)[number];
|
|
26
29
|
/**
|
|
27
|
-
*
|
|
28
|
-
* content host
|
|
30
|
+
* Every origin a `document_url` may carry: the two RIS content origins, plus the configured
|
|
31
|
+
* content host's own, which is the default `www.` origin unless an operator repoints
|
|
32
|
+
* `RIS_CONTENT_BASE_URL` — whose constructed URLs must then pass the same check.
|
|
33
|
+
*/
|
|
34
|
+
export declare function fetchableOrigins(contentBaseUrl: string): string[];
|
|
35
|
+
/**
|
|
36
|
+
* Assert a caller-supplied document URL is fetchable: on one of {@link fetchableOrigins} and
|
|
37
|
+
* inside its `/Dokumente/` tree. Nothing else is ever fetched.
|
|
29
38
|
*/
|
|
30
39
|
export declare function assertFetchableDocumentUrl(url: string, contentBaseUrl: string): URL;
|
|
31
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ris-service.d.ts","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ris-service.d.ts","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAuB/D,OAAO,EACL,KAAK,yBAAyB,EAO9B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAoEpF,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,YAAI,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAkBpE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,GAAG,CAenF;AAED;;;GAGG;AACH,qBAAa,UAAU;IAET,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,wEAAwE;IACxE,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEjD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,SAAS;IAKjB,2FAA2F;IAC3F,OAAO,CAAC,cAAc;IAOtB,gFAAgF;IAC1E,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAE/F;IAED,mFAAmF;IAC7E,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAEvF;IAED,6FAA6F;IACvF,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAEvF;IAED,+EAA+E;IACzE,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAErF;IAED,qEAAqE;IAC/D,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,EACjC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,eAAe,CAAC,CAE1B;IAED,8EAA8E;IACxE,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAOlF;IAED;;;;;;;;;;OAUG;IACH,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CA8BR;IAED,8EAA8E;IACxE,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmCjF;IAED,kFAAkF;YACpE,MAAM;IASpB;;;;;;;;OAQG;YACW,OAAO;IA2BrB,oFAAoF;YACtE,SAAS;CAwCxB;AAMD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEtD;AAED,uFAAuF;AACvF,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview RisService — the single gateway to the RIS OGD REST API v2.6
|
|
3
|
-
* (`data.bka.gv.at`) and the document content
|
|
4
|
-
*
|
|
3
|
+
* (`data.bka.gv.at`) and the document content hosts (`www.ris.bka.gv.at`, which this
|
|
4
|
+
* service constructs rendition URLs on, and `ogd.ris.bka.gv.at`, which search results
|
|
5
|
+
* carry). Tool handlers call the per-class search methods and never touch HTTP or the
|
|
6
|
+
* JSON-XML envelope.
|
|
5
7
|
*
|
|
6
8
|
* Resilience: `withRetry` (base delay 1.5s — rate-limited-API calibration) wraps the full
|
|
7
9
|
* fetch + parse pipeline, under a wall-clock budget shared by every attempt so a slow
|
|
@@ -13,7 +15,8 @@
|
|
|
13
15
|
* `fetchJson` translates rather than letting the status decide. An upstream 5xx carrying no
|
|
14
16
|
* such envelope uses the framework's `ServiceUnavailable` classification; HTTP 501 opts
|
|
15
17
|
* out of retry, and caller cancellation remains `RequestCancelled`.
|
|
16
|
-
* Content fetches are allowlisted to the
|
|
18
|
+
* Content fetches are allowlisted to the `/Dokumente/` tree on exactly those two origins, plus
|
|
19
|
+
* a configured content host (SSRF guard).
|
|
17
20
|
* @module services/ris/ris-service
|
|
18
21
|
*/
|
|
19
22
|
import { McpError, serviceUnavailable, timeout, validationError, } from '@cyanheads/mcp-ts-core/errors';
|
|
@@ -28,14 +31,17 @@ import { buildAnnouncementsRequest, buildCaseLawRequest, buildDraftsRequest, bui
|
|
|
28
31
|
* Search latency tracks how much of the corpus RIS has to scan, not a fixed cost (measured
|
|
29
32
|
* 2026-07-26 against the live Judikatur controller): a filtered search answers in 0.6–3s,
|
|
30
33
|
* but an unfiltered Bvwg page costs 3.4–3.9s at page_size 10, 6.0–10.5s at 20, 14.6–18.3s at
|
|
31
|
-
* 50, and 27–43s at 100. The previous 15s deadline therefore could not serve the larger
|
|
32
|
-
* sizes
|
|
33
|
-
*
|
|
34
|
-
*
|
|
34
|
+
* 50, and 27–43s at 100. The previous 15s deadline therefore could not serve the two larger
|
|
35
|
+
* page sizes at all, and four attempts at 15s plus ~13s of jittered backoff spent ~73s
|
|
36
|
+
* reaching a verdict the MCP SDK's 60s default request timeout had already taken from the
|
|
37
|
+
* caller.
|
|
35
38
|
*
|
|
36
|
-
* `SEARCH_TIMEOUT_MS` covers that band up to its long tail. The
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
+
* `SEARCH_TIMEOUT_MS` covers that band up to its long tail. The tools accept page sizes 10
|
|
40
|
+
* and 20 only (#40), which keeps a tool-issued search in the 6–10.5s band; the deadline
|
|
41
|
+
* still sizes for 50 and 100, which `RisPageSize` keeps in the service vocabulary. The tail
|
|
42
|
+
* past it is out of reach at any deadline that still leaves room to deliver the response, so
|
|
43
|
+
* the `upstream_timeout` recovery hints name the lever that shortens the scan (a smaller
|
|
44
|
+
* page_size).
|
|
39
45
|
* `SEARCH_BUDGET_MS` is `withRetry`'s `deadlineMs` — one wall-clock budget across every
|
|
40
46
|
* attempt and every backoff, so a slow *failing* upstream cannot multiply the deadline by
|
|
41
47
|
* the attempt count. Each attempt bounds its own fetch at whatever is left, a backoff that
|
|
@@ -89,8 +95,24 @@ export const RIS_CONTENT_FORMATS = ['html', 'pdf', 'rtf', 'xml'];
|
|
|
89
95
|
const DOCUMENT_NUMBER_PATTERN = /^[\p{L}\p{N}_.~-]+$/u;
|
|
90
96
|
const CONTENT_PATH_SEGMENTS = new Map(RIS_APPLICATIONS.map((app) => [app.code, app.contentPathSegment]));
|
|
91
97
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
98
|
+
* The origins RIS serves document renditions from: `www.` is the host this server constructs
|
|
99
|
+
* URLs on, and `ogd.` is the host every `content_urls` and draft `materials[].url` in the OGD
|
|
100
|
+
* API's search output now carries. Both serve the same `/Dokumente/` tree byte for byte.
|
|
101
|
+
* Matched exactly — never by suffix — so another `*.bka.gv.at` host, a lookalike, a port, or
|
|
102
|
+
* `http://` stays unfetchable.
|
|
103
|
+
*/
|
|
104
|
+
const RIS_CONTENT_ORIGINS = ['https://www.ris.bka.gv.at', 'https://ogd.ris.bka.gv.at'];
|
|
105
|
+
/**
|
|
106
|
+
* Every origin a `document_url` may carry: the two RIS content origins, plus the configured
|
|
107
|
+
* content host's own, which is the default `www.` origin unless an operator repoints
|
|
108
|
+
* `RIS_CONTENT_BASE_URL` — whose constructed URLs must then pass the same check.
|
|
109
|
+
*/
|
|
110
|
+
export function fetchableOrigins(contentBaseUrl) {
|
|
111
|
+
return [...new Set([...RIS_CONTENT_ORIGINS, new URL(contentBaseUrl).origin])];
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Assert a caller-supplied document URL is fetchable: on one of {@link fetchableOrigins} and
|
|
115
|
+
* inside its `/Dokumente/` tree. Nothing else is ever fetched.
|
|
94
116
|
*/
|
|
95
117
|
export function assertFetchableDocumentUrl(url, contentBaseUrl) {
|
|
96
118
|
let parsed;
|
|
@@ -100,9 +122,9 @@ export function assertFetchableDocumentUrl(url, contentBaseUrl) {
|
|
|
100
122
|
catch (cause) {
|
|
101
123
|
throw validationError(`document_url is not a valid URL: "${url}"`, { url }, { cause });
|
|
102
124
|
}
|
|
103
|
-
const
|
|
104
|
-
if (parsed.origin
|
|
105
|
-
throw validationError(`Only
|
|
125
|
+
const allowedOrigins = fetchableOrigins(contentBaseUrl);
|
|
126
|
+
if (!allowedOrigins.includes(parsed.origin) || !parsed.pathname.startsWith('/Dokumente/')) {
|
|
127
|
+
throw validationError(`Only /Dokumente/ URLs on ${allowedOrigins.join(' or ')} are fetchable — pass a URL exactly as returned in content_urls.`, { allowedOrigins, url });
|
|
106
128
|
}
|
|
107
129
|
return parsed;
|
|
108
130
|
}
|
|
@@ -205,9 +227,13 @@ export class RisService {
|
|
|
205
227
|
});
|
|
206
228
|
const text = await response.text();
|
|
207
229
|
const contentType = response.headers.get('content-type');
|
|
208
|
-
|
|
230
|
+
const byteSize = new TextEncoder().encode(text).length;
|
|
231
|
+
ctx.log.debug('RIS content fetched', {
|
|
232
|
+
byteSize,
|
|
233
|
+
file: target.pathname.slice(target.pathname.lastIndexOf('/') + 1),
|
|
234
|
+
});
|
|
209
235
|
return {
|
|
210
|
-
byteSize
|
|
236
|
+
byteSize,
|
|
211
237
|
...(contentType !== null && { contentType }),
|
|
212
238
|
text,
|
|
213
239
|
url: target.href,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ris-service.js","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ris-service.js","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/ris-austria-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"mcpName": "io.github.cyanheads/ris-austria-mcp-server",
|
|
5
5
|
"description": "Search Austrian consolidated federal & state law, court decisions, and the authentic Bundesgesetzblatt from the official RIS via MCP. Keyless. STDIO or Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"files": [
|
|
13
13
|
"changelog/",
|
|
14
14
|
"dist/",
|
|
15
|
+
"!dist/*.mcpb",
|
|
15
16
|
"README.md",
|
|
16
17
|
"LICENSE",
|
|
17
18
|
"CLAUDE.md",
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
}
|
|
82
83
|
],
|
|
83
84
|
"license": "Apache-2.0",
|
|
84
|
-
"packageManager": "bun@1.4.
|
|
85
|
+
"packageManager": "bun@1.4.2",
|
|
85
86
|
"engines": {
|
|
86
87
|
"bun": ">=1.4.0",
|
|
87
88
|
"node": ">=24.0.0"
|
|
@@ -91,19 +92,19 @@
|
|
|
91
92
|
},
|
|
92
93
|
"trustedDependencies": ["@socketsecurity/bun-security-scanner"],
|
|
93
94
|
"dependencies": {
|
|
94
|
-
"@cyanheads/mcp-ts-core": "^0.13.
|
|
95
|
+
"@cyanheads/mcp-ts-core": "^0.13.14",
|
|
95
96
|
"node-html-markdown": "^2.0.0",
|
|
96
|
-
"pino-pretty": "^13.
|
|
97
|
+
"pino-pretty": "^13.2.0",
|
|
97
98
|
"zod": "^4.6.5"
|
|
98
99
|
},
|
|
99
100
|
"devDependencies": {
|
|
100
|
-
"@biomejs/biome": "2.5.
|
|
101
|
-
"@socketsecurity/bun-security-scanner": "^1.1.
|
|
102
|
-
"@types/node": "26.6.
|
|
101
|
+
"@biomejs/biome": "2.5.15",
|
|
102
|
+
"@socketsecurity/bun-security-scanner": "^1.1.3",
|
|
103
|
+
"@types/node": "^26.6.4",
|
|
103
104
|
"depcheck": "^1.4.7",
|
|
104
|
-
"ignore": "^7.0.
|
|
105
|
-
"tsc-alias": "^1.9.
|
|
105
|
+
"ignore": "^7.0.12",
|
|
106
|
+
"tsc-alias": "^1.9.7",
|
|
106
107
|
"typescript": "^7.0.2",
|
|
107
|
-
"vitest": "^5.0.
|
|
108
|
+
"vitest": "^5.0.3"
|
|
108
109
|
}
|
|
109
110
|
}
|