@cyanheads/ris-austria-mcp-server 0.4.3 → 0.4.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/AGENTS.md +32 -8
- package/CLAUDE.md +32 -8
- package/README.md +70 -67
- package/changelog/0.4.x/0.4.4.md +30 -0
- package/changelog/template.md +7 -7
- package/dist/index.js +3 -0
- package/dist/index.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 +9 -2
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts +3 -0
- 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 +3 -0
- 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 +2 -0
- 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 +2 -0
- 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 +3 -0
- 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 +3 -0
- 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 +3 -0
- 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 +3 -0
- 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 +3 -0
- 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 +3 -0
- 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 +3 -0
- 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 -0
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js.map +1 -1
- package/dist/services/ris/ris-service.d.ts +7 -3
- package/dist/services/ris/ris-service.d.ts.map +1 -1
- package/dist/services/ris/ris-service.js +17 -14
- package/dist/services/ris/ris-service.js.map +1 -1
- package/package.json +7 -7
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** ris-austria-mcp-server
|
|
4
|
-
**Version:** 0.4.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.
|
|
4
|
+
**Version:** 0.4.4
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.6`
|
|
6
6
|
**Engines:** Bun ≥1.4.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/server` ^2.0.0
|
|
8
|
-
**Zod:** ^4.6.
|
|
8
|
+
**Zod:** ^4.6.5
|
|
9
9
|
|
|
10
10
|
> **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
|
|
11
11
|
|
|
@@ -146,6 +146,7 @@ The entry point pins the machine identity and immutable public catalog cache hin
|
|
|
146
146
|
await createApp({
|
|
147
147
|
name: 'ris-austria-mcp-server',
|
|
148
148
|
title: 'ris-austria-mcp-server',
|
|
149
|
+
sessionMode: 'stateless',
|
|
149
150
|
cacheHints: {
|
|
150
151
|
'tools/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
|
151
152
|
'resources/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
|
@@ -162,6 +163,23 @@ await createApp({
|
|
|
162
163
|
|
|
163
164
|
`package.json` is the canonical description source; do not duplicate it into `createApp()`.
|
|
164
165
|
|
|
166
|
+
### Session posture and shutdown
|
|
167
|
+
|
|
168
|
+
`sessionMode` declares the HTTP session posture in `src/` instead of leaving it to a
|
|
169
|
+
deployment's `MCP_SESSION_MODE`, which still wins whenever it carries a meaningful value (an
|
|
170
|
+
empty string and an unsubstituted `${…}` placeholder read as unset and fall through to the
|
|
171
|
+
option). Every RIS tool answers from the request it was given, so `stateless` is the honest
|
|
172
|
+
declaration here. Add `require: 'stateful'` only if a tool ever asks the caller for input
|
|
173
|
+
mid-handler via `ctx.requestInput`: startup then fails with a `ConfigurationError` rather than
|
|
174
|
+
serving a mode in which a 2025-era client can never answer the prompt. Stdio is never refused.
|
|
175
|
+
|
|
176
|
+
`teardown(core)` is the `setup()` counterpart — release a watcher, socket, or non-`unref()`'d
|
|
177
|
+
timer there. It runs after the transport stops and before the logger closes, on every shutdown
|
|
178
|
+
path, and a signal-triggered shutdown then exits the process explicitly (0, or 1 if a step
|
|
179
|
+
never settles within the framework's 10 s ceiling). `RisService` holds nothing across requests
|
|
180
|
+
— every fetch is bounded by the caller's signal and the retry deadline — so this server
|
|
181
|
+
declares no `teardown`.
|
|
182
|
+
|
|
165
183
|
---
|
|
166
184
|
|
|
167
185
|
## Context
|
|
@@ -279,9 +297,9 @@ Available skills:
|
|
|
279
297
|
| `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
|
|
280
298
|
| `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
|
|
281
299
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
282
|
-
| `git-wrapup` |
|
|
283
|
-
| `release-
|
|
284
|
-
| `release-
|
|
300
|
+
| `git-wrapup` | Land working-tree changes as a commit stack — version bump, changelog, verify, commit by concern, release commit on top. No tag, no push to main; opens the release PR when the project declares release PR mode |
|
|
301
|
+
| `release-pr-review` | Review pass on an open release PR — simplifier + correctness review, fixes as ordinary commits on top of the stack, PR body kept in sync. Release PR mode only |
|
|
302
|
+
| `release-and-publish` | Fast-forward merge (release PR mode) + tag + push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
|
|
285
303
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
286
304
|
| `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
|
|
287
305
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
@@ -316,8 +334,8 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
316
334
|
| `bun run rebuild` | Clean + build |
|
|
317
335
|
| `bun run clean` | Remove build artifacts |
|
|
318
336
|
| `bun run devcheck` | Lint + format + typecheck + security + changelog sync |
|
|
319
|
-
| `bun run audit:fix` |
|
|
320
|
-
| `bun run audit:refresh` | Delete `bun.lock` and reinstall. Last resort after
|
|
337
|
+
| `bun run audit:fix` | `bun audit fix` — upgrade vulnerable packages to the lowest safe version within existing ranges (`--dry-run` previews, `--latest` rewrites ranges). First response when `devcheck` flags a transitive advisory; then `bun update <name>`, then `bun dedupe` |
|
|
338
|
+
| `bun run audit:refresh` | Delete `bun.lock` and reinstall. Last resort after `audit:fix`, `bun update <name>`, and `bun dedupe` — re-resolves every ranged dep (the framework pin included) and rewrites the lockfile as `lockfileVersion: 2` |
|
|
321
339
|
| `bun run lint:mcp` | Run the MCP definition linter standalone (rule catalog: `api-linter` skill) |
|
|
322
340
|
| `bun run lint:packaging` | Packaging surface checks — `server.json`/`manifest.json` env-var parity (run by devcheck) |
|
|
323
341
|
| `bun run list-skills` | Print the skill registry |
|
|
@@ -370,6 +388,12 @@ security: false # optional — true ONLY for a source
|
|
|
370
388
|
|
|
371
389
|
---
|
|
372
390
|
|
|
391
|
+
## Publishing
|
|
392
|
+
|
|
393
|
+
**Every release goes through a release PR, straight-through** — `git-wrapup`'s "Release PR mode", mode `straight-through`. One run: `git-wrapup` lands the commit stack on `release/<version>`, pushes it, and opens the PR (title = the release commit subject, body = the changelog entry plus a gates section); `release-and-publish` then fast-forwards `main` locally with `git merge --ff-only`, creates the tag on `main`'s tip, pushes `main` and the tag, deletes the branch, and publishes. A caller's brief may run a given release as `gated` instead — a `release-pr-review` pass on the open PR before `release-and-publish`. **Never merge through the GitHub UI or `gh pr merge`**: squash and rebase-merge are disabled in the repo settings because both rewrite the stack (rebase-merge also strips the SSH signatures), and a merge commit breaks the linear history.
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
373
397
|
## Imports
|
|
374
398
|
|
|
375
399
|
```ts
|
package/CLAUDE.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** ris-austria-mcp-server
|
|
4
|
-
**Version:** 0.4.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.
|
|
4
|
+
**Version:** 0.4.4
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.6`
|
|
6
6
|
**Engines:** Bun ≥1.4.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/server` ^2.0.0
|
|
8
|
-
**Zod:** ^4.6.
|
|
8
|
+
**Zod:** ^4.6.5
|
|
9
9
|
|
|
10
10
|
> **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
|
|
11
11
|
|
|
@@ -146,6 +146,7 @@ The entry point pins the machine identity and immutable public catalog cache hin
|
|
|
146
146
|
await createApp({
|
|
147
147
|
name: 'ris-austria-mcp-server',
|
|
148
148
|
title: 'ris-austria-mcp-server',
|
|
149
|
+
sessionMode: 'stateless',
|
|
149
150
|
cacheHints: {
|
|
150
151
|
'tools/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
|
151
152
|
'resources/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
|
@@ -162,6 +163,23 @@ await createApp({
|
|
|
162
163
|
|
|
163
164
|
`package.json` is the canonical description source; do not duplicate it into `createApp()`.
|
|
164
165
|
|
|
166
|
+
### Session posture and shutdown
|
|
167
|
+
|
|
168
|
+
`sessionMode` declares the HTTP session posture in `src/` instead of leaving it to a
|
|
169
|
+
deployment's `MCP_SESSION_MODE`, which still wins whenever it carries a meaningful value (an
|
|
170
|
+
empty string and an unsubstituted `${…}` placeholder read as unset and fall through to the
|
|
171
|
+
option). Every RIS tool answers from the request it was given, so `stateless` is the honest
|
|
172
|
+
declaration here. Add `require: 'stateful'` only if a tool ever asks the caller for input
|
|
173
|
+
mid-handler via `ctx.requestInput`: startup then fails with a `ConfigurationError` rather than
|
|
174
|
+
serving a mode in which a 2025-era client can never answer the prompt. Stdio is never refused.
|
|
175
|
+
|
|
176
|
+
`teardown(core)` is the `setup()` counterpart — release a watcher, socket, or non-`unref()`'d
|
|
177
|
+
timer there. It runs after the transport stops and before the logger closes, on every shutdown
|
|
178
|
+
path, and a signal-triggered shutdown then exits the process explicitly (0, or 1 if a step
|
|
179
|
+
never settles within the framework's 10 s ceiling). `RisService` holds nothing across requests
|
|
180
|
+
— every fetch is bounded by the caller's signal and the retry deadline — so this server
|
|
181
|
+
declares no `teardown`.
|
|
182
|
+
|
|
165
183
|
---
|
|
166
184
|
|
|
167
185
|
## Context
|
|
@@ -279,9 +297,9 @@ Available skills:
|
|
|
279
297
|
| `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
|
|
280
298
|
| `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
|
|
281
299
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
282
|
-
| `git-wrapup` |
|
|
283
|
-
| `release-
|
|
284
|
-
| `release-
|
|
300
|
+
| `git-wrapup` | Land working-tree changes as a commit stack — version bump, changelog, verify, commit by concern, release commit on top. No tag, no push to main; opens the release PR when the project declares release PR mode |
|
|
301
|
+
| `release-pr-review` | Review pass on an open release PR — simplifier + correctness review, fixes as ordinary commits on top of the stack, PR body kept in sync. Release PR mode only |
|
|
302
|
+
| `release-and-publish` | Fast-forward merge (release PR mode) + tag + push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
|
|
285
303
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
286
304
|
| `orchestrations` | Chain task skills into a gated multi-phase pipeline — build-out, QA-fix, update-ship — when you can spawn sub-agents |
|
|
287
305
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
@@ -316,8 +334,8 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
316
334
|
| `bun run rebuild` | Clean + build |
|
|
317
335
|
| `bun run clean` | Remove build artifacts |
|
|
318
336
|
| `bun run devcheck` | Lint + format + typecheck + security + changelog sync |
|
|
319
|
-
| `bun run audit:fix` |
|
|
320
|
-
| `bun run audit:refresh` | Delete `bun.lock` and reinstall. Last resort after
|
|
337
|
+
| `bun run audit:fix` | `bun audit fix` — upgrade vulnerable packages to the lowest safe version within existing ranges (`--dry-run` previews, `--latest` rewrites ranges). First response when `devcheck` flags a transitive advisory; then `bun update <name>`, then `bun dedupe` |
|
|
338
|
+
| `bun run audit:refresh` | Delete `bun.lock` and reinstall. Last resort after `audit:fix`, `bun update <name>`, and `bun dedupe` — re-resolves every ranged dep (the framework pin included) and rewrites the lockfile as `lockfileVersion: 2` |
|
|
321
339
|
| `bun run lint:mcp` | Run the MCP definition linter standalone (rule catalog: `api-linter` skill) |
|
|
322
340
|
| `bun run lint:packaging` | Packaging surface checks — `server.json`/`manifest.json` env-var parity (run by devcheck) |
|
|
323
341
|
| `bun run list-skills` | Print the skill registry |
|
|
@@ -370,6 +388,12 @@ security: false # optional — true ONLY for a source
|
|
|
370
388
|
|
|
371
389
|
---
|
|
372
390
|
|
|
391
|
+
## Publishing
|
|
392
|
+
|
|
393
|
+
**Every release goes through a release PR, straight-through** — `git-wrapup`'s "Release PR mode", mode `straight-through`. One run: `git-wrapup` lands the commit stack on `release/<version>`, pushes it, and opens the PR (title = the release commit subject, body = the changelog entry plus a gates section); `release-and-publish` then fast-forwards `main` locally with `git merge --ff-only`, creates the tag on `main`'s tip, pushes `main` and the tag, deletes the branch, and publishes. A caller's brief may run a given release as `gated` instead — a `release-pr-review` pass on the open PR before `release-and-publish`. **Never merge through the GitHub UI or `gh pr merge`**: squash and rebase-merge are disabled in the repo settings because both rewrite the stack (rebase-merge also strips the SSH signatures), and a merge commit breaks the linear history.
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
373
397
|
## Imports
|
|
374
398
|
|
|
375
399
|
```ts
|
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/ris-austria-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/ris-austria-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -27,13 +27,11 @@
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
## Overview
|
|
31
31
|
|
|
32
|
-
This server wraps the keyless RIS OGD REST API (v2.6, CC BY 4.0)
|
|
32
|
+
[RIS](https://www.ris.bka.gv.at/) is the Austrian government's official legal database: consolidated federal, state, and municipal law, case law from every Austrian court and tribunal, the authentic gazettes whose promulgated text is binding under Austrian law, the pre-parliamentary lawmaking pipeline, and ministerial decrees. This server wraps the keyless RIS OGD REST API (v2.6, CC BY 4.0), covering all 39 OGD applications and reaching back to the Reichsgesetzblatt of 1848; every response labels the document's binding status, since only the amtssignierte gazette wording is legally binding. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Five search tools split by document class, plus a citation resolver, document retrieval, a change feed, and an offline vocabulary reference:
|
|
34
|
+
### Tools
|
|
37
35
|
|
|
38
36
|
| Tool | Description |
|
|
39
37
|
|:---|:---|
|
|
@@ -47,13 +45,21 @@ Five search tools split by document class, plus a citation resolver, document re
|
|
|
47
45
|
| `ris_track_changes` | Per-application change feed: every document added or changed in a date window, deletions included. |
|
|
48
46
|
| `ris_list_reference` | Ground the domain vocabulary offline: applications and coverage windows, court codes, Bundesländer, decision kinds, ministries, district authorities, gazette eras and parts, citation formats, search syntax. |
|
|
49
47
|
|
|
50
|
-
###
|
|
48
|
+
### Resources
|
|
49
|
+
|
|
50
|
+
| Resource | Description |
|
|
51
|
+
|:---|:---|
|
|
52
|
+
| `ris://document/{application}/{documentNumber}` | Markdown text of one RIS document — injectable twin of `ris_get_document` |
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
All resource data is also reachable via tools — clients without resource support use `ris_get_document`.
|
|
55
|
+
|
|
56
|
+
## Capability reference
|
|
57
|
+
|
|
58
|
+
### `ris_search_legislation` <sub>tool</sub>
|
|
53
59
|
|
|
54
60
|
- Full-text `query` using RIS boolean grammar: `UND`/`ODER`/`NICHT` or `AND`/`OR`/`NOT`, parentheses, quoted phrases
|
|
55
61
|
- `title` matches the title, short title, or abbreviation ("DSG", "ABGB")
|
|
56
|
-
- `scope` routes to
|
|
62
|
+
- `scope` routes to one of three applications — BrKons (federal), LrKons (state), Gr (municipal); `municipality` narrows a state scope to municipal law (selected norms, six Bundesländer)
|
|
57
63
|
- `language: english` serves the Erv collection of selected English translations
|
|
58
64
|
- `in_force_as_of` defaults to today. Omitting the date upstream silently searches all historical versions, so `include_all_versions` is the explicit opt-in and the applied date is echoed in every response
|
|
59
65
|
- Force-window filters (`entered_force_from/to`, `left_force_from/to`) track provisions entering or leaving force in a date range
|
|
@@ -63,9 +69,7 @@ Search consolidated law: BrKons (federal), LrKons (state), Gr (municipal).
|
|
|
63
69
|
|
|
64
70
|
---
|
|
65
71
|
|
|
66
|
-
### `ris_search_case_law`
|
|
67
|
-
|
|
68
|
-
Search decisions and headnotes across 17 court and tribunal applications.
|
|
72
|
+
### `ris_search_case_law` <sub>tool</sub>
|
|
69
73
|
|
|
70
74
|
- `court` is required and takes one application per call: `vfgh`, `vwgh`, `justiz`, `bvwg`, `lvwg`, `dsk`, `upts` (party-transparency senate), plus ten historical and specialized tribunals. Cross-court research fans out one call per court
|
|
71
75
|
- Filter by cited provision (`norm`, e.g. "DSG §1", "DSGVO Art32"), exact case number (`case_number`, Geschäftszahl), decision date range, decision kind (Erkenntnis/Beschluss/…), and full-text query
|
|
@@ -75,9 +79,7 @@ Search decisions and headnotes across 17 court and tribunal applications.
|
|
|
75
79
|
|
|
76
80
|
---
|
|
77
81
|
|
|
78
|
-
### `ris_search_gazette`
|
|
79
|
-
|
|
80
|
-
Browse the promulgation record at every level of government. For a single known gazette number, `ris_lookup_citation` is the direct route.
|
|
82
|
+
### `ris_search_gazette` <sub>tool</sub>
|
|
81
83
|
|
|
82
84
|
- `scope`: federal, one of the nine Bundesländer, `district` (Bezirksverwaltungsbehörden), or `municipal` (authentic municipal promulgations)
|
|
83
85
|
- Federal history is one logical series auto-routed across three era tiers: BgblAuth (2004+, authentic), BgblPdf (Staats- und Bundesgesetzblatt 1945–2003), and BgblAlt (Reichs-, Staats- und Bundesgesetzblatt 1848–1940, metadata plus ÖNB-hosted scans). Each response names the tier that served it
|
|
@@ -86,12 +88,11 @@ Browse the promulgation record at every level of government. For a single known
|
|
|
86
88
|
- State scopes serve the authentic Landesgesetzblätter by default. `series: ordinance_gazette` switches to the Verordnungsblätter; `state_era: legacy` selects the state's earlier non-authentic series (Niederösterreich's systematic LgblNO, or the historical Lgbl elsewhere)
|
|
87
89
|
- Point lookup by gazette number ("BGBl. II Nr. 171/2026" or "171/2026")
|
|
88
90
|
- Every record carries a binding label (`authentic`, `historical_record`, or `consolidated_informational`) and the amtssigniert PDF URL when present. The metadata-only 1848–1940 gazettes link to their ÖNB ALEX scan
|
|
91
|
+
- For a single known gazette number, `ris_lookup_citation` is the more direct route
|
|
89
92
|
|
|
90
93
|
---
|
|
91
94
|
|
|
92
|
-
### `ris_search_drafts`
|
|
93
|
-
|
|
94
|
-
Search federal law before it is enacted.
|
|
95
|
+
### `ris_search_drafts` <sub>tool</sub>
|
|
95
96
|
|
|
96
97
|
- `stage: review_drafts` covers ministerial drafts in public review (Begutachtungsentwürfe). `in_review_on` answers what is in review on a given date
|
|
97
98
|
- `stage: government_bills` covers bills adopted by the council of ministers (Regierungsvorlagen, 2004+), filtered by adoption date
|
|
@@ -101,20 +102,16 @@ Search federal law before it is enacted.
|
|
|
101
102
|
|
|
102
103
|
---
|
|
103
104
|
|
|
104
|
-
### `ris_search_announcements`
|
|
105
|
-
|
|
106
|
-
Sectoral official gazettes and executive documents: seven collections, five of them legally binding authentic publications.
|
|
105
|
+
### `ris_search_announcements` <sub>tool</sub>
|
|
107
106
|
|
|
108
|
-
- `collection`: `social_insurance` (Avsv), `veterinary` (Avn), `court_rules` (KmGer), `trade_exam_rules` (PruefGewO), `health_structure_plans` (Spg, ÖSG/RSG), `ministerial_decrees` (Erlässe), `council_minutes` (Ministerratsprotokolle)
|
|
107
|
+
- `collection`: `social_insurance` (Avsv), `veterinary` (Avn), `court_rules` (KmGer), `trade_exam_rules` (PruefGewO), `health_structure_plans` (Spg, ÖSG/RSG), `ministerial_decrees` (Erlässe), `council_minutes` (Ministerratsprotokolle) — five of the seven are authentic publications
|
|
109
108
|
- Collection-aware filters: issue numbers, issuers (insurance carriers, ministries), cited norm ("decrees citing the DSG"), in-force date for the consolidated collections, plan type and state for health plans, session number and legislature for council minutes
|
|
110
109
|
- Binding labels per collection: `authentic`, `administrative_directive` (decrees bind the administration, not citizens), or `preparatory` (council minutes)
|
|
111
110
|
- Every record carries the RIS web view — the only browsable surface for the PDF-only council minutes and for ministerial decrees
|
|
112
111
|
|
|
113
112
|
---
|
|
114
113
|
|
|
115
|
-
### `ris_lookup_citation`
|
|
116
|
-
|
|
117
|
-
Resolve a citation to its canonical document.
|
|
114
|
+
### `ris_lookup_citation` <sub>tool</sub>
|
|
118
115
|
|
|
119
116
|
- Parses and routes four citation kinds: norm cites ("§ 6 DSG", "Art 10 B-VG"), gazette numbers across all three federal eras plus LGBl ("BGBl. I Nr. 165/1999", "BGBl. Nr. 194/1961", "RGBl. Nr. 189/1902"), case numbers ("Ro 2026/03/0016", "2025-0.934.677", "14Os49/26a"), and collection numbers ("VfSlg 19.632/2012")
|
|
120
117
|
- Routes to deterministic upstream filters (section plus title, per-era number params, Geschäftszahl, Sammlungsnummer) rather than keyword search
|
|
@@ -124,9 +121,7 @@ Resolve a citation to its canonical document.
|
|
|
124
121
|
|
|
125
122
|
---
|
|
126
123
|
|
|
127
|
-
### `ris_get_document`
|
|
128
|
-
|
|
129
|
-
Read and export a single document.
|
|
124
|
+
### `ris_get_document` <sub>tool</sub>
|
|
130
125
|
|
|
131
126
|
- Addresses documents by `document_number` plus `application` (from any search or lookup result), or by a passed-through `ris.bka.gv.at` document URL (host and path allowlisted) — including a draft's companion documents from a `ris_search_drafts` record's `materials[].url`, which nothing else can reach. `format` selects the rendition for a companion exactly as for a main document
|
|
132
127
|
- `format`: `markdown` (default, boilerplate stripped), raw `html`, RIS `xml`, or `urls_only`
|
|
@@ -138,46 +133,47 @@ Read and export a single document.
|
|
|
138
133
|
|
|
139
134
|
---
|
|
140
135
|
|
|
141
|
-
### `ris_track_changes`
|
|
142
|
-
|
|
143
|
-
Exact-dated per-application change feed.
|
|
136
|
+
### `ris_track_changes` <sub>tool</sub>
|
|
144
137
|
|
|
145
138
|
- `application` plus `changed_from`/`changed_to` returns every document added or changed in the window. A typical two-week federal-law window carries 1,400+ changes
|
|
146
139
|
- `include_deleted` surfaces removals, which no other RIS surface exposes
|
|
147
140
|
- The search tools' `changed_since` interval filters are the coarser alternative
|
|
148
141
|
|
|
149
|
-
|
|
142
|
+
---
|
|
150
143
|
|
|
151
|
-
|
|
152
|
-
|:---|:---|:---|
|
|
153
|
-
| Resource | `ris://document/{application}/{documentNumber}` | Markdown text of one RIS document — injectable twin of `ris_get_document` |
|
|
144
|
+
### `ris_list_reference` <sub>tool</sub>
|
|
154
145
|
|
|
155
|
-
|
|
146
|
+
- Returns one static RIS vocabulary table per call — no upstream request, no network dependency
|
|
147
|
+
- `topic` selects the table: applications, courts, states, decision types/kinds, issuing bodies, ministries, collections, stages, changed-since intervals, section types, gazette parts, law types, district authorities, justiz subject areas, search syntax, or citation formats
|
|
148
|
+
- The other `ris_*` tools' recovery hints and zero-hit notices route callers back here by topic
|
|
156
149
|
|
|
157
|
-
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
### `ris://document/{application}/{documentNumber}` <sub>resource</sub>
|
|
158
153
|
|
|
159
|
-
|
|
154
|
+
- Markdown only (`text/markdown`) — the injectable twin of `ris_get_document` with `format: markdown`
|
|
155
|
+
- Addressed by `application` + `documentNumber`, copied verbatim from a search or `ris_lookup_citation` result
|
|
156
|
+
- Applications with no text rendition (district/municipal promulgations, court rules, party-transparency decisions, council minutes, the 1848–1940 imperial gazettes) return a short note pointing at the authentic PDF or scan instead
|
|
157
|
+
- Oversized text degrades to the same section/window outline as `ris_get_document`, but carries no `sections` selector — re-fetch via the tool to pull a specific one
|
|
160
158
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
-
|
|
164
|
-
- Structured logging with optional OpenTelemetry tracing
|
|
165
|
-
- STDIO and Streamable HTTP transports
|
|
159
|
+
## Features
|
|
160
|
+
|
|
161
|
+
Built on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio and Streamable HTTP transports, pluggable auth (`none` / `jwt` / `oauth`), swappable storage (`in-memory`, `filesystem`, `Supabase`, `Cloudflare KV/R2/D1`), structured logging with optional OpenTelemetry tracing.
|
|
166
162
|
|
|
167
163
|
RIS-specific:
|
|
168
164
|
|
|
169
165
|
- All 39 OGD applications across every controller, from consolidated law and the four levels of authentic gazette to the 17 court and tribunal collections
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
166
|
+
- Citation engine parses and routes four Austrian citation kinds (norm, gazette number, case number, collection number) to deterministic upstream filters rather than keyword search
|
|
167
|
+
- Strict parameter allowlist and JSON-serialized-XML normalizer — RIS silently ignores unknown params, so only live-confirmed spellings are sent upstream; the normalizer handles object-or-array coercion, in-band error detection, six per-controller metadata classes, CELEX reference parsing, and ministry-abbreviation expansion
|
|
168
|
+
- Retries with a 1.5s base delay calibrated for RIS's rate-limited API; an HTML response in place of JSON is treated as a throttle/degradation signal
|
|
169
|
+
- English tool surface over RIS's German API — Austrian legal terms (Geschäftszahl, Rechtssatz, Bundesgesetzblatt) stay as domain vocabulary and are glossed in the descriptions
|
|
173
170
|
|
|
174
171
|
Agent-friendly output:
|
|
175
172
|
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
- Upstream schema-validation messages pass through. RIS enumerates valid values, which lets agents self-correct
|
|
173
|
+
- Discriminated output contracts — every document carries a typed binding status (`authentic`, `historical_record`, `consolidated_informational`, `decision`, `preparatory`, `administrative_directive`, `translation`) so callers branch on data, not string parsing
|
|
174
|
+
- Provenance — responses echo applied filters (e.g. the resolved `in_force_as_of` date) and, for gazettes, which era tier served the result
|
|
175
|
+
- Actionable recovery — typed error reasons (`court_filter_mismatch`, `invalid_query`, `document_not_found`, …) and zero-hit notices each name the concrete next call: a `ris_list_reference` topic, the right search tool, or `ris_lookup_citation`
|
|
176
|
+
- Response shaping — court- and collection-conditional filter misuse is rejected locally before any upstream call, since RIS silently ignores unknown parameters rather than erroring
|
|
181
177
|
|
|
182
178
|
## Localization
|
|
183
179
|
|
|
@@ -185,8 +181,6 @@ Tool and parameter descriptions are English-only today. German (`de-AT`) descrip
|
|
|
185
181
|
|
|
186
182
|
## Getting started
|
|
187
183
|
|
|
188
|
-
The one-click badges above (Claude Desktop, Cursor, VS Code) are the fastest path. To configure a client manually, the server runs straight from npm — no clone or build required.
|
|
189
|
-
|
|
190
184
|
### Public Hosted Instance
|
|
191
185
|
|
|
192
186
|
A public instance is available at `https://ris-austria.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:
|
|
@@ -202,12 +196,7 @@ A public instance is available at `https://ris-austria.caseyjhand.com/mcp` — n
|
|
|
202
196
|
}
|
|
203
197
|
```
|
|
204
198
|
|
|
205
|
-
###
|
|
206
|
-
|
|
207
|
-
- [Bun v1.3](https://bun.sh/) or higher, or Node.js v24+ (needed for `npx`/`bunx`)
|
|
208
|
-
- No API key — the RIS OGD API is keyless
|
|
209
|
-
|
|
210
|
-
### Self-hosted / local
|
|
199
|
+
### Self-Hosted / Local
|
|
211
200
|
|
|
212
201
|
Add the server to your MCP client configuration with Bun:
|
|
213
202
|
|
|
@@ -258,7 +247,19 @@ Or with Docker:
|
|
|
258
247
|
Add any [configuration](#configuration) variables under an `"env"` key for bunx/npx, or as
|
|
259
248
|
additional `-e NAME=value` arguments for Docker.
|
|
260
249
|
|
|
261
|
-
|
|
250
|
+
For Streamable HTTP, set the transport and start the server:
|
|
251
|
+
|
|
252
|
+
```sh
|
|
253
|
+
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
|
|
254
|
+
# Server listens at http://localhost:3010/mcp
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Prerequisites
|
|
258
|
+
|
|
259
|
+
- [Bun v1.3](https://bun.sh/) or higher, or Node.js v24+ (needed for `npx`/`bunx`)
|
|
260
|
+
- No API key — the RIS OGD API is keyless
|
|
261
|
+
|
|
262
|
+
### Installation
|
|
262
263
|
|
|
263
264
|
For local development or to run a pinned build:
|
|
264
265
|
|
|
@@ -299,13 +300,6 @@ bun run rebuild
|
|
|
299
300
|
}
|
|
300
301
|
```
|
|
301
302
|
|
|
302
|
-
For Streamable HTTP, set the transport and start the server:
|
|
303
|
-
|
|
304
|
-
```sh
|
|
305
|
-
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
|
|
306
|
-
# Server listens at http://localhost:3010/mcp
|
|
307
|
-
```
|
|
308
|
-
|
|
309
303
|
## Configuration
|
|
310
304
|
|
|
311
305
|
| Variable | Description | Default |
|
|
@@ -380,6 +374,15 @@ See [`CLAUDE.md`](./CLAUDE.md) / [`AGENTS.md`](./AGENTS.md) for development guid
|
|
|
380
374
|
- Register new tools and resources via `createApp()` in `src/index.ts`
|
|
381
375
|
- Wrap the RIS API: validate raw → normalize to domain type → return output schema; never fabricate missing fields
|
|
382
376
|
|
|
377
|
+
## Contributing
|
|
378
|
+
|
|
379
|
+
Issues are welcome. Run checks and tests before submitting:
|
|
380
|
+
|
|
381
|
+
```sh
|
|
382
|
+
bun run devcheck
|
|
383
|
+
bun run test
|
|
384
|
+
```
|
|
385
|
+
|
|
383
386
|
## License
|
|
384
387
|
|
|
385
388
|
Apache-2.0 — see [LICENSE](./LICENSE) for details.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "ris_list_reference escapes backslashes before table pipes, a CodeQL workflow runs on every push and PR, and the server adopts mcp-ts-core 0.13.6's session-mode and retry-budget APIs."
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.4.4 — 2026-09-19
|
|
8
|
+
|
|
9
|
+
## Added
|
|
10
|
+
|
|
11
|
+
- **CodeQL static analysis workflow** (`.github/workflows/codeql.yml`) runs on push/PR to `main` and weekly, analyzing JavaScript/TypeScript and Actions.
|
|
12
|
+
|
|
13
|
+
## Changed
|
|
14
|
+
|
|
15
|
+
- **`sessionMode: 'stateless'` is now declared in `src/index.ts`** instead of left to the deployment's `MCP_SESSION_MODE` default — every RIS tool answers from the request it's given, so no handler needs a stateful session.
|
|
16
|
+
- **The search retry budget is `withRetry`'s `deadlineMs`** (mcp-ts-core 0.13.x) — each attempt bounds its own fetch at whatever remains of the 48s budget, and an expiry aborts the in-flight request rather than sleeping past it; a budget-exhausted call now reports `data.reason: 'retry_deadline_exceeded'`.
|
|
17
|
+
- **`lint:packaging` now checks the README `Version-` badge against `package.json`** (mcp-ts-core 0.13.x) — a stale badge fails `devcheck`.
|
|
18
|
+
|
|
19
|
+
## Fixed
|
|
20
|
+
|
|
21
|
+
- **`ris_list_reference`'s `cell()` escapes backslashes before pipes** — an unescaped backslash preceding table punctuation was silently dropped by markdown rendering, corrupting cell values containing `\|`, `\*`, or a Windows path ([#41](https://github.com/cyanheads/ris-austria-mcp-server/issues/41)).
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
|
|
25
|
+
- `@cyanheads/mcp-ts-core` ^0.13.0 → ^0.13.6
|
|
26
|
+
- `zod` ^4.6.1 → ^4.6.5
|
|
27
|
+
- `@biomejs/biome` 2.5.13 → 2.5.14
|
|
28
|
+
- `@types/node` 26.5.1 → 26.6.1
|
|
29
|
+
- `tsc-alias` ^1.9.4 → ^1.9.5
|
|
30
|
+
- `vitest` ^5.0.0 → ^5.0.1
|
package/changelog/template.md
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
# Required. One-line GitHub Release-style headline. 350 character cap — a
|
|
8
8
|
# ceiling, not a target. Default short and scannable. Don't pad, don't stitch
|
|
9
|
-
# unrelated changes with commas/semicolons into an inventory — pick the
|
|
10
|
-
# headline
|
|
9
|
+
# unrelated changes with commas/semicolons into an inventory — pick the one
|
|
10
|
+
# headline the release is about. Quotes required: unquoted YAML treats
|
|
11
11
|
# `: ` inside the value as a key separator and fails GitHub's strict parser.
|
|
12
12
|
summary: ""
|
|
13
13
|
|
|
@@ -119,11 +119,11 @@ security: false
|
|
|
119
119
|
TAG ANNOTATIONS — the annotated tag body renders as the GitHub Release body
|
|
120
120
|
via `gh release create --notes-from-tag`. It is a condensed digest of this
|
|
121
121
|
entry, never a copy, and its format is owned by the `release-and-publish`
|
|
122
|
-
skill (step 4, "Create the annotated tag"):
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
122
|
+
skill (step 4, "Create the annotated tag"): a short subject line without the
|
|
123
|
+
version, flat headline bullets — no Keep-a-Changelog section headers, no
|
|
124
|
+
gates line — at most one deps line, issue backlinks, and the changelog link
|
|
125
|
+
last. In release-PR mode the `git-wrapup` skill authors those bullets as the
|
|
126
|
+
PR body's `## Changes` and the tag copies them.
|
|
127
127
|
-->
|
|
128
128
|
|
|
129
129
|
## Added
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,9 @@ import { initRisService } from './services/ris/ris-service.js';
|
|
|
18
18
|
await createApp({
|
|
19
19
|
name: 'ris-austria-mcp-server',
|
|
20
20
|
title: 'ris-austria-mcp-server',
|
|
21
|
+
// Every tool answers from the request it was given — no handler gates on ctx.requestInput —
|
|
22
|
+
// so HTTP sessions buy nothing here. MCP_SESSION_MODE still overrides when set.
|
|
23
|
+
sessionMode: 'stateless',
|
|
21
24
|
cacheHints: {
|
|
22
25
|
'tools/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
|
23
26
|
'resources/list': { ttlMs: 3_600_000, cacheScope: 'public' },
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,SAAS,CAAC;IACd,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,wBAAwB;IAC/B,UAAU,EAAE;QACV,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;QACxD,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;QAC5D,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;QACtE,iBAAiB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;KAC9D;IACD,KAAK,EAAE;QACL,oBAAoB;QACpB,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,sBAAsB;QACtB,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,gBAAgB;KACjB;IACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;IAChC,KAAK,CAAC,IAAI;QACR,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,SAAS,CAAC;IACd,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,wBAAwB;IAC/B,4FAA4F;IAC5F,gFAAgF;IAChF,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE;QACV,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;QACxD,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;QAC5D,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;QACtE,iBAAiB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;KAC9D;IACD,KAAK,EAAE;QACL,oBAAoB;QACpB,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,sBAAsB;QACtB,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,gBAAgB;KACjB;IACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;IAChC,KAAK,CAAC,IAAI;QACR,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ris-list-reference.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-list-reference.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ris-list-reference.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-list-reference.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAuVjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA8E3B,CAAC"}
|
|
@@ -243,9 +243,16 @@ const TOPIC_BUILDERS = {
|
|
|
243
243
|
],
|
|
244
244
|
}),
|
|
245
245
|
};
|
|
246
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* Escape a string for use inside a markdown table cell.
|
|
248
|
+
*
|
|
249
|
+
* Backslashes are doubled before pipes are escaped, so a backslash already in the value
|
|
250
|
+
* survives rendering instead of being consumed as an escape of whatever punctuation follows
|
|
251
|
+
* it. The order is load-bearing: escaping pipes first would re-escape the backslash that
|
|
252
|
+
* escape had just introduced, emitting a literal `\|` where the cell delimiter was meant.
|
|
253
|
+
*/
|
|
247
254
|
function cell(text) {
|
|
248
|
-
return text.replace(/\|/g, '\\|').replace(/\r?\n/g, ' ');
|
|
255
|
+
return text.replace(/\\/g, '\\\\').replace(/\|/g, '\\|').replace(/\r?\n/g, ' ');
|
|
249
256
|
}
|
|
250
257
|
export const risListReference = tool('ris_list_reference', {
|
|
251
258
|
title: 'RIS Reference Lists',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ris-list-reference.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-list-reference.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ris-list-reference.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-list-reference.tool.ts"],"names":[],"mappings":"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"}
|