Skip to main content
Glama

Einkommensteuer: Grundfreibetrag und Tarifeckwerte

hr_einkommensteuer_eckwerte
Read-onlyIdempotent

Nur Deutschland. Eckwerte der Einkommensteuer für ein Jahr ab 2015: Grundfreibetrag, Beginn des Spitzensteuersatzes 42 Prozent und des Reichensteuersatzes 45 Prozent, Kinderfreibetrag und BEA-Freibetrag je Elternteil, Freigrenze und Satz des … English: Basic tax-free allowance, bracket thresholds, child allowance and solidarity surcharge exemption limit per year since 2015.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jahrNoKalenderjahr. Ohne Angabe gilt das laufende Jahr.
datumNoAlternativ zu jahr: Stichtag im Format JJJJ-MM-TT, das Jahr wird daraus genommen.
bestandteilNoNur diesen Bestandteil liefern und zitieren, etwa für eine einzelne Frage (optional). Erlaubt sind die ids der Bestandteile.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / datum / pattern
      Removed value: -"^\\d{4}-\\d{2}-\\d{2}$"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "bestandteile": {
      -      "description": "Je Eckwert Betrag, Gültigkeit, Gesetz und Quelle (Liste)"
      -    },
      -    "datensatz": {
      -      "description": "Kennung des Datensatzes (Text)"
      -    },
      -    "datenstand": {
      -      "description": "Kennung des Datenstands: Datum und laufende Nummer der letzten Änderung im Änderungsprotokoll (/v1/aenderungen), die diesen Datensatz betrifft. Gleicher Datenstand heißt unveränderter Inhalt, praktisch für Prüfer und zum Vergleich zweier Abfragen (Text)"
      -    },
      -    "hinweise": {
      -      "description": "Grenzen der Werte oder der Berechnung, in Sätzen (Liste)"
      -    },
      -    "jahr": {
      -      "description": "Kalenderjahr (Ganzzahl)"
      -    },
      -    "lizenz": {
      -      "description": "Nutzungsbedingungen der Werte (Text)"
      -    },
      -    "regeln": {
      -      "description": "Splitting, Kinderfreibeträge und Solidaritätszuschlag in Sätzen (Liste)"
      -    },
      -    "stand": {
      -      "description": "Tag der letzten Prüfung gegen die Quelle (Datum)"
      -    },
      -    "vorlaeufig": {
      -      "description": "true, wenn für den Stichtag noch nicht alle Werte festgelegt sind (Boolesch)"
      -    },
      -    "werte": {
      -      "additionalProperties": true,
      -      "description": "Kurzform: Bestandteil und Wert am Stichtag, null solange ein angekündigter Wert fehlt",
      -      "properties": {
      -        "bea_freibetrag_je_elternteil": {
      -          "description": "Freibetrag für Betreuung, Erziehung oder Ausbildung je Elternteil, Euro im Jahr",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "eingangssteuersatz": {
      -          "description": "Eingangssteuersatz, Prozent",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "grundfreibetrag": {
      -          "description": "Grundfreibetrag, Euro im Jahr",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "kinderfreibetrag_je_elternteil": {
      -          "description": "Kinderfreibetrag je Elternteil (sächliches Existenzminimum), Euro im Jahr",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "reichensteuer_ab": {
      -          "description": "Beginn Reichensteuersatz 45 Prozent (zu versteuerndes Einkommen), Euro im Jahr",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "reichensteuersatz": {
      -          "description": "Reichensteuersatz, Prozent",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "soli_freigrenze": {
      -          "description": "Freigrenze Solidaritätszuschlag (Einkommensteuer je Jahr, Einzelveranlagung), Euro im Jahr",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "soli_satz": {
      -          "description": "Solidaritätszuschlag, Zuschlagssatz, Prozent",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "spitzensteuersatz": {
      -          "description": "Spitzensteuersatz, Prozent",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "spitzensteuersatz_ab": {
      -          "description": "Beginn Spitzensteuersatz 42 Prozent (zu versteuerndes Einkommen), Euro im Jahr",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "zitat": {
      -      "description": "Fertiger Satz mit Wert, Gültigkeit, Rechtsgrundlage und Quelle zum Zitieren (Text)"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds meaningful context about Germany-only scope, the time range, and the tax components included, but it does not describe output shape, default behavior when jahr is omitted, or how a single component can be selected.

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

Conciseness3/5

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

The description is compact and front-loaded with the key scope limitation, 'Nur Deutschland.' However, the German text trails off at 'Freigrenze und Satz des …', leaving a dangling fragment, and the English translation partially repeats the same content without adding structural clarity.

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?

For a read-only reference tool with no required parameters reasonably safe annotations, this description is nearly complete: it states the country, the time window, and the exact set of returned values. The remaining gaps, such as explicitly mentioning the optional bestandteil filter or clarifying response format, are minor because the schema already documents parameter behavior.

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

Parameters3/5

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

The input schema has 100% parameter description coverage, including the jahr default, the datum alternative, and the full bestandteil enum. The description lists several of the returned tax values but adds no new parameter-level meaning beyond what the schema already provides.

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

Purpose4/5

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

The description clearly identifies the resource: Eckwerte der Einkommensteuer for Germany since 2015, and enumerates specific figures such as Grundfreibetrag, Spitzensteuersatz, and child allowance. It does not use an explicit verb like 'returns' or 'lists', and it does not explicitly differentiate the tool from siblings such as hr_steuerfreie_betraege or hr_beitragssaetze, so it stops short of a 5.

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

Usage Guidelines3/5

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

The description implies the use case: retrieving German income tax key values for a year. It does not state exclusions, preferred conditions, or mention alternative sibling tools, leaving an agent to infer when this tool should be chosen over similar HR/finance reference tools.

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.