🗺️ Einsatz & Vergleich
Wofür sich MCP-Agenten lohnen, wie sich MCP von klassischem Function Calling und Plattform-Plugins unterscheidet – und wie mehrere Server gleichzeitig an einem Host hängen.
🏛️Architektur: viele Server an einem Host
Pro Server ein eigener Client und eine eigene Verbindung. Server sehen einander nicht – nur der Host kennt alle und entscheidet, was das Modell sieht.
mcp__server__tool.🎯Einsatzszenarien
Softwareentwicklung
Dateien im Projekt lesen und ändern, Git-Status und -Historie abfragen, Commits vorbereiten – mit Freigabe durch den Menschen.
read_text_file · git_status · git_log
Recherche
Aktuelle Webseiten abrufen und als Markdown zusammenfassen; lange Seiten abschnittsweise über start_index lesen.
fetch
Gedächtnis
Wissen über Sitzungen hinweg speichern: Personen, Projekte und Beziehungen als Wissensgraph.
create_entities · search_nodes
Termine & Zeitzonen
Uhrzeiten zwischen Zeitzonen umrechnen, z. B. für Besprechungen mit Teams in anderen Ländern.
convert_time
Support & Tickets
Dokumentation durchsuchen und daraus ein Ticket anlegen (erfundene Beispiel-Tools).
search_docs · create_ticket
Agenten-Workflows
Mehrere Server in einem Auftrag kombinieren: Seite abrufen → Notiz schreiben → im Gedächtnis ablegen → Commit vorbereiten.
fetch → write_file → create_entities → git_add
⚖️MCP vs. Function Calling vs. Plugins
MCP ersetzt Function Calling nicht – es baut darauf auf: Der Host reicht MCP-Tools über das Function Calling seines Modells weiter.
| Frage | Function Calling direkt | Plattform-Plugins (z. B. ChatGPT-Plugins 2023, eingestellt) | MCP |
|---|---|---|---|
| Wo steht die Tool-Definition? | Im Code der eigenen App, im Format des Modell-Anbieters | Manifest + OpenAPI-Beschreibung beim Plattform-Anbieter | Im MCP-Server; der Host holt sie zur Laufzeit per tools/list |
| Wiederverwendung | Pro App (und pro Anbieter-API) neu | Nur auf der einen Plattform | Ein Server für viele Hosts (Claude Code, Claude Desktop, IDEs …) |
| Protokoll | Kein eigenes – die App führt die Funktion selbst aus | HTTP-Aufrufe gemäß OpenAPI | JSON-RPC 2.0 über stdio oder Streamable HTTP |
| Lokal möglich? | Ja (im Prozess der App) | Nein, öffentlich erreichbare URL nötig | Ja (stdio-Unterprozess) und entfernt (HTTP) |
| Mehr als Funktionen? | Nein | Nein | Ja: Resources, Prompts, Elicitation, Fortschritt, Abbruch |
| Autorisierung | Sache der App | Plattformspezifisch | Standardisiert: OAuth 2.1 (HTTP) bzw. Umgebungsvariablen (stdio) |
| Entdeckung/Änderungen | Statisch im Code | Beim Installieren | tools/list + notifications/tools/list_changed |
┌──────────────────────────────────────────────┐ │ Nutzer │ ├──────────────────────────────────────────────┤ │ Host ── Function Calling ──► LLM │ Anbieter-API (tools / tool_use) ├──────────────────────────────────────────────┤ │ MCP-Client ◄── JSON-RPC 2.0 ──► MCP-Server │ Model Context Protocol ├──────────────────────────────────────────────┤ │ MCP-Server ── HTTP / Datei / SQL ──► Dienst│ beliebig └──────────────────────────────────────────────┘