Skip to main content
Glama

DRGSystem — German medical coding catalogs

Krankenhaus abrufen

kh_get
Read-onlyIdempotent

Liefert in 'focus' die vollständigen Angaben zu einem Krankenhaus: Name, Träger und Trägerart, Art der Zulassung, Anschrift, Kontakt, meldende Krankenkasse, aufgestellte Betten, Stufe der Notfallversorgung, Fachabteilungen nach § 301 SGB V mit Betten sowie die einzelnen Standorte. Anschrift, Betten und Standorte stammen aus dem Krankenhausverzeichnis und sind dem IK über den Namen zugeordnet ('zuordnung'); bei 'Keine' fehlen sie. Das Verzeichnis ist nach Bundesländern gegliedert: ohne Kennzeichen aufgerufen liefert die Funktion die Bundesländer, mit einem Länderschlüssel (z. B. '05') deren Krankenhäuser.

Input Schema

NameRequiredDescriptionDefault
codeNoInstitutionskennzeichen (IK) des Krankenhauses oder zweistelliger Länderschlüssel. Leer lassen für die Bundesländer.
yearNoKatalogjahr — nur angeben, wenn ausdrücklich eine bestimmte Fassung gebraucht wird. Leer lassen (empfohlen): dann kommt die jüngste Fassung, in der es den Kode gibt, auch für inzwischen entfallene Kodes; welcher Jahrgang das ist, steht in 'year' der Antwort.

Output Schema

NameRequiredDescriptionDefault
infoNoWas über den Jahrgang zu wissen ist, etwa «Version 2026» (ICD-10-GM 2027) oder «Vorabfassung». Null ohne.
yearNoKatalogjahr, aus dem alle Daten dieser Antwort stammen.
focusNoDer abgefragte Kode mit allen Detaildaten. Null bei einer Suche und beim Katalog-Einstieg (leerer Kode).
itemsNoDie Kodeliste der Antwort: bei einer Abfrage die direkt untergeordneten Kodes von 'focus' (bzw. die oberste Ebene bei leerem Kode), bei einer Suche die Treffer.
parentsNoÜbergeordnete Kodes von 'focus' als Pfad von der obersten Ebene abwärts (Brotkrumen). Leer bei einer Suche und beim Katalog-Einstieg.
interpretationNoNur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / year / description
      Previous value: -"Katalogjahr (z. B. 2026). Leer lassen für das aktuellste verfügbare Jahr."New value: +"Katalogjahr — nur angeben, wenn ausdrücklich eine bestimmte Fassung gebraucht wird. Leer lassen (empfohlen): dann kommt die jüngste Fassung, in der es den Kode gibt, auch für inzwischen entfallene Kodes; welcher Jahrgang das ist, steht in 'year' der Antwort."
  2. Changed1 schema field changed
    • addedOutput schema / properties / info
      Added value: +{
      +  "description": "Was über den Jahrgang zu wissen ist, etwa «Version 2026» (ICD-10-GM 2027) oder «Vorabfassung». Null ohne.",
      +  "properties": {
      +    "subname": {
      +      "description": "Zusatz zum Namen des Jahrgangs, etwa «Version 2026» oder «Vorabfassung». Null ohne Zusatz.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "subnameComment": {
      +      "description": "Erläuterung zum Zusatz in einem Satz oder zwei. Null ohne Erläuterung.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  3. Changed4 schema fields changed
    • removedOutput schema / properties / focus / properties / descriptionHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / focus / properties / matchedTermHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / items / items / properties / descriptionHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / items / items / properties / matchedTermHighlight
      Removed value: -{
      -  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
  4. Changed16 schema fields changed
    • changedInput schema / properties / code / description
      Previous value: -"Institutionskennzeichen (IK) des Krankenhauses oder Schlüssel eines Bundeslandes bzw. Kreises. Leer lassen für die Bundesländer."New value: +"Institutionskennzeichen (IK) des Krankenhauses oder zweistelliger Länderschlüssel. Leer lassen für die Bundesländer."
    • addedOutput schema / properties / focus / properties / beds
      Added value: +{
      +  "description": "Aufgestellte Betten über alle Standorte.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / departments
      Added value: +{
      +  "description": "Fachabteilungen über alle Standorte zusammengezählt, absteigend nach Betten.",
      +  "items": {
      +    "$ref": "#/properties/focus/properties/sites/items/properties/departments/items"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / focus / properties / districtCode / description
      Previous value: -"Amtlicher Kreisschlüssel (Landkreis oder kreisfreie Stadt)."New value: +"Amtlicher Kreisschlüssel (Landkreis oder kreisfreie Stadt), ohne Länderschlüssel."
    • addedOutput schema / properties / focus / properties / einrichtungsTyp
      Added value: +{
      +  "description": "Art der Zulassung: 'Hochschulklinik', 'Plankrankenhaus', 'Versorgungsvertrag' (§ 108 Nr. 3 SGB V), 'OhneVersorgungsvertrag' oder 'Bundeswehrkrankenhaus'.",
      +  "enum": [
      +    "Hochschulklinik",
      +    "Plankrankenhaus",
      +    "Versorgungsvertrag",
      +    "OhneVersorgungsvertrag",
      +    "Bundeswehrkrankenhaus",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / focus / properties / hospitalName / description
      Previous value: -"Name des Krankenhauses laut Verzeichnis."New value: +"Name des Krankenhauses im Krankenhausverzeichnis; kann vom Namen in der IK-Liste ('description') abweichen."
    • addedOutput schema / properties / focus / properties / krankenkasse
      Added value: +{
      +  "description": "Krankenkasse, die für das Krankenhaus nach § 6a KHEntgG meldet (in der Regel die AOK).",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / notfallstufe
      Added value: +{
      +  "description": "Höchste Stufe der allgemeinen Notfallversorgung über alle Standorte.",
      +  "enum": [
      +    "Keine",
      +    "Basis",
      +    "Erweitert",
      +    "Umfassend",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / sites
      Added value: +{
      +  "description": "Standorte mit Anschrift, Betten, Notfallstufe und Fachabteilungen, absteigend nach Betten.",
      +  "items": {
      +    "properties": {
      +      "beds": {
      +        "description": "Jahresdurchschnittlich aufgestellte Betten. 0 bei einer reinen Tages- oder Nachtklinik.",
      +        "type": "integer"
      +      },
      +      "city": {
      +        "description": "Ort.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "departments": {
      +        "description": "Fachabteilungen nach § 301 SGB V mit aufgestellten Betten, absteigend nach Betten. Nur Hauptfachabteilungen mit vollstationären Betten.",
      +        "items": {
      +          "properties": {
      +            "beds": {
      +              "description": "Aufgestellte Betten.",
      +              "type": "integer"
      +            },
      +            "key": {
      +              "description": "Fachabteilungsschlüssel nach § 301 SGB V, vierstellig (z. B. '0100' Innere Medizin).",
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "Bezeichnung der Fachabteilung.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "siteCount": {
      +              "description": "An wie vielen Standorten des Hauses die Fachabteilung Betten hat (nur in der Summe über das Haus; beim Standort 1).",
      +              "type": "integer"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "districtName": {
      +        "description": "Landkreis bzw. kreisfreie Stadt.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "email": {
      +        "description": "E-Mail-Adresse.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "houseNumber": {
      +        "description": "Hausnummer.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "municipalityKey": {
      +        "description": "Amtlicher Gemeindeschlüssel, achtstellig.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "Name des Standorts.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "notfallModule": {
      +        "description": "Module der speziellen Notfallversorgung, an denen der Standort teilnimmt: 'Schwerverletzte', 'Kinder', 'Spezialversorgung', 'Schlaganfall', 'Herz' (Durchblutungsstörungen am Herzen).",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "notfallstufe": {
      +        "description": "Stufe der allgemeinen stationären Notfallversorgung nach § 136c Abs. 4 SGB V (G-BA-Notfallstufen): 'Keine', 'Basis' (Stufe 1), 'Erweitert' (Stufe 2), 'Umfassend' (Stufe 3). Null, wenn nicht angegeben.",
      +        "enum": [
      +          "Keine",
      +          "Basis",
      +          "Erweitert",
      +          "Umfassend",
      +          null
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "phone": {
      +        "description": "Telefonnummer.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "postalCode": {
      +        "description": "Postleitzahl.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "street": {
      +        "description": "Straße der Anschrift, ohne Hausnummer.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "website": {
      +        "description": "Internetadresse.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / focus / properties / sources
      Added value: +{
      +  "description": "Stand der Quellen.",
      +  "properties": {
      +    "ikListeStand": {
      +      "description": "Stand der InEK-Liste der Institutionskennzeichen mit der meldenden Krankenkasse.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "verzeichnisStand": {
      +      "description": "Stichtag des Krankenhausverzeichnisses der Statistischen Ämter, aus dem Anschrift, Träger, Standorte, Betten und Notfallstufen stammen.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / focus / properties / street / description
      Previous value: -"Straße der Anschrift, ohne Hausnummer."New value: +"Straße der Anschrift des Hauptstandorts (des bettenstärksten), ohne Hausnummer."
    • addedOutput schema / properties / focus / properties / traegerArt
      Added value: +{
      +  "description": "Art des Trägers: 'Oeffentlich', 'Freigemeinnuetzig' oder 'Privat'.",
      +  "enum": [
      +    "Oeffentlich",
      +    "Freigemeinnuetzig",
      +    "Privat",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / zuordnung
      Added value: +{
      +  "description": "Wie das Institutionskennzeichen dem Krankenhausverzeichnis zugeordnet ist: 'Krankenhaus' = ein ganzes Haus mit allen Standorten, 'Standort' = ein einzelner Standort eines Hauses (z. B. nach einer Fusion), 'Keine' = kein sicherer Eintrag gefunden — dann fehlen Anschrift, Betten und Standorte. Die Verbindung beruht auf dem Namen, denn das Verzeichnis führt kein IK.",
      +  "enum": [
      +    "Keine",
      +    "Krankenhaus",
      +    "Standort"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / beds
      Added value: +{
      +  "description": "Aufgestellte Betten über alle Standorte.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / notfallstufe
      Added value: +{
      +  "description": "Höchste Stufe der allgemeinen Notfallversorgung über alle Standorte.",
      +  "enum": [
      +    "Keine",
      +    "Basis",
      +    "Erweitert",
      +    "Umfassend",
      +    null
      +  ],
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / siteCount
      Added value: +{
      +  "description": "Anzahl der Standorte laut Krankenhausverzeichnis.",
      +  "type": "integer"
      +}
  5. Changed17 schema fields changed
    • changedOutput schema / properties / focus / properties / descriptionHighlight / description
      Previous value: -"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description'. Über MCP immer null."New value: +"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null."
    • addedOutput schema / properties / focus / properties / groupCode
      Added value: +{
      +  "description": "Nur bei einer Suche: die Rubrik, unter der die Suche diesen Treffer einordnet — beim ICD die dreistellige Kategorie, beim OPS der vierstellige Kode. Die Liste bleibt flach; wer mag, gruppiert danach. Null außerhalb der Suche.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / isGroupHeader
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn diese Zeile die Rubrik selbst ist und die folgenden Zeilen mit gleichem 'groupCode' ihre Kodes sind.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / focus / properties / isSemanticMatch
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn kein Wort der Anfrage diesen Kode erreicht hat und er über die Bedeutung gefunden wurde. Dann gibt es nichts hervorzuheben.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / focus / properties / matchedTerm
      Added value: +{
      +  "description": "Nur bei einer Suche: die Formulierung, über die der Treffer gefunden wurde, wenn sie etwas sagt, was 'description' nicht sagt — etwa der Eintrag des Alphabetischen Verzeichnisses, unter dem der Kode nachgewiesen ist. Null, wenn der Treffer sich aus der Bezeichnung selbst erklärt.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / focus / properties / matchedTermHighlight
      Added value: +{
      +  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      +  "items": {
      +    "type": "number"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / focus / properties / treeDepth / description
      Previous value: -"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Null bedeutet, dass die Zeilen der Liste in keinem Über-/Unterordnungsverhältnis zueinander stehen — etwa bei einer Suche."New value: +"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Bei einer Suche null — dort sagt 'groupCode', wohin eine Zeile gehört, und die Gliederung entsteht durch Blöcke statt durch Einrückung."
    • addedOutput schema / properties / interpretation
      Added value: +{
      +  "description": "Nur bei einer Suche: wie die Suche die Anfrage gelesen hat. Null außerhalb der Suche.",
      +  "properties": {
      +    "detectedCode": {
      +      "description": "Im Suchtext erkannte Schlüsselnummer, normalisiert (z. B. 'I219', '5820'). Null, wenn die Anfrage nur Text war.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "expandedTerms": {
      +      "description": "Aufgelöste Abkürzungen, mit denen zusätzlich gesucht wurde — etwa 'KHK' auch als 'Koronare Herzkrankheit'.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "usedSemanticSearch": {
      +      "description": "True, wenn die Wortsuche keinen sicheren Treffer hatte und zusätzlich nach Bedeutung gesucht wurde.",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / city
      Added value: +{
      +  "description": "Ort der Anschrift.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / items / items / properties / descriptionHighlight / description
      Previous value: -"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description'. Über MCP immer null."New value: +"Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'description' — wie wörtlich die Suchanfrage das jeweilige Wort getroffen hat. 1,00 das Wort selbst, 0,75 eine Wortform oder ein Präfix, 0,50 ein Bestandteil eines zusammengesetzten Wortes, 0,25 ein Synonym oder ein korrigierter Tippfehler. Null, wenn die Anfrage diesen Text nicht berührt hat. Über MCP immer null."
    • addedOutput schema / properties / items / items / properties / groupCode
      Added value: +{
      +  "description": "Nur bei einer Suche: die Rubrik, unter der die Suche diesen Treffer einordnet — beim ICD die dreistellige Kategorie, beim OPS der vierstellige Kode. Die Liste bleibt flach; wer mag, gruppiert danach. Null außerhalb der Suche.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / isGroupHeader
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn diese Zeile die Rubrik selbst ist und die folgenden Zeilen mit gleichem 'groupCode' ihre Kodes sind.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / items / items / properties / isSemanticMatch
      Added value: +{
      +  "description": "Nur bei einer Suche: True, wenn kein Wort der Anfrage diesen Kode erreicht hat und er über die Bedeutung gefunden wurde. Dann gibt es nichts hervorzuheben.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / items / items / properties / matchedTerm
      Added value: +{
      +  "description": "Nur bei einer Suche: die Formulierung, über die der Treffer gefunden wurde, wenn sie etwas sagt, was 'description' nicht sagt — etwa der Eintrag des Alphabetischen Verzeichnisses, unter dem der Kode nachgewiesen ist. Null, wenn der Treffer sich aus der Bezeichnung selbst erklärt.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / matchedTermHighlight
      Added value: +{
      +  "description": "Nur für die Trefferhervorhebung im Web-Katalog: Gewicht je Zeichen von 'matchedTerm', gleiche Skala wie 'descriptionHighlight'. Über MCP immer null.",
      +  "items": {
      +    "type": "number"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / items / items / properties / postalCode
      Added value: +{
      +  "description": "Postleitzahl der Anschrift.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / items / items / properties / treeDepth / description
      Previous value: -"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Null bedeutet, dass die Zeilen der Liste in keinem Über-/Unterordnungsverhältnis zueinander stehen — etwa bei einer Suche."New value: +"Nur wenn die Liste ein aufgeklapptes Teilbaum-Listing ist: Tiefe dieser Zeile innerhalb der Liste (0 = direkt unter dem abgefragten Kode, 1 = dessen Kind usw.). Bei einer Suche null — dort sagt 'groupCode', wohin eine Zeile gehört, und die Gliederung entsteht durch Blöcke statt durch Einrückung."
  6. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and closed-world behavior, but the description adds real context they cannot: the provenance of address/beds/locations from the Krankenhausverzeichnis, the name-based IK mapping ('zuordnung'), and the explicit degradation when the mapping is 'Keine' (those fields are absent). What it does not cover is error behavior for an unknown IK or a code that exists only in older catalog years.

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 field list is front-loaded, followed by provenance and then the three calling modes, so the most decision-relevant information comes first. It runs long and the field enumeration is partly redundant with the output schema, but no sentence is filler.

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?

With an output schema present, the description need not enumerate return fields, yet doing so plus documenting provenance and missing-value behavior makes the tool usable without opening the schema. The one remaining gap is the absence of any pointer to kh_search for discovery, which matters given how many sibling tools exist.

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?

Schema coverage is 100%, so the baseline is 3; the description merely reinforces the hierarchy encoded in 'code' (Länderschlüssel example '05', empty for Bundesländer). The year-fallback rule ('jüngste Fassung, in der es den Kode gibt') is already fully stated in the schema and is not elaborated on further.

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?

Names a specific verb and resource: it returns the complete record for a single hospital ('vollständigen Angaben zu einem Krankenhaus') and enumerates the returned fields. The contrast with kh_search is only implied by 'vollständigen', not stated explicitly, so an agent must infer that this is the detail-lookup counterpart to the search tool.

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?

It explains the three calling modes well: no code returns the Bundesländer, a two-digit Länderschlüssel (e.g. '05') returns that state's hospitals, and an IK returns one hospital. It never names kh_search or states when to prefer discovery-by-search over this direct lookup, so the alternative routing is left implicit.

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.

Resources