ris-mcp-ts 1.0.2 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -11
- package/dist/http.d.ts +12 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +94 -0
- package/dist/http.js.map +1 -0
- package/dist/index.js +0 -0
- package/dist/types.d.ts +60 -237
- package/dist/types.d.ts.map +1 -1
- package/package.json +34 -29
package/README.md
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](https://nodejs.org/)
|
|
7
7
|
[](https://modelcontextprotocol.io/)
|
|
8
|
+
[](https://registry.modelcontextprotocol.io)
|
|
8
9
|
|
|
9
10
|
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that gives AI assistants access to Austria's official legal database — the **Rechtsinformationssystem (RIS)**.
|
|
10
11
|
|
|
@@ -45,13 +46,13 @@ The server translates these natural language requests into structured API calls
|
|
|
45
46
|
Run directly without installation:
|
|
46
47
|
|
|
47
48
|
```bash
|
|
48
|
-
|
|
49
|
+
pnpm dlx ris-mcp-ts
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
Or install globally:
|
|
52
53
|
|
|
53
54
|
```bash
|
|
54
|
-
|
|
55
|
+
pnpm add -g ris-mcp-ts
|
|
55
56
|
```
|
|
56
57
|
|
|
57
58
|
## Configuration
|
|
@@ -75,6 +76,8 @@ Add to your Claude Desktop config (Settings > Developer > Edit Config):
|
|
|
75
76
|
```
|
|
76
77
|
|
|
77
78
|
> **Note:** The "Add custom connector" UI in Claude Desktop only supports remote MCP servers (HTTP/SSE). Local stdio servers like this one must be configured via the JSON file.
|
|
79
|
+
>
|
|
80
|
+
> **Tip:** You can also use `pnpm dlx` instead of `npx` in all configuration examples if you prefer pnpm.
|
|
78
81
|
|
|
79
82
|
### Claude Code
|
|
80
83
|
|
|
@@ -135,7 +138,8 @@ Add to your Windsurf MCP config at `~/.codeium/windsurf/mcp_config.json`:
|
|
|
135
138
|
Any MCP-compatible client can connect via stdio transport:
|
|
136
139
|
|
|
137
140
|
```bash
|
|
138
|
-
npx ris-mcp-ts
|
|
141
|
+
npx -y ris-mcp-ts
|
|
142
|
+
# or: pnpm dlx ris-mcp-ts
|
|
139
143
|
```
|
|
140
144
|
|
|
141
145
|
## Available Tools
|
|
@@ -474,20 +478,20 @@ Search state ordinance gazettes (Verordnungsblätter).
|
|
|
474
478
|
```bash
|
|
475
479
|
git clone https://github.com/philrox/ris-mcp-ts.git
|
|
476
480
|
cd ris-mcp-ts
|
|
477
|
-
|
|
478
|
-
|
|
481
|
+
pnpm install
|
|
482
|
+
pnpm run build
|
|
479
483
|
```
|
|
480
484
|
|
|
481
485
|
### Scripts
|
|
482
486
|
|
|
483
487
|
| Script | Description |
|
|
484
488
|
|--------|-------------|
|
|
485
|
-
| `
|
|
486
|
-
| `
|
|
487
|
-
| `
|
|
488
|
-
| `
|
|
489
|
-
| `
|
|
490
|
-
| `
|
|
489
|
+
| `pnpm run dev` | Start with hot reload (tsx) |
|
|
490
|
+
| `pnpm run build` | Compile TypeScript |
|
|
491
|
+
| `pnpm start` | Run compiled version |
|
|
492
|
+
| `pnpm test` | Run all tests |
|
|
493
|
+
| `pnpm run check` | Typecheck + lint + format check + tests |
|
|
494
|
+
| `pnpm run inspect` | Launch MCP Inspector for manual testing |
|
|
491
495
|
|
|
492
496
|
### Project Structure
|
|
493
497
|
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP transport entry point for the RIS MCP Server.
|
|
3
|
+
*
|
|
4
|
+
* Provides an Express-based HTTP server with Streamable HTTP transport
|
|
5
|
+
* for deployment on cloud platforms (e.g., AWS Lightsail).
|
|
6
|
+
*/
|
|
7
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
8
|
+
import type { Express } from 'express';
|
|
9
|
+
export declare const app: Express;
|
|
10
|
+
export declare const sessions: Map<string, StreamableHTTPServerTransport>;
|
|
11
|
+
export declare const mcpLimiter: import("express-rate-limit").RateLimitRequestHandler;
|
|
12
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAM1D,eAAO,MAAM,GAAG,EAAE,OAAmB,CAAC;AACtC,eAAO,MAAM,QAAQ,4CAAmD,CAAC;AAKzE,eAAO,MAAM,UAAU,sDAQrB,CAAC"}
|
package/dist/http.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP transport entry point for the RIS MCP Server.
|
|
3
|
+
*
|
|
4
|
+
* Provides an Express-based HTTP server with Streamable HTTP transport
|
|
5
|
+
* for deployment on cloud platforms (e.g., AWS Lightsail).
|
|
6
|
+
*/
|
|
7
|
+
import crypto from 'node:crypto';
|
|
8
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
10
|
+
import express from 'express';
|
|
11
|
+
import rateLimit from 'express-rate-limit';
|
|
12
|
+
import { registerAllTools } from './tools/index.js';
|
|
13
|
+
export const app = express();
|
|
14
|
+
export const sessions = new Map();
|
|
15
|
+
app.use(express.json());
|
|
16
|
+
// Rate limiting: MCP-specific (each request triggers upstream RIS API calls)
|
|
17
|
+
export const mcpLimiter = rateLimit({
|
|
18
|
+
windowMs: 60_000,
|
|
19
|
+
max: 60,
|
|
20
|
+
standardHeaders: 'draft-7',
|
|
21
|
+
legacyHeaders: false,
|
|
22
|
+
keyGenerator: (req) => req.headers['mcp-session-id'] || req.ip || 'unknown',
|
|
23
|
+
message: { error: 'Zu viele Anfragen. Bitte später erneut versuchen.' },
|
|
24
|
+
validate: { keyGeneratorIpFallback: false },
|
|
25
|
+
});
|
|
26
|
+
app.use('/mcp', mcpLimiter);
|
|
27
|
+
// Health check endpoint
|
|
28
|
+
app.get('/health', (_req, res) => {
|
|
29
|
+
res.json({
|
|
30
|
+
status: 'ok',
|
|
31
|
+
service: 'ris-mcp',
|
|
32
|
+
activeSessions: sessions.size,
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
// MCP endpoint — POST creates or reuses sessions, GET/DELETE require existing session
|
|
36
|
+
app.post('/mcp', async (req, res) => {
|
|
37
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
38
|
+
// Reuse existing session
|
|
39
|
+
if (sessionId) {
|
|
40
|
+
const existing = sessions.get(sessionId);
|
|
41
|
+
if (existing) {
|
|
42
|
+
await existing.handleRequest(req, res, req.body);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Create new session
|
|
47
|
+
const transport = new StreamableHTTPServerTransport({
|
|
48
|
+
sessionIdGenerator: () => crypto.randomUUID(),
|
|
49
|
+
});
|
|
50
|
+
const server = new McpServer({ name: 'ris-mcp', version: '1.0.0' });
|
|
51
|
+
registerAllTools(server);
|
|
52
|
+
transport.onclose = () => {
|
|
53
|
+
if (transport.sessionId) {
|
|
54
|
+
sessions.delete(transport.sessionId);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
await server.connect(transport);
|
|
58
|
+
await transport.handleRequest(req, res, req.body);
|
|
59
|
+
// Store session AFTER handleRequest so the sessionId is available
|
|
60
|
+
// (the SDK generates the sessionId during initialize handling)
|
|
61
|
+
if (transport.sessionId && !sessions.has(transport.sessionId)) {
|
|
62
|
+
sessions.set(transport.sessionId, transport);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
app.get('/mcp', (req, res) => {
|
|
66
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
67
|
+
if (sessionId) {
|
|
68
|
+
const transport = sessions.get(sessionId);
|
|
69
|
+
if (transport) {
|
|
70
|
+
transport.handleRequest(req, res, req.body);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
res.status(400).json({ error: 'Keine gültige Session. Starte mit POST /mcp.' });
|
|
75
|
+
});
|
|
76
|
+
app.delete('/mcp', (req, res) => {
|
|
77
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
78
|
+
if (sessionId) {
|
|
79
|
+
const transport = sessions.get(sessionId);
|
|
80
|
+
if (transport) {
|
|
81
|
+
transport.handleRequest(req, res, req.body);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
res.status(400).json({ error: 'Keine gültige Session. Starte mit POST /mcp.' });
|
|
86
|
+
});
|
|
87
|
+
// Start server only when not in test mode
|
|
88
|
+
const PORT = process.env.PORT ?? 3000;
|
|
89
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
90
|
+
app.listen(PORT, () => {
|
|
91
|
+
console.log(`RIS MCP HTTP server listening on port ${PORT}`);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/types.d.ts
CHANGED
|
@@ -9,25 +9,62 @@ import { z } from 'zod';
|
|
|
9
9
|
/**
|
|
10
10
|
* Application types for federal law searches in RIS.
|
|
11
11
|
*/
|
|
12
|
-
export declare const BundesrechtApplikationSchema: z.ZodEnum<
|
|
12
|
+
export declare const BundesrechtApplikationSchema: z.ZodEnum<{
|
|
13
|
+
BrKons: "BrKons";
|
|
14
|
+
Begut: "Begut";
|
|
15
|
+
BgblAuth: "BgblAuth";
|
|
16
|
+
Erv: "Erv";
|
|
17
|
+
}>;
|
|
13
18
|
export type BundesrechtApplikation = z.infer<typeof BundesrechtApplikationSchema>;
|
|
14
19
|
/**
|
|
15
20
|
* Court types for case law searches in RIS.
|
|
16
21
|
*/
|
|
17
|
-
export declare const JudikaturGerichtSchema: z.ZodEnum<
|
|
22
|
+
export declare const JudikaturGerichtSchema: z.ZodEnum<{
|
|
23
|
+
Justiz: "Justiz";
|
|
24
|
+
Vfgh: "Vfgh";
|
|
25
|
+
Vwgh: "Vwgh";
|
|
26
|
+
Bvwg: "Bvwg";
|
|
27
|
+
Lvwg: "Lvwg";
|
|
28
|
+
Dsk: "Dsk";
|
|
29
|
+
AsylGH: "AsylGH";
|
|
30
|
+
Normenliste: "Normenliste";
|
|
31
|
+
Pvak: "Pvak";
|
|
32
|
+
Gbk: "Gbk";
|
|
33
|
+
Dok: "Dok";
|
|
34
|
+
}>;
|
|
18
35
|
export type JudikaturGericht = z.infer<typeof JudikaturGerichtSchema>;
|
|
19
36
|
/**
|
|
20
37
|
* Austrian federal states (Bundesländer).
|
|
21
38
|
* Note: Uses Umlauts (ö, ä) for display purposes.
|
|
22
39
|
*/
|
|
23
|
-
export declare const BundeslandSchema: z.ZodEnum<
|
|
40
|
+
export declare const BundeslandSchema: z.ZodEnum<{
|
|
41
|
+
Wien: "Wien";
|
|
42
|
+
Niederösterreich: "Niederösterreich";
|
|
43
|
+
Oberösterreich: "Oberösterreich";
|
|
44
|
+
Steiermark: "Steiermark";
|
|
45
|
+
Tirol: "Tirol";
|
|
46
|
+
Kärnten: "Kärnten";
|
|
47
|
+
Salzburg: "Salzburg";
|
|
48
|
+
Vorarlberg: "Vorarlberg";
|
|
49
|
+
Burgenland: "Burgenland";
|
|
50
|
+
}>;
|
|
24
51
|
export type Bundesland = z.infer<typeof BundeslandSchema>;
|
|
25
52
|
/**
|
|
26
53
|
* Austrian federal states for Landesrecht API (ASCII versions without Umlauts).
|
|
27
54
|
* The RIS API uses the SucheIn format (e.g., Bundesland.SucheInWien=true).
|
|
28
55
|
*/
|
|
29
56
|
export declare const LANDESRECHT_BUNDESLAENDER: readonly ["Wien", "Niederoesterreich", "Oberoesterreich", "Salzburg", "Tirol", "Vorarlberg", "Kaernten", "Steiermark", "Burgenland"];
|
|
30
|
-
export declare const LandesrechtBundeslandSchema: z.ZodEnum<
|
|
57
|
+
export declare const LandesrechtBundeslandSchema: z.ZodEnum<{
|
|
58
|
+
Wien: "Wien";
|
|
59
|
+
Steiermark: "Steiermark";
|
|
60
|
+
Tirol: "Tirol";
|
|
61
|
+
Salzburg: "Salzburg";
|
|
62
|
+
Vorarlberg: "Vorarlberg";
|
|
63
|
+
Burgenland: "Burgenland";
|
|
64
|
+
Niederoesterreich: "Niederoesterreich";
|
|
65
|
+
Oberoesterreich: "Oberoesterreich";
|
|
66
|
+
Kaernten: "Kaernten";
|
|
67
|
+
}>;
|
|
31
68
|
export type LandesrechtBundesland = z.infer<typeof LandesrechtBundeslandSchema>;
|
|
32
69
|
/**
|
|
33
70
|
* Date format validation schema (YYYY-MM-DD).
|
|
@@ -38,12 +75,20 @@ export declare const OptionalDateSchema: z.ZodOptional<z.ZodString>;
|
|
|
38
75
|
/**
|
|
39
76
|
* Number of documents per page for paginated API responses.
|
|
40
77
|
*/
|
|
41
|
-
export declare const DokumenteProSeiteSchema: z.ZodEnum<
|
|
78
|
+
export declare const DokumenteProSeiteSchema: z.ZodEnum<{
|
|
79
|
+
Ten: "Ten";
|
|
80
|
+
Twenty: "Twenty";
|
|
81
|
+
Fifty: "Fifty";
|
|
82
|
+
OneHundred: "OneHundred";
|
|
83
|
+
}>;
|
|
42
84
|
export type DokumenteProSeite = z.infer<typeof DokumenteProSeiteSchema>;
|
|
43
85
|
/**
|
|
44
86
|
* Output format for MCP tool responses.
|
|
45
87
|
*/
|
|
46
|
-
export declare const ResponseFormatSchema: z.ZodEnum<
|
|
88
|
+
export declare const ResponseFormatSchema: z.ZodEnum<{
|
|
89
|
+
markdown: "markdown";
|
|
90
|
+
json: "json";
|
|
91
|
+
}>;
|
|
47
92
|
export type ResponseFormat = z.infer<typeof ResponseFormatSchema>;
|
|
48
93
|
/**
|
|
49
94
|
* URLs for accessing document content in different formats.
|
|
@@ -53,17 +98,7 @@ export declare const ContentUrlSchema: z.ZodObject<{
|
|
|
53
98
|
html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
54
99
|
rtf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
55
100
|
pdf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
56
|
-
},
|
|
57
|
-
xml?: string | null | undefined;
|
|
58
|
-
html?: string | null | undefined;
|
|
59
|
-
rtf?: string | null | undefined;
|
|
60
|
-
pdf?: string | null | undefined;
|
|
61
|
-
}, {
|
|
62
|
-
xml?: string | null | undefined;
|
|
63
|
-
html?: string | null | undefined;
|
|
64
|
-
rtf?: string | null | undefined;
|
|
65
|
-
pdf?: string | null | undefined;
|
|
66
|
-
}>;
|
|
101
|
+
}, z.core.$strip>;
|
|
67
102
|
export type ContentUrl = z.infer<typeof ContentUrlSchema>;
|
|
68
103
|
/**
|
|
69
104
|
* Citation information for a legal document.
|
|
@@ -76,23 +111,7 @@ export declare const CitationSchema: z.ZodObject<{
|
|
|
76
111
|
eli: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
77
112
|
inkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
78
113
|
ausserkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
79
|
-
},
|
|
80
|
-
kurztitel?: string | null | undefined;
|
|
81
|
-
langtitel?: string | null | undefined;
|
|
82
|
-
kundmachungsorgan?: string | null | undefined;
|
|
83
|
-
paragraph?: string | null | undefined;
|
|
84
|
-
eli?: string | null | undefined;
|
|
85
|
-
inkrafttreten?: string | null | undefined;
|
|
86
|
-
ausserkrafttreten?: string | null | undefined;
|
|
87
|
-
}, {
|
|
88
|
-
kurztitel?: string | null | undefined;
|
|
89
|
-
langtitel?: string | null | undefined;
|
|
90
|
-
kundmachungsorgan?: string | null | undefined;
|
|
91
|
-
paragraph?: string | null | undefined;
|
|
92
|
-
eli?: string | null | undefined;
|
|
93
|
-
inkrafttreten?: string | null | undefined;
|
|
94
|
-
ausserkrafttreten?: string | null | undefined;
|
|
95
|
-
}>;
|
|
114
|
+
}, z.core.$strip>;
|
|
96
115
|
export type Citation = z.infer<typeof CitationSchema>;
|
|
97
116
|
/**
|
|
98
117
|
* A single legal document from the RIS database.
|
|
@@ -110,86 +129,16 @@ export declare const DocumentSchema: z.ZodObject<{
|
|
|
110
129
|
eli: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
111
130
|
inkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
112
131
|
ausserkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
113
|
-
},
|
|
114
|
-
kurztitel?: string | null | undefined;
|
|
115
|
-
langtitel?: string | null | undefined;
|
|
116
|
-
kundmachungsorgan?: string | null | undefined;
|
|
117
|
-
paragraph?: string | null | undefined;
|
|
118
|
-
eli?: string | null | undefined;
|
|
119
|
-
inkrafttreten?: string | null | undefined;
|
|
120
|
-
ausserkrafttreten?: string | null | undefined;
|
|
121
|
-
}, {
|
|
122
|
-
kurztitel?: string | null | undefined;
|
|
123
|
-
langtitel?: string | null | undefined;
|
|
124
|
-
kundmachungsorgan?: string | null | undefined;
|
|
125
|
-
paragraph?: string | null | undefined;
|
|
126
|
-
eli?: string | null | undefined;
|
|
127
|
-
inkrafttreten?: string | null | undefined;
|
|
128
|
-
ausserkrafttreten?: string | null | undefined;
|
|
129
|
-
}>;
|
|
132
|
+
}, z.core.$strip>;
|
|
130
133
|
content_urls: z.ZodObject<{
|
|
131
134
|
xml: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
132
135
|
html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
133
136
|
rtf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
134
137
|
pdf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
135
|
-
},
|
|
136
|
-
xml?: string | null | undefined;
|
|
137
|
-
html?: string | null | undefined;
|
|
138
|
-
rtf?: string | null | undefined;
|
|
139
|
-
pdf?: string | null | undefined;
|
|
140
|
-
}, {
|
|
141
|
-
xml?: string | null | undefined;
|
|
142
|
-
html?: string | null | undefined;
|
|
143
|
-
rtf?: string | null | undefined;
|
|
144
|
-
pdf?: string | null | undefined;
|
|
145
|
-
}>;
|
|
138
|
+
}, z.core.$strip>;
|
|
146
139
|
dokument_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
147
140
|
gesamte_rechtsvorschrift_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
148
|
-
},
|
|
149
|
-
dokumentnummer: string;
|
|
150
|
-
applikation: string;
|
|
151
|
-
titel: string;
|
|
152
|
-
citation: {
|
|
153
|
-
kurztitel?: string | null | undefined;
|
|
154
|
-
langtitel?: string | null | undefined;
|
|
155
|
-
kundmachungsorgan?: string | null | undefined;
|
|
156
|
-
paragraph?: string | null | undefined;
|
|
157
|
-
eli?: string | null | undefined;
|
|
158
|
-
inkrafttreten?: string | null | undefined;
|
|
159
|
-
ausserkrafttreten?: string | null | undefined;
|
|
160
|
-
};
|
|
161
|
-
content_urls: {
|
|
162
|
-
xml?: string | null | undefined;
|
|
163
|
-
html?: string | null | undefined;
|
|
164
|
-
rtf?: string | null | undefined;
|
|
165
|
-
pdf?: string | null | undefined;
|
|
166
|
-
};
|
|
167
|
-
kurztitel?: string | null | undefined;
|
|
168
|
-
dokument_url?: string | null | undefined;
|
|
169
|
-
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
170
|
-
}, {
|
|
171
|
-
dokumentnummer: string;
|
|
172
|
-
applikation: string;
|
|
173
|
-
titel: string;
|
|
174
|
-
citation: {
|
|
175
|
-
kurztitel?: string | null | undefined;
|
|
176
|
-
langtitel?: string | null | undefined;
|
|
177
|
-
kundmachungsorgan?: string | null | undefined;
|
|
178
|
-
paragraph?: string | null | undefined;
|
|
179
|
-
eli?: string | null | undefined;
|
|
180
|
-
inkrafttreten?: string | null | undefined;
|
|
181
|
-
ausserkrafttreten?: string | null | undefined;
|
|
182
|
-
};
|
|
183
|
-
content_urls: {
|
|
184
|
-
xml?: string | null | undefined;
|
|
185
|
-
html?: string | null | undefined;
|
|
186
|
-
rtf?: string | null | undefined;
|
|
187
|
-
pdf?: string | null | undefined;
|
|
188
|
-
};
|
|
189
|
-
kurztitel?: string | null | undefined;
|
|
190
|
-
dokument_url?: string | null | undefined;
|
|
191
|
-
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
192
|
-
}>;
|
|
141
|
+
}, z.core.$strip>;
|
|
193
142
|
export type Document = z.infer<typeof DocumentSchema>;
|
|
194
143
|
/**
|
|
195
144
|
* Paginated search results from the RIS API.
|
|
@@ -212,143 +161,17 @@ export declare const SearchResultSchema: z.ZodObject<{
|
|
|
212
161
|
eli: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
213
162
|
inkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
214
163
|
ausserkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
215
|
-
},
|
|
216
|
-
kurztitel?: string | null | undefined;
|
|
217
|
-
langtitel?: string | null | undefined;
|
|
218
|
-
kundmachungsorgan?: string | null | undefined;
|
|
219
|
-
paragraph?: string | null | undefined;
|
|
220
|
-
eli?: string | null | undefined;
|
|
221
|
-
inkrafttreten?: string | null | undefined;
|
|
222
|
-
ausserkrafttreten?: string | null | undefined;
|
|
223
|
-
}, {
|
|
224
|
-
kurztitel?: string | null | undefined;
|
|
225
|
-
langtitel?: string | null | undefined;
|
|
226
|
-
kundmachungsorgan?: string | null | undefined;
|
|
227
|
-
paragraph?: string | null | undefined;
|
|
228
|
-
eli?: string | null | undefined;
|
|
229
|
-
inkrafttreten?: string | null | undefined;
|
|
230
|
-
ausserkrafttreten?: string | null | undefined;
|
|
231
|
-
}>;
|
|
164
|
+
}, z.core.$strip>;
|
|
232
165
|
content_urls: z.ZodObject<{
|
|
233
166
|
xml: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
234
167
|
html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
235
168
|
rtf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
236
169
|
pdf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
237
|
-
},
|
|
238
|
-
xml?: string | null | undefined;
|
|
239
|
-
html?: string | null | undefined;
|
|
240
|
-
rtf?: string | null | undefined;
|
|
241
|
-
pdf?: string | null | undefined;
|
|
242
|
-
}, {
|
|
243
|
-
xml?: string | null | undefined;
|
|
244
|
-
html?: string | null | undefined;
|
|
245
|
-
rtf?: string | null | undefined;
|
|
246
|
-
pdf?: string | null | undefined;
|
|
247
|
-
}>;
|
|
170
|
+
}, z.core.$strip>;
|
|
248
171
|
dokument_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
249
172
|
gesamte_rechtsvorschrift_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
250
|
-
},
|
|
251
|
-
|
|
252
|
-
applikation: string;
|
|
253
|
-
titel: string;
|
|
254
|
-
citation: {
|
|
255
|
-
kurztitel?: string | null | undefined;
|
|
256
|
-
langtitel?: string | null | undefined;
|
|
257
|
-
kundmachungsorgan?: string | null | undefined;
|
|
258
|
-
paragraph?: string | null | undefined;
|
|
259
|
-
eli?: string | null | undefined;
|
|
260
|
-
inkrafttreten?: string | null | undefined;
|
|
261
|
-
ausserkrafttreten?: string | null | undefined;
|
|
262
|
-
};
|
|
263
|
-
content_urls: {
|
|
264
|
-
xml?: string | null | undefined;
|
|
265
|
-
html?: string | null | undefined;
|
|
266
|
-
rtf?: string | null | undefined;
|
|
267
|
-
pdf?: string | null | undefined;
|
|
268
|
-
};
|
|
269
|
-
kurztitel?: string | null | undefined;
|
|
270
|
-
dokument_url?: string | null | undefined;
|
|
271
|
-
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
272
|
-
}, {
|
|
273
|
-
dokumentnummer: string;
|
|
274
|
-
applikation: string;
|
|
275
|
-
titel: string;
|
|
276
|
-
citation: {
|
|
277
|
-
kurztitel?: string | null | undefined;
|
|
278
|
-
langtitel?: string | null | undefined;
|
|
279
|
-
kundmachungsorgan?: string | null | undefined;
|
|
280
|
-
paragraph?: string | null | undefined;
|
|
281
|
-
eli?: string | null | undefined;
|
|
282
|
-
inkrafttreten?: string | null | undefined;
|
|
283
|
-
ausserkrafttreten?: string | null | undefined;
|
|
284
|
-
};
|
|
285
|
-
content_urls: {
|
|
286
|
-
xml?: string | null | undefined;
|
|
287
|
-
html?: string | null | undefined;
|
|
288
|
-
rtf?: string | null | undefined;
|
|
289
|
-
pdf?: string | null | undefined;
|
|
290
|
-
};
|
|
291
|
-
kurztitel?: string | null | undefined;
|
|
292
|
-
dokument_url?: string | null | undefined;
|
|
293
|
-
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
294
|
-
}>, "many">;
|
|
295
|
-
}, "strip", z.ZodTypeAny, {
|
|
296
|
-
total_hits: number;
|
|
297
|
-
page: number;
|
|
298
|
-
page_size: number;
|
|
299
|
-
has_more: boolean;
|
|
300
|
-
documents: {
|
|
301
|
-
dokumentnummer: string;
|
|
302
|
-
applikation: string;
|
|
303
|
-
titel: string;
|
|
304
|
-
citation: {
|
|
305
|
-
kurztitel?: string | null | undefined;
|
|
306
|
-
langtitel?: string | null | undefined;
|
|
307
|
-
kundmachungsorgan?: string | null | undefined;
|
|
308
|
-
paragraph?: string | null | undefined;
|
|
309
|
-
eli?: string | null | undefined;
|
|
310
|
-
inkrafttreten?: string | null | undefined;
|
|
311
|
-
ausserkrafttreten?: string | null | undefined;
|
|
312
|
-
};
|
|
313
|
-
content_urls: {
|
|
314
|
-
xml?: string | null | undefined;
|
|
315
|
-
html?: string | null | undefined;
|
|
316
|
-
rtf?: string | null | undefined;
|
|
317
|
-
pdf?: string | null | undefined;
|
|
318
|
-
};
|
|
319
|
-
kurztitel?: string | null | undefined;
|
|
320
|
-
dokument_url?: string | null | undefined;
|
|
321
|
-
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
322
|
-
}[];
|
|
323
|
-
}, {
|
|
324
|
-
total_hits: number;
|
|
325
|
-
page: number;
|
|
326
|
-
page_size: number;
|
|
327
|
-
has_more: boolean;
|
|
328
|
-
documents: {
|
|
329
|
-
dokumentnummer: string;
|
|
330
|
-
applikation: string;
|
|
331
|
-
titel: string;
|
|
332
|
-
citation: {
|
|
333
|
-
kurztitel?: string | null | undefined;
|
|
334
|
-
langtitel?: string | null | undefined;
|
|
335
|
-
kundmachungsorgan?: string | null | undefined;
|
|
336
|
-
paragraph?: string | null | undefined;
|
|
337
|
-
eli?: string | null | undefined;
|
|
338
|
-
inkrafttreten?: string | null | undefined;
|
|
339
|
-
ausserkrafttreten?: string | null | undefined;
|
|
340
|
-
};
|
|
341
|
-
content_urls: {
|
|
342
|
-
xml?: string | null | undefined;
|
|
343
|
-
html?: string | null | undefined;
|
|
344
|
-
rtf?: string | null | undefined;
|
|
345
|
-
pdf?: string | null | undefined;
|
|
346
|
-
};
|
|
347
|
-
kurztitel?: string | null | undefined;
|
|
348
|
-
dokument_url?: string | null | undefined;
|
|
349
|
-
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
350
|
-
}[];
|
|
351
|
-
}>;
|
|
173
|
+
}, z.core.$strip>>;
|
|
174
|
+
}, z.core.$strip>;
|
|
352
175
|
export type SearchResult = z.infer<typeof SearchResultSchema>;
|
|
353
176
|
/**
|
|
354
177
|
* Raw content URL from API response.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ris-mcp-ts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"mcpName": "io.github.philrox/ris",
|
|
5
5
|
"description": "MCP Server for Austrian Legal Information System (RIS) - TypeScript",
|
|
6
6
|
"type": "module",
|
|
@@ -8,25 +8,6 @@
|
|
|
8
8
|
"bin": {
|
|
9
9
|
"ris-mcp-ts": "dist/index.js"
|
|
10
10
|
},
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build": "tsc",
|
|
13
|
-
"dev": "tsx src/index.ts",
|
|
14
|
-
"start": "node dist/index.js",
|
|
15
|
-
"inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
|
|
16
|
-
"test": "vitest run",
|
|
17
|
-
"test:coverage": "vitest run --coverage",
|
|
18
|
-
"test:watch": "vitest",
|
|
19
|
-
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
20
|
-
"typecheck": "tsc --noEmit",
|
|
21
|
-
"lint": "eslint src",
|
|
22
|
-
"lint:fix": "eslint src --fix",
|
|
23
|
-
"check": "npm run typecheck && npm run lint && npm run format:check && npm run test",
|
|
24
|
-
"format": "prettier --write src/",
|
|
25
|
-
"format:check": "prettier --check src/",
|
|
26
|
-
"prebuild": "npm run typecheck",
|
|
27
|
-
"prepublishOnly": "npm run check && npm run build",
|
|
28
|
-
"prepare": "husky"
|
|
29
|
-
},
|
|
30
11
|
"lint-staged": {
|
|
31
12
|
"src/**/*.ts": [
|
|
32
13
|
"prettier --write",
|
|
@@ -36,25 +17,30 @@
|
|
|
36
17
|
"dependencies": {
|
|
37
18
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
38
19
|
"cheerio": "^1.0.0",
|
|
39
|
-
"
|
|
20
|
+
"express": "^5.2.1",
|
|
21
|
+
"express-rate-limit": "^8.2.1",
|
|
22
|
+
"zod": "^4.3.6"
|
|
40
23
|
},
|
|
41
24
|
"devDependencies": {
|
|
42
25
|
"@commitlint/cli": "^20.4.1",
|
|
43
26
|
"@commitlint/config-conventional": "^20.4.1",
|
|
44
|
-
"@eslint/js": "^
|
|
45
|
-
"@types/
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
27
|
+
"@eslint/js": "^10.0.1",
|
|
28
|
+
"@types/express": "^5.0.6",
|
|
29
|
+
"@types/node": "^25.3.3",
|
|
30
|
+
"@types/supertest": "^7.2.0",
|
|
31
|
+
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
|
32
|
+
"@typescript-eslint/parser": "^8.56.1",
|
|
48
33
|
"@vitest/coverage-v8": "^4.0.18",
|
|
49
|
-
"eslint": "^
|
|
34
|
+
"eslint": "^10.0.2",
|
|
50
35
|
"eslint-config-prettier": "^10.1.8",
|
|
51
36
|
"eslint-plugin-import-x": "^4.16.1",
|
|
52
37
|
"husky": "^9.1.7",
|
|
53
38
|
"lint-staged": "^16.2.7",
|
|
54
39
|
"prettier": "^3.8.1",
|
|
40
|
+
"supertest": "^7.2.2",
|
|
55
41
|
"tsx": "^4.7.0",
|
|
56
42
|
"typescript": "^5.4.0",
|
|
57
|
-
"typescript-eslint": "^8.
|
|
43
|
+
"typescript-eslint": "^8.56.1",
|
|
58
44
|
"vitest": "^4.0.18"
|
|
59
45
|
},
|
|
60
46
|
"engines": {
|
|
@@ -84,5 +70,24 @@
|
|
|
84
70
|
"!dist/__tests__/",
|
|
85
71
|
"README.md",
|
|
86
72
|
"LICENSE"
|
|
87
|
-
]
|
|
88
|
-
|
|
73
|
+
],
|
|
74
|
+
"scripts": {
|
|
75
|
+
"build": "tsc",
|
|
76
|
+
"dev": "tsx src/index.ts",
|
|
77
|
+
"start": "node dist/index.js",
|
|
78
|
+
"start:http": "node dist/http.js",
|
|
79
|
+
"dev:http": "tsx src/http.ts",
|
|
80
|
+
"inspect": "pnpm dlx @modelcontextprotocol/inspector node dist/index.js",
|
|
81
|
+
"test": "vitest run",
|
|
82
|
+
"test:coverage": "vitest run --coverage",
|
|
83
|
+
"test:watch": "vitest",
|
|
84
|
+
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
85
|
+
"typecheck": "tsc --noEmit",
|
|
86
|
+
"lint": "eslint src",
|
|
87
|
+
"lint:fix": "eslint src --fix",
|
|
88
|
+
"check": "pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test",
|
|
89
|
+
"format": "prettier --write src/",
|
|
90
|
+
"format:check": "prettier --check src/",
|
|
91
|
+
"prebuild": "pnpm run typecheck"
|
|
92
|
+
}
|
|
93
|
+
}
|