MCP · Lektion 03 · Primitive
Tools, Resources, Prompts — wann was?
Die häufigste Anfänger-Frage im Workshop wird sein: „Soll das ein Tool oder eine Resource sein?“ Diese Lektion gibt dir die Entscheidungsregel.
1. Die Steuerungs-Achse
Alle drei Primitive stellen Fähigkeiten bereit — der Unterschied ist, wer die Kontrolle hat, wann sie benutzt werden:1
| Primitive | Gesteuert von | Analogie (HTTP) | Seiteneffekt? |
|---|---|---|---|
| Tool | dem Modell | POST / Aktion | ja, typisch |
| Resource | der App / Host | GET / Lesen | nein (idempotent) |
| Prompt | dem User | Vorlage / Makro | nein (nur Text) |
2. Tool — das Modell handelt
Ein Tool ist eine Funktion, die das LLM autonom aufrufen darf,
wenn es im Gespräch sinnvoll ist. Es hat ein Input-Schema (JSON Schema) und gibt ein
Ergebnis zurück. create_issue, get_pr_diff,
run_query — alles Tools. Die zwei zugehörigen Methoden auf dem Wire:
tools/list (welche gibt es?) und tools/call (führ dieses aus).
Faustregel: Verändert es etwas oder ruft es eine API mit Parametern? → Tool.
3. Resource — die App liefert Kontext
Eine Resource ist eine lesbare Datenquelle, adressiert
über eine URI (z.B. file:///logs/app.log oder
greeting://{name}). Wichtig: Resources sind app-controlled — der
Host/User entscheidet, welche in den Kontext geladen werden, nicht das Modell autonom.
Methoden: resources/list, resources/read, optional
resources/subscribe für Live-Updates.1
Faustregel: Reine Daten zum Lesen, kein Seiteneffekt? → Resource.
4. Prompt — der User ruft einen Workflow
Ein Prompt ist eine vordefinierte, parametrisierbare Vorlage, die
der User bewusst auslöst — in Claude Code etwa als Slash-Command. Sie kann
Argumente haben und expandiert zu einer fertigen Nachricht/Konversation. Methoden:
prompts/list, prompts/get.
Faustregel: Ein wiederkehrender User-Workflow als Knopfdruck? → Prompt.
5. Für deinen ersten Server
Fang mit Tools an — das ist der 80%-Fall und das, was Agents am meisten nutzen. Resources und Prompts baust du später drauf (Lektion 7). Ein Server kann alle drei mischen; er muss nur die jeweiligen Capabilities deklarieren (siehe Lektion 2).
6. Mini-Check — interleaved (aus dem Kopf!)
README.md ein.“ → welches Primitive?7. Primärquelle
📖 MCP Specification — Server Features (Abschnitte Tools, Resources, Prompts). Die verbindliche Referenz für die Methoden und Schemas jedes Primitivs.
1 — MCP Docs, Server concepts & Spec Server Features: modelcontextprotocol.io/docs/concepts