Wie ist das Model Context Protocol (MCP) aufgebaut – für Laien erklärt

Input-Schema verstehen – Leitfaden für technische Einsteiger

Wenn du eine ChatGPT-App baust, musst du ChatGPT erklären, welche Daten dein Tool benötigt. Das passiert über das inputSchema. In diesem Tutorial lernst du Schritt für Schritt:

  1. Woraus ein inputSchema besteht
  2. Wie du damit Eingaben wie „Begrüsse David“ in strukturierte Parameter übersetzen lässt
  3. Wie ChatGPT weiss, welche Werte wohin gehören

Was ist ein inputSchema?

Das inputSchema ist wie ein Formular in maschinenlesbarer Form. Du beschreibst:

  • Welche Felder gibt es? (z. B. name)
  • Welche Datentypen haben sie? (z. B. Text, Zahl, Auswahl)
  • Welche Felder sind Pflicht?
  • Welche zusätzlichen Hinweise helfen beim Ausfüllen?

Beispiel: Einfaches Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Der Name der Person"
    }
  },
  "required": ["name"]
}
  • type: "object" → Das Tool erwartet ein Objekt (also mehrere Felder).
  • properties → Liste der Felder.
  • name → Feldname.
  • type: "string" → ChatGPT soll hier Text einsetzen.
  • description → Menschliche Hilfe, damit ChatGPT versteht, wie es das Feld befüllen soll.
  • required → Ohne name darf ChatGPT das Tool nicht ausführen.

Wie ChatGPT den Prompt in Parameter übersetzt

Nehmen wir den Prompt:

@Hello Begrüsse David in der App
  1. ChatGPT erkennt, dass du das Tool greet benutzen möchtest (mit @Hello ...).
  2. Das Modell schaut sich das inputSchema an und sieht: Es gibt ein Feld name (Text, Pflicht).
  3. ChatGPT versucht, die Informationen aus dem Prompt den Feldern zuzuordnen.
  4. Ergebnis: {"name": "David"}

Analogie

Stell dir ChatGPT als Assistenten vor, der ein Formular für dich ausfüllt. Das inputSchema ist die Anleitung, welche Felder es gibt. Der Prompt ist die Ansage des Nutzers. ChatGPT verbindet beides.


Schicht für Schicht – Aufbau eines inputSchema

1. Typ-Ebene

{ "type": "object" }

Die oberste Ebene sagt: „Erwarte ein Objekt mit Feldern“. Ohne das weiß ChatGPT nicht, ob es eine Zahl, Liste oder etwas anderes schicken soll.

2. Eigenschaften definieren

{
  "type": "object",
  "properties": {
    "name": { ... },
    "language": { ... }
  }
}

Du kannst beliebig viele Felder hinzufügen. Jedes Feld hat wiederum seine eigene Beschreibung.

3. Feldtypen

Häufige Typen:

TypBedeutungBeispiel
stringText"David"
numberZahl (mit Dezimalstellen)3.14
integerGanze Zahl5
booleanWahr/Falschtrue
enumAuswahl aus festen Werten"de" oder "en"

4. Feldbeschreibungen

"description": "Sprache, in der gegrüßt werden soll"

ChatGPT nutzt diese Beschreibung, um zu verstehen, welche Wörter im Prompt zu diesem Feld passen.

5. Pflichtfelder festlegen

"required": ["name", "language"]

So erzwingst du, dass ChatGPT beide Felder füllt. Fehlt eins, fragt ChatGPT den Nutzer nach.


Beispiel mit mehreren Feldern

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Der Name der Person"
    },
    "language": {
      "type": "string",
      "description": "Sprachcode, z. B. 'de' oder 'en'",
      "enum": ["de", "en", "fr"]
    },
    "excited": {
      "type": "boolean",
      "description": "Enthusiastische Begrüßung verwenden?"
    }
  },
  "required": ["name"]
}

Was ChatGPT daraus macht

Prompt: @Hello Sag Emma auf Französisch und lass es fröhlich klingen

  • name → „Emma“ (Pflichtfeld)
  • language → „fr“ (aus den Keywords „Französisch“)
  • excitedtrue (wegen „fröhlich“)

ChatGPT ruft dein Tool also mit folgendem JSON auf:

{
  "name": "Emma",
  "language": "fr",
  "excited": true
}

FAQ: Häufige Fragen

Was, wenn die Nutzer mehr Details schreiben?

Kein Problem. ChatGPT filtert die relevanten Informationen heraus, solange das inputSchema klar beschreibt, nach welchen Infos es suchen soll.

Kann ich Standardwerte festlegen?

Ja, mit default:

"language": {
  "type": "string",
  "default": "de"
}

Wenn der Prompt keine Sprache erwähnt, nutzt ChatGPT automatisch Deutsch.

Was passiert, wenn ein Pflichtfeld fehlt?

ChatGPT fragt nach: „Welchen Namen soll ich verwenden?“ – erst nach vollständiger Eingabe ruft es dein Tool auf.

Können Felder verschachtelt sein?

Ja. Du kannst auch Objekte in Objekten definieren. Für Einsteiger reicht es aber meist, bei einfachen string/number-Feldern zu bleiben.


Der Weg vom Prompt zum Tool-Aufruf (Übersicht)

Prompt: "@Hello Begrüsse Clara auf Englisch"        (Nutzer-Eingabe)
                    │
                    ▼
ChatGPT liest das inputSchema                        (Formular-Anleitung)
                    │
                    ▼
ChatGPT extrahiert Parameter:                        (Formular wird ausgefüllt)
{ name: "Clara", language: "en" }
                    │
                    ▼
Tool "greet" wird mit diesen Werten aufgerufen       (Server erhält JSON)

Zusammenfassung

  1. inputSchema = Formular → Du beschreibst Felder, Typen, Pflichtangaben.
  2. Beschreibungen sind wichtig → Sie helfen ChatGPT, Text im Prompt richtig zuzuordnen.
  3. ChatGPT erledigt die Übersetzung → Es füllt das Formular automatisch anhand des Nutzer-Prompts.
  4. Enums & Defaults → Machen deine Tools robuster und benutzerfreundlicher.

Mit einem klaren inputSchema steuerst du exakt, welche Daten dein Tool bekommt – und ChatGPT weiß zu jeder Zeit, wie es den Prompt in Parameter übersetzen muss.