ris_bundesgesetzblatt
Search Austrian Federal Law Gazettes to find official publications of laws, ordinances, and treaties for historical research and tracking when laws were enacted.
Instructions
Search Austrian Federal Law Gazettes (Bundesgesetzblatt).
Use this tool for historical research and tracking when laws were enacted. Contains official publications of federal laws, ordinances, and treaties.
Example queries:
bgblnummer="120", jahrgang="2023", teil="1" -> Find specific gazette
suchworte="Klimaschutz" -> Full-text search in gazettes
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bgblnummer | No | Gazette number (e.g., "120") | |
| teil | No | Part - "1" (I=Laws), "2" (II=Ordinances), "3" (III=Treaties) | |
| jahrgang | No | Year (e.g., "2023") | |
| suchworte | No | Full-text search terms | |
| titel | No | Search in gazette titles | |
| applikation | No | "BgblAuth" (authentic 2004+, default), "BgblPdf" (PDF), "BgblAlt" (1945-2003) | BgblAuth |
| 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/bundesgesetzblatt.ts:48-80 (handler)The handler function for 'ris_bundesgesetzblatt' tool which validates input parameters, prepares search criteria, and invokes the search client.
async (args) => { const { bgblnummer, teil, jahrgang, suchworte, titel, applikation, seite, limit, response_format, } = args; if (!hasAnyParam(args, ['bgblnummer', 'jahrgang', 'suchworte', 'titel'])) { return createValidationErrorResponse([ 'bgblnummer` fuer Gesetzblatt-Nummer', 'jahrgang` fuer Jahr', 'suchworte` fuer Volltextsuche', 'titel` fuer Suche in Titeln', ]); } const params = buildBaseParams(applikation, limit, seite); addOptionalParams(params, [ [bgblnummer, 'Bgblnummer'], [teil, 'Teil'], [jahrgang, 'Jahrgang'], [suchworte, 'Suchworte'], [titel, 'Titel'], ]); return executeSearchTool(searchBundesrecht, params, response_format); }, - src/tools/bundesgesetzblatt.ts:17-82 (registration)Registration of the 'ris_bundesgesetzblatt' tool within the McpServer instance.
export function registerBundesgesetzblattTool(server: McpServer): void { server.tool( 'ris_bundesgesetzblatt', `Search Austrian Federal Law Gazettes (Bundesgesetzblatt). Use this tool for historical research and tracking when laws were enacted. Contains official publications of federal laws, ordinances, and treaties. Example queries: - bgblnummer="120", jahrgang="2023", teil="1" -> Find specific gazette - suchworte="Klimaschutz" -> Full-text search in gazettes`, { bgblnummer: z.string().max(100).optional().describe('Gazette number (e.g., "120")'), teil: z .enum(['1', '2', '3']) .optional() .describe('Part - "1" (I=Laws), "2" (II=Ordinances), "3" (III=Treaties)'), jahrgang: z.string().max(10).optional().describe('Year (e.g., "2023")'), suchworte: z.string().max(1000).optional().describe('Full-text search terms'), titel: z.string().max(500).optional().describe('Search in gazette titles'), applikation: z .enum(['BgblAuth', 'BgblPdf', 'BgblAlt']) .default('BgblAuth') .describe('"BgblAuth" (authentic 2004+, default), "BgblPdf" (PDF), "BgblAlt" (1945-2003)'), 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 { bgblnummer, teil, jahrgang, suchworte, titel, applikation, seite, limit, response_format, } = args; if (!hasAnyParam(args, ['bgblnummer', 'jahrgang', 'suchworte', 'titel'])) { return createValidationErrorResponse([ 'bgblnummer` fuer Gesetzblatt-Nummer', 'jahrgang` fuer Jahr', 'suchworte` fuer Volltextsuche', 'titel` fuer Suche in Titeln', ]); } const params = buildBaseParams(applikation, limit, seite); addOptionalParams(params, [ [bgblnummer, 'Bgblnummer'], [teil, 'Teil'], [jahrgang, 'Jahrgang'], [suchworte, 'Suchworte'], [titel, 'Titel'], ]); return executeSearchTool(searchBundesrecht, params, response_format); }, ); } - src/tools/bundesgesetzblatt.ts:28-47 (schema)Input parameter schema validation for the 'ris_bundesgesetzblatt' tool using Zod.
{ bgblnummer: z.string().max(100).optional().describe('Gazette number (e.g., "120")'), teil: z .enum(['1', '2', '3']) .optional() .describe('Part - "1" (I=Laws), "2" (II=Ordinances), "3" (III=Treaties)'), jahrgang: z.string().max(10).optional().describe('Year (e.g., "2023")'), suchworte: z.string().max(1000).optional().describe('Full-text search terms'), titel: z.string().max(500).optional().describe('Search in gazette titles'), applikation: z .enum(['BgblAuth', 'BgblPdf', 'BgblAlt']) .default('BgblAuth') .describe('"BgblAuth" (authentic 2004+, default), "BgblPdf" (PDF), "BgblAlt" (1945-2003)'), 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"'), },