ris_judikatur
Search Austrian court decisions by keywords, legal norms, case numbers, or date ranges to find relevant legal precedents from various courts.
Instructions
Search Austrian court decisions (Judikatur).
Use this tool to find court decisions from Austrian courts.
Example: gericht="Vfgh", suchworte="Grundrecht"
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| suchworte | No | Full-text search in decisions | |
| gericht | No | Court - "Justiz" (OGH/OLG/LG, default), "Vfgh" (Constitutional), "Vwgh" (Administrative), "Bvwg", "Lvwg", "Dsk" (Data Protection), "AsylGH" (historical), "Normenliste", "Pvak", "Gbk", "Dok" | Justiz |
| norm | No | Search by legal norm (e.g., "1319a ABGB") | |
| geschaeftszahl | No | Case number (e.g., "5Ob234/20b") | |
| entscheidungsdatum_von | No | Decision date from (YYYY-MM-DD) | |
| entscheidungsdatum_bis | No | Decision date to (YYYY-MM-DD) | |
| seite | No | Page number | |
| limit | No | Results per page | |
| response_format | No | "markdown" or "json" | markdown |
Implementation Reference
- src/tools/judikatur.ts:18-75 (registration)The registration of the ris_judikatur tool within the MCP server.
export function registerJudikaturTool(server: McpServer): void { server.tool( 'ris_judikatur', `Search Austrian court decisions (Judikatur). Use this tool to find court decisions from Austrian courts. Example: gericht="Vfgh", suchworte="Grundrecht"`, { suchworte: z.string().max(1000).optional().describe('Full-text search in decisions'), gericht: JudikaturGerichtSchema.default('Justiz').describe( 'Court - "Justiz" (OGH/OLG/LG, default), "Vfgh" (Constitutional), "Vwgh" (Administrative), "Bvwg", "Lvwg", "Dsk" (Data Protection), "AsylGH" (historical), "Normenliste", "Pvak", "Gbk", "Dok"', ), norm: z.string().max(500).optional().describe('Search by legal norm (e.g., "1319a ABGB")'), geschaeftszahl: z.string().max(200).optional().describe('Case number (e.g., "5Ob234/20b")'), entscheidungsdatum_von: DateSchema.optional().describe('Decision date from (YYYY-MM-DD)'), entscheidungsdatum_bis: DateSchema.optional().describe('Decision date to (YYYY-MM-DD)'), seite: z.number().default(1).describe('Page number'), limit: z.number().default(20).describe('Results per page'), response_format: z .enum(['markdown', 'json']) .default('markdown') .describe('"markdown" or "json"'), }, async (args) => { const { suchworte, gericht, norm, geschaeftszahl, entscheidungsdatum_von, entscheidungsdatum_bis, seite, limit, response_format, } = args; if (!hasAnyParam(args, ['suchworte', 'norm', 'geschaeftszahl'])) { return createValidationErrorResponse([ 'suchworte` fuer Volltextsuche', 'norm` fuer Suche nach Rechtsnorm', 'geschaeftszahl` fuer Suche nach Geschaeftszahl', ]); } const params = buildBaseParams(gericht, limit, seite); addOptionalParams(params, [ [suchworte, 'Suchworte'], [norm, 'Norm'], [geschaeftszahl, 'Geschaeftszahl'], [entscheidungsdatum_von, 'EntscheidungsdatumVon'], [entscheidungsdatum_bis, 'EntscheidungsdatumBis'], ]); return executeSearchTool(searchJudikatur, params, response_format); }, ); } - src/tools/judikatur.ts:26-41 (schema)The Zod schema definition for input parameters of the ris_judikatur tool.
{ suchworte: z.string().max(1000).optional().describe('Full-text search in decisions'), gericht: JudikaturGerichtSchema.default('Justiz').describe( 'Court - "Justiz" (OGH/OLG/LG, default), "Vfgh" (Constitutional), "Vwgh" (Administrative), "Bvwg", "Lvwg", "Dsk" (Data Protection), "AsylGH" (historical), "Normenliste", "Pvak", "Gbk", "Dok"', ), norm: z.string().max(500).optional().describe('Search by legal norm (e.g., "1319a ABGB")'), geschaeftszahl: z.string().max(200).optional().describe('Case number (e.g., "5Ob234/20b")'), entscheidungsdatum_von: DateSchema.optional().describe('Decision date from (YYYY-MM-DD)'), entscheidungsdatum_bis: DateSchema.optional().describe('Decision date to (YYYY-MM-DD)'), seite: z.number().default(1).describe('Page number'), limit: z.number().default(20).describe('Results per page'), response_format: z .enum(['markdown', 'json']) .default('markdown') .describe('"markdown" or "json"'), }, - src/tools/judikatur.ts:42-73 (handler)The handler function that implements the logic for ris_judikatur.
async (args) => { const { suchworte, gericht, norm, geschaeftszahl, entscheidungsdatum_von, entscheidungsdatum_bis, seite, limit, response_format, } = args; if (!hasAnyParam(args, ['suchworte', 'norm', 'geschaeftszahl'])) { return createValidationErrorResponse([ 'suchworte` fuer Volltextsuche', 'norm` fuer Suche nach Rechtsnorm', 'geschaeftszahl` fuer Suche nach Geschaeftszahl', ]); } const params = buildBaseParams(gericht, limit, seite); addOptionalParams(params, [ [suchworte, 'Suchworte'], [norm, 'Norm'], [geschaeftszahl, 'Geschaeftszahl'], [entscheidungsdatum_von, 'EntscheidungsdatumVon'], [entscheidungsdatum_bis, 'EntscheidungsdatumBis'], ]); return executeSearchTool(searchJudikatur, params, response_format); },