Eine Werkzeugdefinition hat zwei Aufgaben, und nur eine davon ist JSON. Das Schema sagt, welche Form die Argumente haben; die Beschreibungen sagen, wofür das Werkzeug da ist und was jedes Argument bedeutet. Ein Schema kann völlig gültig sein und dennoch ein Werkzeug ergeben, das zum falschen Zeitpunkt mit plausibel klingendem Unsinn aufgerufen wird, weil nichts im JSON erklärt, was was ist. Dieser Builder schreibt das Schema und prüft beide Hälften: die Struktur und ob überhaupt etwas beschrieben ist. Auch der Strict-Modus wird richtig behandelt: Er verlangt, dass jede Eigenschaft als erforderlich gelistet ist, und verbietet zusätzliche — was überrascht, weil das Schema sonst unverändert bleibt.
Funktionen
Parameter mit Typen, Beschreibungen und optionalen geschlossenen Wertemengen
Die Alles-erforderlich-Regel des Strict-Modus erzwungen statt später entdeckt
additionalProperties korrekt gesetzt, wenn Strict aktiv ist
Arrays erhalten automatisch ein items-Schema
Warnt bei einem Parameter ohne Beschreibung
Erkennt doppelte Parameternamen
Merkt an, wenn ein Enum nur einen Wert hat — dann ist es eine Konstante
Gibt die ganze Definition aus, nicht nur das Schema
So verwendest du MCP-Tool-Schema
Benennen Sie das Werkzeug und beschreiben Sie, wann es genutzt werden soll
Ergänzen Sie jeden Parameter mit Typ und Beschreibung
Markieren Sie die erforderlichen oder aktivieren Sie den Strict-Modus
Kopieren Sie die Definition in Ihr Werkzeug-Array
Beispiel
Eingabe
"strict": true
Ausgabe
Error: strict mode requires every property to be listed as required
Der Strict-Modus kennt keine optionalen Eigenschaften — erlauben Sie stattdessen null.
Häufige Fehler & Fehlerbehebung
Der Strict-Modus wird abgelehnt. — Er verlangt alle Eigenschaften als erforderlich und additionalProperties false. Markieren Sie die optionalen als erforderlich und erlauben Sie null, oder schalten Sie Strict ab.
Das Werkzeug wird mit falschen Argumenten aufgerufen. — Meist unbeschriebene Parameter. Ein Name allein überlässt die Bedeutung dem Raten, und „id“ könnte alles sein.
Das Werkzeug wird zur falschen Zeit aufgerufen. — Das ist die Werkzeugbeschreibung, nicht das Schema. Sagen Sie, wann es zu nutzen ist und was es zurückgibt, nicht nur was es tut.
Ein Array-Parameter wird abgelehnt. — Arrays brauchen ein items-Schema. Hier wird eines automatisch ergänzt.
Häufig gestellte Fragen
Was ändert der Strict-Modus tatsächlich?
Er garantiert, dass die Argumente exakt gegen das Schema validieren. Der Preis: Jede Eigenschaft muss als erforderlich gelistet sein und keine zusätzlichen sind erlaubt, also muss ein wirklich optionales Argument als erforderlich-aber-nullbar modelliert werden.
Wie ausführlich sollte eine Parameterbeschreibung sein?
So ausführlich, dass jemand, der nur das Schema liest, weiß, was dort hineingehört: das Format, die Einheiten, woher der Wert stammt. „Die Kunden-E-Mail, unter der die Bestellung aufgegeben wurde“ ist weit mehr wert als „E-Mail“.
Wann sollte ich ein Enum nutzen?
Wenn die Menge gültiger Werte wirklich geschlossen und kurz ist. Das räumt eine ganze Klasse falscher Antworten aus. Ein Enum mit einem Wert wird markiert, weil es eine Konstante ist.
Gilt das für MCP- und API-Werkzeuge?
Das Schema ist in beiden Fällen dieselbe JSON-Schema-Teilmenge. Die Hülle unterscheidet sich leicht, aber das Eingabeschema — der leicht zu verpatzende Teil — ist identisch.
Was macht eine gute Werkzeugbeschreibung aus?
Drei Dinge in zwei Sätzen: was es tut, wann man dazu greift und was zurückkommt. Das Letzte wird am häufigsten weggelassen und ist am nützlichsten, denn es sagt, ob ein Aufruf reichen wird.
Verwandte Tools
Tool-Schema-Prüfer — Fügen Sie eine Definition ein und sehen Sie, warum sie abgelehnt wird.