Skip to main content
Glama

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
NameRequiredDescriptionDefault
bgblnummerNoGazette number (e.g., "120")
teilNoPart - "1" (I=Laws), "2" (II=Ordinances), "3" (III=Treaties)
jahrgangNoYear (e.g., "2023")
suchworteNoFull-text search terms
titelNoSearch in gazette titles
applikationNo"BgblAuth" (authentic 2004+, default), "BgblPdf" (PDF), "BgblAlt" (1945-2003)BgblAuth
seiteNoPage number (default: 1)
limitNoResults per page 10/20/50/100 (default: 20)
response_formatNo"markdown" (default) or "json"markdown

Implementation Reference

  • 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);
    },
  • 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);
        },
      );
    }
  • 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"'),
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/philrox/ris-mcp-ts'

If you have feedback or need assistance with the MCP directory API, please join our Discord server