ris_bezirke
Search Austrian district authority announcements and ordinances from states like Niederösterreich, Tirol, and Vorarlberg to find official legal information and public notices.
Instructions
Search Austrian district administrative authority announcements (Kundmachungen der Bezirksverwaltungsbehörden).
Use this tool to find announcements and ordinances from district administrative authorities.
Note: Only certain states publish here: Niederösterreich, Oberösterreich, Tirol, Vorarlberg, Burgenland, Steiermark.
Example queries:
bundesland="Niederösterreich", suchworte="Bauordnung"
bezirksverwaltungsbehoerde="Bezirkshauptmannschaft Innsbruck"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| suchworte | No | Full-text search terms | |
| titel | No | Search in titles | |
| bundesland | No | Filter by state - Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien | |
| bezirksverwaltungsbehoerde | No | District authority name (e.g., "Bezirkshauptmannschaft Innsbruck", "Bezirkshauptmannschaft Amstetten") | |
| kundmachungsnummer | No | Announcement number | |
| kundmachungsdatum_von | No | Announcement date from (YYYY-MM-DD) | |
| kundmachungsdatum_bis | No | Announcement date to (YYYY-MM-DD) | |
| im_ris_seit | No | Filter by time in RIS | |
| seite | No | Page number (default: 1) | |
| limit | No | Results per page 10/20/50/100 (default: 20) | |
| response_format | No | "markdown" (default) or "json" | markdown |
Implementation Reference
- src/tools/bezirke.ts:19-103 (registration)Tool registration for 'ris_bezirke' within registerBezirkeTool.
export function registerBezirkeTool(server: McpServer): void { server.tool( 'ris_bezirke', `Search Austrian district administrative authority announcements (Kundmachungen der Bezirksverwaltungsbehörden). Use this tool to find announcements and ordinances from district administrative authorities. Note: Only certain states publish here: Niederösterreich, Oberösterreich, Tirol, Vorarlberg, Burgenland, Steiermark. Example queries: - bundesland="Niederösterreich", suchworte="Bauordnung" - bezirksverwaltungsbehoerde="Bezirkshauptmannschaft Innsbruck"`, { suchworte: z.string().max(1000).optional().describe('Full-text search terms'), titel: z.string().max(500).optional().describe('Search in titles'), bundesland: BundeslandSchema.optional().describe( 'Filter by state - Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien', ), bezirksverwaltungsbehoerde: z .string() .max(200) .optional() .describe( 'District authority name (e.g., "Bezirkshauptmannschaft Innsbruck", "Bezirkshauptmannschaft Amstetten")', ), kundmachungsnummer: z.string().max(100).optional().describe('Announcement number'), kundmachungsdatum_von: DateSchema.optional().describe('Announcement date from (YYYY-MM-DD)'), kundmachungsdatum_bis: DateSchema.optional().describe('Announcement date to (YYYY-MM-DD)'), im_ris_seit: z.enum(IM_RIS_SEIT_VALUES).optional().describe('Filter by time in RIS'), seite: z.number().default(1).describe('Page number (default: 1)'), limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'), response_format: z .enum(['markdown', 'json']) .default('markdown') .describe('"markdown" (default) or "json"'), }, async (args) => { const { suchworte, titel, bundesland, bezirksverwaltungsbehoerde, kundmachungsnummer, kundmachungsdatum_von, kundmachungsdatum_bis, im_ris_seit, seite, limit, response_format, } = args; if ( !hasAnyParam(args, [ 'suchworte', 'titel', 'bundesland', 'bezirksverwaltungsbehoerde', 'kundmachungsnummer', ]) ) { return createValidationErrorResponse([ 'suchworte` für Volltextsuche', 'titel` für Titelsuche', 'bundesland` für Bundesland', 'bezirksverwaltungsbehoerde` für Bezirksverwaltungsbehörde', 'kundmachungsnummer` für Kundmachungsnummer', ]); } const params = buildBaseParams('Bvb', limit, seite); addOptionalParams(params, [ [suchworte, 'Suchworte'], [titel, 'Titel'], [bundesland, 'Bundesland'], [bezirksverwaltungsbehoerde, 'Bezirksverwaltungsbehoerde'], [kundmachungsnummer, 'Kundmachungsnummer'], [kundmachungsdatum_von, 'Kundmachungsdatum.Von'], [kundmachungsdatum_bis, 'Kundmachungsdatum.Bis'], [im_ris_seit, 'ImRisSeit'], ]); return executeSearchTool(searchBezirke, params, response_format); }, ); } - src/tools/bezirke.ts:55-101 (handler)Handler function for 'ris_bezirke' which processes arguments, performs validation, and executes the search.
async (args) => { const { suchworte, titel, bundesland, bezirksverwaltungsbehoerde, kundmachungsnummer, kundmachungsdatum_von, kundmachungsdatum_bis, im_ris_seit, seite, limit, response_format, } = args; if ( !hasAnyParam(args, [ 'suchworte', 'titel', 'bundesland', 'bezirksverwaltungsbehoerde', 'kundmachungsnummer', ]) ) { return createValidationErrorResponse([ 'suchworte` für Volltextsuche', 'titel` für Titelsuche', 'bundesland` für Bundesland', 'bezirksverwaltungsbehoerde` für Bezirksverwaltungsbehörde', 'kundmachungsnummer` für Kundmachungsnummer', ]); } const params = buildBaseParams('Bvb', limit, seite); addOptionalParams(params, [ [suchworte, 'Suchworte'], [titel, 'Titel'], [bundesland, 'Bundesland'], [bezirksverwaltungsbehoerde, 'Bezirksverwaltungsbehoerde'], [kundmachungsnummer, 'Kundmachungsnummer'], [kundmachungsdatum_von, 'Kundmachungsdatum.Von'], [kundmachungsdatum_bis, 'Kundmachungsdatum.Bis'], [im_ris_seit, 'ImRisSeit'], ]); return executeSearchTool(searchBezirke, params, response_format); }, - src/tools/bezirke.ts:31-54 (schema)Input parameter schema validation using Zod for the 'ris_bezirke' tool.
{ suchworte: z.string().max(1000).optional().describe('Full-text search terms'), titel: z.string().max(500).optional().describe('Search in titles'), bundesland: BundeslandSchema.optional().describe( 'Filter by state - Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien', ), bezirksverwaltungsbehoerde: z .string() .max(200) .optional() .describe( 'District authority name (e.g., "Bezirkshauptmannschaft Innsbruck", "Bezirkshauptmannschaft Amstetten")', ), kundmachungsnummer: z.string().max(100).optional().describe('Announcement number'), kundmachungsdatum_von: DateSchema.optional().describe('Announcement date from (YYYY-MM-DD)'), kundmachungsdatum_bis: DateSchema.optional().describe('Announcement date to (YYYY-MM-DD)'), im_ris_seit: z.enum(IM_RIS_SEIT_VALUES).optional().describe('Filter by time in RIS'), seite: z.number().default(1).describe('Page number (default: 1)'), limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'), response_format: z .enum(['markdown', 'json']) .default('markdown') .describe('"markdown" (default) or "json"'), },