Skip to main content
Glama

Lintelly HR Deutschland

Schwellenwerte: was gilt bei wie vielen Leuten

schwellen_check
Read-onlyIdempotent

Size thresholds in German employment law (Schwellenwerte): which duties apply at how many employees, each counted the way its law counts (heads, part-time weighting, apprentices). Covers works council, unfair dismissal protection above 10 (KSchG), part-time claims, U1 levy, severely disabled quota, data protection officer, whistleblower channel and more, plus what changes at the next threshold. Use it when a founder asks what applies to a team of their size or what changes with the next hire. Germany only.

Input Schema

NameRequiredDescriptionDefault
azubisNoApprentices (Auszubildende)
koepfeYesEmployees by head count without apprentices; part-time staff and mini-jobbers count, managing directors, freelancers and agency workers do not
betriebsratNoTrue if there is a works council (Betriebsrat)
schwerbehinderteNoSeverely disabled employees without apprentices
teilzeit_bis_10_stundenNoOf the employees, those with up to 10 regular hours per week
personen_mit_personendatenNoPeople who constantly process personal data by computer, incl. part-time, apprentices and freelancers; for the data protection officer
teilzeit_11_bis_20_stundenNoOf the employees, those with more than 10 up to 20 hours per week
teilzeit_21_bis_30_stundenNoOf the employees, those with more than 20 up to 30 hours per week
arbeitsplaetze_ab_18_stundenNoJobs with 18 or more hours per week without apprentices, for the severely disabled quota; estimated if left out

Output Schema

NameRequiredDescriptionDefault
standYes
fallenNo
hinweisYes
quellenYes
ergebnisYesResult of the tool; its fields differ per tool
rechenwegNo
herausgeberYes
naechster_schrittNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / arbeitsplaetze_ab_18_stunden / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / azubis / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / koepfe / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / personen_mit_personendaten / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / schwerbehinderte / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / teilzeit_11_bis_20_stunden / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / teilzeit_21_bis_30_stunden / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / teilzeit_bis_10_stunden / type
      Previous value: -"number"New value: +"integer"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "ergebnis": {
      +      "description": "Result of the tool; its fields differ per tool"
      +    },
      +    "fallen": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "herausgeber": {
      +      "type": "string"
      +    },
      +    "hinweis": {
      +      "type": "string"
      +    },
      +    "naechster_schritt": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "quellen": {
      +      "items": {
      +        "properties": {
      +          "geprueft_am": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "grund": {
      +            "type": "string"
      +          },
      +          "norm": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "bestätigt",
      +              "noch nicht bestätigt",
      +              "Prüfung überfällig"
      +            ],
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "norm"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "rechenweg": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "stand": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ergebnis",
      +    "quellen",
      +    "hinweis",
      +    "stand",
      +    "herausgeber"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the substantive behavioral point that each threshold is counted the way its own law counts (heads, part-time weighting, apprentices) and that it also reports the next threshold — exactly the context an agent needs to trust the answer. It stops short of describing output shape or how ambiguity is resolved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The covered-duties list is front-loaded and the trigger sentence follows logically; nothing is redundant. The enumeration is long but each item carries routing value, so it does not read as padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description states what the answer contains (which duties apply at this size, plus what changes at the next threshold). With 9 parameters and only one required, it could say more about which inputs are optional or how missing data is handled, though the schema partially covers this ('estimated if left out').

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description goes marginally beyond it by flagging the core concept that different laws use different counting bases (heads vs. part-time weighting vs. apprentices), which is what makes the `koepfe`/`teilzeit_*`/`azubis` split intelligible rather than a list of unrelated numbers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (size thresholds / Schwellenwerte in German employment law) and enumerates the concrete duties it resolves — works council, KSchG dismissal protection, U1 levy, disabled quota, DPO, whistleblower channel. This lets an agent distinguish it from narrow siblings like bemp_pflicht, ausgleichsabgabe or minijob without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('when a founder asks what applies to a team of their size or what changes with the next hire') and a hard scope exclusion ('Germany only'). It does not name which sibling to prefer for a single-topic question, which keeps it off a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.