# JSON-Schema-Builder für LLM-Tool-Calling

Definiere ein LLM-Tool einmal und erzeuge validierte Function-Calling-Payloads für OpenAI, Anthropic und Gemini.

> Kanonische Seite: https://elysiatools.com/de/tools/llm-tool-calling-json-schema-builder

- **Kategorie:** AI Tools

- **Schlagwörter:** function calling, tool-schema, json schema, openai tools, anthropic tool use, gemini-funktionsdeklarationen, llm-agent, mcp, strukturierte outputs

## Überblick

DSL mit einem Parameter pro Zeile rein, drei fertige Payloads zum Einfügen raus — plus Validierungstabelle, die die Schema-Unterschiede, die 400-Fehler verursachen, vor dem Release abfängt.

## Eingaben

- **Tool-Name** (text): get_weather
- **Tool-Beschreibung** (textarea): Get the current weather for a city. Use when the user asks about temperature, conditions or a forecast.
- **Parameter (einer pro Zeile)** (textarea): city | string | required | City name, e.g. "Paris" units | enum | optional | Temperature unit for the report location | object | required | Coordinates lat | number | required | Latitude in degrees lng | number | required | Longitude in degrees
- **Strenger Modus** (checkbox)
- **tool_choice** (select)

## Wann verwenden

- Wenn Sie LLM-Agenten entwickeln und dieselbe Funktionsdefinition für mehrere Anbieter wie OpenAI, Anthropic und Gemini bereitstellen müssen.
- Wenn Sie komplexe Parameterstrukturen mit Enums, Arrays oder verschachtelten Objekten schnell und fehlerfrei als JSON-Schema modellieren wollen.
- Wenn API-Aufrufe aufgrund fehlerhafter Strict-Mode-Konfigurationen oder inkompatibler Schema-Eigenschaften wie additionalProperties abgewiesen werden.

## Funktionsweise

- Geben Sie Tool-Name, Tool-Beschreibung sowie die Parameterzeilen im Format 'Name | Typ | Status | Beschreibung' ein, wobei Unterobjekte per Einrückung strukturiert werden.
- Wählen Sie bei Bedarf den strengen Modus (Strict Mode) und das gewünschte tool_choice-Verhalten (Weglassen, Auto oder Erzwingen).
- Das Tool generiert simultan die passenden Payloads für OpenAI (tools/strict), Anthropic (input_schema) und Gemini (functionDeclarations) zusammen mit einer Validierungstabelle.

## Anwendungsfälle

- Erstellung von Tool- und Funktionsdefinitionen für Multi-Provider-LLM-Pipelines und KI-Agenten.
- Konvertierung manueller Funktionsbeschreibungen in strikt typisierte Schemas für OpenAI Structured Outputs.
- Schnelles Prototyping von MCP-kompatiblen Werkzeugen und API-Schnittstellen für Sprachmodelle.

## Häufig gestellte Fragen

### Wie werden verschachtelte Objekte in der DSL definiert?

Verschachtelte Felder werden durch Einrückung unterhalb eines Parameters mit dem Typ 'object' oder 'array' deklariert.

### Was bewirkt der strenge Modus (Strict Mode)?

Er erzwingt herstellerspezifische Vorgaben für strukturierte Ausgaben, etwa additionalProperties: false und die Aufnahme aller Felder in required bei OpenAI.

### Welche Typen unterstützt die DSL?

Unterstützt werden Basistypen wie string, number, integer, boolean sowie komplexe Typen wie enum, object, array und array.

### Wie unterscheidet sich die Ausgabe für Gemini von OpenAI und Anthropic?

Gemini nutzt functionDeclarations mit Typen in Großbuchstaben (z. B. OBJECT, STRING), ergänzt propertyOrdering und entfernt nicht unterstützte Schema-Attribute.

### Kann der generierte JSON-Code direkt in API-Requests eingefügt werden?

Ja, die Payloads sind exakt nach den Spezifikationen der jeweiligen API formatiert und können direkt kopiert werden.

## Ähnliche Tools

- [MCP-Server-Vertragstester (stdio- + WebSocket-Transport · JSON-Schema-2020-12-Validierung)](https://elysiatools.com/de/tools/model-context-protocol-mcp-server-tool-schema-stdio-websocket-transport-contract-tester): Protokollgrundlage (Initialize-Ära, 2024-11-05 … 2025-11-25): Die initialize-Anfrage trägt protocolVersion, Client-Capabilities und clientInfo; der Server antwortet mit serverInfo + capabilities; danach muss der Client die notifications/initialized-Meldung senden. Der offizielle stdio-Transport ist zeilenumbruch-getrenntes JSON-RPC (keine eingebetteten Umbrüche, Logs auf stderr, stdout nur MCP-Nachrichten); WebSocket ist ein Custom-Transport (§ Custom Transports): eine JSON-RPC-Nachricht pro Textframe. Jedes Werkzeug-Schema muss an der Wurzel type:object haben; dieser Tester kompiliert jedes inputSchema mit Ajv 2020-12. sampling ist eine Server→Client-Anfrage: deklariert der Client die Capability, darf der Server sampling/createMessage (messages\[\] + maxTokens) senden, was der Tester beantwortet und prüft. Die Revision 2026-07-28 definiert einen Stateless-Kern (Server initiieren keine Anfragen mehr); dieser Tester zielt auf die klassische Initialize-Ära und weist dies im Bericht aus. Der Standardmodus verifiziert einen vollständig konformen eingebetteten Referenzserver über zwei Transporte (In-Process-stdio-Strompaar + echtes TCP-WebSocket auf 127.0.0.1) — deterministisch und offline.
- [ECharts-Theme-Token-Extraktor](https://elysiatools.com/de/tools/echarts-theme-token-extractor): Extrahiert Design-Tokens — Farben, Zahlen, Schriftgrößen und Strings — aus einem ECharts-Theme-JSON und exportiert sie direkt in Ihr Design-System. Fügen Sie ein Theme-Objekt ein (das per echarts.init(dom, themeName) registriert wird) und das Werkzeug durchläuft jedes Leaf, taggt jede Farbe (optional Named/rgb → hex normalisiert), jeden Abstand, jede Schriftgröße und jeden String und gibt saubere CSS-Variablen, ein Tailwind theme.extend, ein Style Dictionary tokens.json oder SCSS-Variablen aus. Überbrückt die Lücke zwischen einem ECharts-Visualisierungs-Theme und Figma/CSS/Tailwind-Design-Tokens, ohne jeden Wert von Hand zu kopieren.
- [Bild-Palette zu Design-Tokens](https://elysiatools.com/de/tools/image-to-design-tokens): Extrahiert dominante Farben per k-Means und exportiert sie als CSS-/SCSS-Variablen, Tailwind-Config oder JSON-Tokens mit Namen und Farbskala
- [JSON-Pfad-Extraktor](https://elysiatools.com/de/tools/json-path-extractor): Fragt JSON mit JSONPath- oder JMESPath-artigen Ausdrücken ab, zeigt passende Pfade an und hebt extrahierte Werte im Originaldokument hervor
- [JSONPath-Abfragetool](https://elysiatools.com/de/tools/jsonpath-query-tool): Fragt beliebiges JSON mit JSONPath ab, zeigt Treffer an, wechselt Ausgabeformate und speichert wiederverwendbare Abfragevorlagen
- [JWK-Generator & Parser](https://elysiatools.com/de/tools/jwk-generator): Generiert JSON Web Keys (JWK) für RSA, EC (P-256/P-384/P-521/secp256k1) und OKP (Ed25519/Ed448/X25519/X448) oder parst einen bestehenden JWK zur Inspektion von Parametern, Fingerabdruck und Metadaten
- [OCR-PDF-zu-strukturiertes-JSON-Brücke](https://elysiatools.com/de/tools/ocr-pdf-to-structured-json-bridge): Extrahiert die PDF-Textebene mit Geometrie (Zeilen nach y-Position, Tabellen nach Spaltenlücken, Überschriften nach Schriftgröße, Doppelpunkt-Schlüsselwerte) und füllt Feld für Feld ein benutzerdefiniertes JSON Schema — Labels werden über normalisierte Schlüssel gepaart, Werte zu deklarierten Typen konvertiert und mit ajv validiert.
- [PDF-zu-JSON-Struktur-Explorer](https://elysiatools.com/de/tools/pdf-to-json-structure-explorer): Extrahiert OpenDataLoader-JSON aus einem PDF und zeigt Ueberschriften, Absaetze, Tabellen, Listen und Bounding Boxes

## Beispiele

- [Terraform-Plan-JSON-Beispiele](https://elysiatools.com/de/samples/terraform-plan-json-samples): Terraform-Plan-JSON-Dateien fuer Abhaengigkeitsvisualisierung und Change-Review, passend zu terraform show -json
- [Chat-JSON-Beispiele](https://elysiatools.com/de/samples/chat-transcript-json): JSON-Beispiele für Chat-Transkripte mit mehreren Rollen
- [JSON-Beispiele](https://elysiatools.com/de/samples/json): JSON (JavaScript Object Notation)-Formatbeispiele von einfachen bis komplexen Strukturen
- [Rich-Text-JSON-Beispiele](https://elysiatools.com/de/samples/rich-media-json): JSON-Beispiele für Rich-Text-Editoren (TipTap, Quill, Slate)
