Skip to main content
Glama

ris_bundesrecht

Search Austrian federal laws and legislation by keywords, titles, or specific paragraphs to find legal information from official sources.

Instructions

Search Austrian federal laws (Bundesrecht).

Use this tool to find Austrian federal legislation like ABGB, StGB, UGB, etc.

Example queries:

  • suchworte="Mietrecht" -> Find laws mentioning rent law

  • titel="ABGB", paragraph="1319a" -> Find specific ABGB section

  • applikation="Begut" -> Search draft legislation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
suchworteNoFull-text search terms (e.g., "Mietrecht", "Schadenersatz")
titelNoSearch in law titles (e.g., "ABGB", "Strafgesetzbuch")
paragraphNoParagraph number to search for (e.g., "1295" for §1295)
applikationNoData source - "BrKons" (consolidated, default), "Begut" (drafts), "BgblAuth" (gazette), "Erv" (English)BrKons
fassung_vomNoDate for historical version (YYYY-MM-DD)
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 the `ris_bundesrecht` tool. It processes the arguments, prepares the search parameters, and delegates the execution to `executeSearchTool`.
    async (args) => {
      const {
        suchworte,
        titel,
        paragraph,
        applikation,
        fassung_vom,
        seite,
        limit,
        response_format,
      } = args;
    
      if (!hasAnyParam(args, ['suchworte', 'titel', 'paragraph'])) {
        return createValidationErrorResponse([
          'suchworte` fuer Volltextsuche',
          'titel` fuer Suche in Gesetzesnamen',
          'paragraph` fuer Suche nach Paragraphen',
        ]);
      }
    
      const params = buildBaseParams(applikation, limit, seite);
      addOptionalParams(params, [
        [suchworte, 'Suchworte'],
        [titel, 'Titel'],
        [fassung_vom, 'FassungVom'],
      ]);
    
      if (paragraph) {
        params['Abschnitt.Von'] = paragraph;
        params['Abschnitt.Bis'] = paragraph;
        params['Abschnitt.Typ'] = 'Paragraph';
      }
    
      return executeSearchTool(searchBundesrecht, params, response_format);
    },
  • The registration function for the `ris_bundesrecht` tool. It defines the tool name, description, schema, and handler.
    export function registerBundesrechtTool(server: McpServer): void {
      server.tool(
        'ris_bundesrecht',
        `Search Austrian federal laws (Bundesrecht).
    
    Use this tool to find Austrian federal legislation like ABGB, StGB, UGB, etc.
    
    Example queries:
      - suchworte="Mietrecht" -> Find laws mentioning rent law
      - titel="ABGB", paragraph="1319a" -> Find specific ABGB section
      - applikation="Begut" -> Search draft legislation`,
        {
          suchworte: z
            .string()
            .max(1000)
            .optional()
            .describe('Full-text search terms (e.g., "Mietrecht", "Schadenersatz")'),
          titel: z
            .string()
            .max(500)
            .optional()
            .describe('Search in law titles (e.g., "ABGB", "Strafgesetzbuch")'),
          paragraph: z
            .string()
            .max(100)
            .optional()
            .describe('Paragraph number to search for (e.g., "1295" for §1295)'),
          applikation: BundesrechtApplikationSchema.default('BrKons').describe(
            'Data source - "BrKons" (consolidated, default), "Begut" (drafts), "BgblAuth" (gazette), "Erv" (English)',
          ),
          fassung_vom: DateSchema.optional().describe('Date for historical version (YYYY-MM-DD)'),
          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,
            paragraph,
            applikation,
            fassung_vom,
            seite,
            limit,
            response_format,
          } = args;
    
          if (!hasAnyParam(args, ['suchworte', 'titel', 'paragraph'])) {
            return createValidationErrorResponse([
              'suchworte` fuer Volltextsuche',
              'titel` fuer Suche in Gesetzesnamen',
              'paragraph` fuer Suche nach Paragraphen',
            ]);
          }
    
          const params = buildBaseParams(applikation, limit, seite);
          addOptionalParams(params, [
            [suchworte, 'Suchworte'],
            [titel, 'Titel'],
            [fassung_vom, 'FassungVom'],
          ]);
    
          if (paragraph) {
            params['Abschnitt.Von'] = paragraph;
            params['Abschnitt.Bis'] = paragraph;
            params['Abschnitt.Typ'] = 'Paragraph';
          }
    
          return executeSearchTool(searchBundesrecht, params, response_format);
        },
      );
    }

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