Skip to main content
Glama

Lintelly HR Deutschland

Befristungs-Rechner

befristung
Read-onlyIdempotent

German employment law, Germany only: checks a fixed-term contract without objective reason (sachgrundlose Befristung, § 14 TzBfG). Returns the latest allowed end date (2 years, 4 for new companies, 5 from age 52), extensions used and left, and a traffic light with findings on prior employment (Vorbeschäftigung), written form (Schriftform) and extensions (Verlängerung). Use it before signing or extending a fixed-term contract.

Input Schema

NameRequiredDescriptionDefault
ab52NoSpecial case: at least 52 at start and unemployed for at least 4 months before (§ 14 Abs. 3 TzBfG)
endeNoEnd of the first contract, without extensions (YYYY-MM-DD)
beginnYesStart of the first fixed-term contract (YYYY-MM-DD)
gruendungNoFounding date if the company is a new business (§ 14 Abs. 2a TzBfG) (YYYY-MM-DD)
schriftformNoSigned on paper by both sides before the first working day: ja, nein, unklar. Default unklar
verlaengerungenNoExtensions in order
regelaltersgrenzeNoPerson had reached the standard retirement age at contract start (§ 41 Abs. 2 SGB VI)
vorbeschaeftigungNoEmployed before by the same employer: nein (never), arbeit (as employee, also mini-job or working student), azubi (only apprenticeship), praktikum (internship), leih (temp agency worker). Default nein
vorbeschaeftigung_endeNoEnd of the earlier employment, optional (YYYY-MM-DD)

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. Changed7 schema fields changed
    • addedInput schema / properties / beginn / format
      Added value: +"date"
    • addedInput schema / properties / ende / format
      Added value: +"date"
    • addedInput schema / properties / gruendung / format
      Added value: +"date"
    • addedInput schema / properties / verlaengerungen / items / properties / neues_ende / format
      Added value: +"date"
    • addedInput schema / properties / verlaengerungen / items / properties / vereinbart_am / format
      Added value: +"date"
    • addedInput schema / properties / vorbeschaeftigung_ende / format
      Added value: +"date"
    • 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.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior and the description is consistent with that. Beyond the annotations it adds genuine domain context: the legal basis, the applicable maximum durations (2/4/5 years), and which findings the traffic light reports. It does not discuss input-validation failure modes, but the output schema covers the return shape.

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

Conciseness5/5

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

Two sentences, front-loaded with jurisdiction and legal basis, then outputs, then usage timing. No filler or repetition of the schema.

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

Completeness5/5

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

For a 9-parameter calculator with full schema coverage, rich annotations and an output schema, the description supplies everything an agent needs: jurisdiction, legal frame, what is computed, what is returned, and when to call it. Nothing material is missing.

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 baseline is 3; the description earns above baseline by explaining the legal rules behind the parameters—two years standard, four for new companies, five from age 52—and by naming Vorbeschäftigung, Schriftform and Verlängerung as the axes that drive the result. It does not explain individual edge parameters like regelaltersgrenze, but the schema does.

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 verb and resource ('checks a fixed-term contract without objective reason, § 14 TzBfG') and immediately constrains scope to German employment law, which separates it from siblings like probezeit or vertragsbaustein. It also enumerates the concrete outputs (latest end date, extensions used/left, traffic-light findings), so an agent knows exactly what it gets back.

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?

'Use it before signing or extending a fixed-term contract' gives a clear timing cue for invocation. There is no explicit when-not guidance or named alternative among the many sibling tools, so it stops short of full routing guidance.

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.