Ein MCP-Server (Model Context Protocol-Server) fungiert als standardisierte Brücke zwischen KI-Modellen und unternehmensspezifischen Datenquellen, Tools und Workflows. Statt für jedes KI-System eigene Integrationen zu entwickeln, ermöglicht eine MCP-Schnittstelle die modulare Anbindung über ein offenes, auf JSON-RPC 2.0 basierendes Protokoll. Das Ergebnis: schnellere Integrationen, geringerer Wartungsaufwand, klarere Governance und bessere Skalierbarkeit. Spätestens seit 2025/2026 hat MCP deutlich an praktischer Relevanz gewonnen, weil moderne KI-Anwendungen nicht mehr isoliert arbeiten, sondern sicher mit Dateien, APIs, Datenbanken und Aktionen verbunden werden müssen. In den kommenden Abschnitten erfahren Sie präzise, was ein MCP-Server ist, wie er funktioniert, welche Kernfunktionen (Resources, Prompts, Tools, Sampling, Roots und Elicitation) relevant sind und warum die KI-Schnittstelle auf Basis von MCP heute als wichtiger Baustein agentischer Systeme gilt.
Was ist MCP (Model Context Protocol)?
Das Model Context Protocol (MCP) ist ein offenes Protokoll, das standardisiert, wie Anwendungen Kontext, Datenquellen und Werkzeuge für große Sprachmodelle und andere KI-Systeme bereitstellen. Statt proprietärer Einzellösungen schafft MCP eine einheitliche MCP-Schnittstelle für die Kommunikation zwischen Host-Anwendungen, Clients und Servern. In der aktuellen Spezifikation wird MCP als Host-Client-Server-Architektur beschrieben, nicht nur als einfache Punkt-zu-Punkt-Verbindung. Das ist für die Praxis wichtig, weil dadurch Sicherheitsgrenzen, Rechtevergabe und Sitzungssteuerung sauber getrennt werden können.
Definition und Hintergrund: Was steckt hinter MCP?
„MCP-Server – was ist das?“ lässt sich heute konkreter beantworten als noch 2024: Ein MCP-Server stellt definierte Fähigkeiten bereit, die von einem MCP-Client genutzt werden können. Dazu gehören lesbare Ressourcen, Prompt-Templates und aufrufbare Tools. Ergänzend kann der Client dem Server Roots bereitstellen und – falls unterstützt – Sampling-Anfragen für Modellaufrufe übernehmen. Damit ist MCP keine einzelne Software, sondern ein standardisiertes Integrationsmodell für KI-Systeme. Die offizielle Dokumentation beschreibt MCP sinngemäß als eine Art „USB-C für AI Applications“, also als universelle Anschlusslogik für unterschiedliche Datenquellen und Werkzeuge.
MCP wurde ursprünglich von Anthropic initiiert und hat sich seit seiner Einführung Ende 2024 technisch weiterentwickelt. Für 2026 relevant ist vor allem: Die Spezifikation wurde inzwischen mehrfach überarbeitet, unter anderem in den Bereichen Architektur, Autorisierung, Transport, Tool-Metadaten und Capability-Negotiation. Wer heute über MCP in der IT oder eine MCP-Anbindung spricht, sollte daher nicht mehr nur die frühe Desktop- und Local-Server-Perspektive betrachten. Relevant sind inzwischen auch Remote-MCP-Server, HTTP-basierte Transport-Mechanismen und standardisierte Autorisierung. Dazu zählen insbesondere OAuth 2.x (inkl. aktueller Best Practices und OAuth 2.1 Drafts), Protected Resource Metadata zur Beschreibung geschützter Ressourcen sowie Discovery-Mechanismen über OAuth Authorization Server Metadata oder OpenID Connect Discovery. Zusätzlich gewinnt Elicitation an Bedeutung: Dabei kann ein Server über den Client gezielt weitere Angaben vom Nutzer anfordern, wenn diese für einen sicheren oder vollständigen Workflow erforderlich sind.
Was ist das n×m-Integrationsproblem?
Das n×m-Problem beschreibt die Herausforderung, dass bei n verschiedenen Datenquellen und m verschiedenen KI- oder Anwendungs-Hosts für jede Kombination eine eigene Integration gebaut werden müsste.
flowchart LR
subgraph L["Datenquellen"]
direction TB
dq1["Datenquelle 1"]
dq2["Datenquelle 2"]
dqm["Datenquelle m"]
end
n1["1"]
n2["2"]
n3["3"]
n4["4"]
n5["5"]
n6["6"]
n7["7"]
n8["8"]
n9["9"]
subgraph R["KI-Modelle"]
direction TB
m1["Modell 1"]
m2["Modell 2"]
mn["Modell n"]
end
%% Verbindungen
m1 --> n1 --> dq1
m1 --> n4 --> dq2
m1 --> n7 --> dqm
m2 --> n2 --> dq1
m2 --> n5 --> dq2
m2 --> n8 --> dqm
mn --> n3 --> dq1
mn --> n6 --> dq2
mn --> n9 --> dqm
%% ===== Styles =====
classDef main fill:#FFFFFF,stroke:#6860F7,stroke-width:2px,color:#262626;
classDef highlight fill:#6860F7,stroke:#6860F7,stroke-width:2px,color:#FFFFFF;
classDef group fill:#F5F5F5,stroke:#A29BFE,stroke-width:2px,color:#262626;
%% Nodes zuweisen
class dq1,dq2,dqm,m1,m2,mn main;
class n1,n2,n3,n4,n5,n6,n7,n8,n9 highlight;
class L,R group;
%% Kanten
linkStyle default stroke:#262626,stroke-width:1.5px;
M x N Datenintegration (ohne MCP-Server)
Im ungünstigsten Fall entstehen also n × m individuelle Konnektoren, die implementiert, abgesichert, gewartet und versioniert werden müssen. Eine MCP-Schnittstelle reduziert diese Komplexität, weil sich Server und Clients an einem gemeinsamen Protokoll orientieren. Ein kompatibler Server kann von mehreren Hosts genutzt werden, und ein Host kann mit mehreren Servern sprechen. Genau dadurch wird aus vielen Einzellösungen ein skalierbares Integrationsmuster.
flowchart LR
subgraph DQ["Datenquellen"]
direction TB
dq1["Datenquelle 1"]
dq2["Datenquelle 2"]
dqm["Datenquelle m"]
end
n1["1"]
n2["2"]
n3["3"]
n4["4"]
n5["5"]
n6["6"]
mcp["MCP-Server"]
subgraph KM["KI-Modelle"]
direction TB
m1["Modell 1"]
m2["Modell 2"]
mn["Modell n"]
end
%% Verbindungen
m1 --> n1 --> mcp
m2 --> n2 --> mcp
mn --> n3 --> mcp
mcp --> n4 --> dq1
mcp --> n5 --> dq2
mcp --> n6 --> dqm
%% ===== Styles =====
classDef main fill:#FFFFFF,stroke:#6860F7,stroke-width:2px,color:#262626;
classDef highlight fill:#6860F7,stroke:#6860F7,stroke-width:2px,color:#FFFFFF;
classDef group fill:#F5F5F5,stroke:#A29BFE,stroke-width:2px,color:#262626;
%% Nodes zuweisen
class dq1,dq2,dqm,m1,m2,mn,mcp main;
class n1,n2,n3,n4,n5,n6 highlight;
class DQ,KM group;
%% Kanten
linkStyle default stroke:#262626,stroke-width:1.5px;
M + N Datenintegration (mit MCP-Server)
Plug-and-Play-Erlebnis durch systemunabhängige Architektur
Durch die host-, modell- und systemunabhängige Architektur eignet sich MCP für sehr unterschiedliche KI-Anwendungen. Wichtig ist allerdings eine Präzisierung: Nicht „jedes Modell“ spricht direkt MCP, sondern Host-Anwendungen oder Clients implementieren MCP und verbinden damit Modelle, Tools und Datenquellen. In der Praxis können also IDE-Assistenten, Chat-Anwendungen, Agent-Plattformen oder API-basierte KI-Systeme über dieselbe MCP-Schnittstelle auf angebundene Ressourcen und Tools zugreifen – sofern sie MCP unterstützen. Das schafft ein echtes Plug-and-Play-Erlebnis auf Protokollebene, ohne die Sicherheits- und Governance-Anforderungen eines Unternehmens aus dem Blick zu verlieren.
Wie funktioniert das Model Context Protocol?
MCP lässt sich am besten in drei Kernrollen erklären: Host, Client und Server. Diese Differenzierung ist gegenüber älteren Erklärungen wichtig, weil die aktuelle Architektur ausdrücklich zwischen Host-Prozess und Client-Instanzen unterscheidet. Ein Host kann mehrere Clients verwalten, und jeder Client hält typischerweise eine isolierte Verbindung zu genau einem Server.
- Host – Der Host ist die übergeordnete Anwendung, zum Beispiel eine IDE, ein Desktop-Assistent, eine Chat-App oder eine Agent-Plattform. Er verwaltet Sicherheitsrichtlinien, Benutzerzustimmung, Lebenszyklus und die Einbindung der eigentlichen KI-Modelle.
- MCP-Client – Der Client wird vom Host erzeugt und hält eine zustandsbehaftete Sitzung zu einem MCP-Server. Er übernimmt Initialisierung, Capability-Negotiation und den standardisierten Nachrichtenaustausch.
- MCP-Server – Der Server stellt die eigentlichen Fähigkeiten bereit, also Resources, Prompts und Tools. Zusätzlich kann er – abhängig von den verhandelten Capabilities – mit Roots arbeiten, Sampling anfordern oder strukturierte Rückfragen über Elicitation auslösen.
In der Praxis startet die Kommunikation typischerweise mit einer Initialize-Phase, in der Client und Server Protokollversion und Capabilities austauschen. Erst danach stehen die tatsächlich unterstützten Funktionen der jeweiligen Sitzung fest. Genau diese Capability-Negotiation ist ein zentraler Best-Practice-Punkt für moderne MCP-Server-Komponenten, weil nicht jede Implementierung alle Features unterstützen muss.
Was kann ein MCP-Server? Die zentralen MCP-Features und -Primitives im Überblick
Ein MCP-Server verbindet KI-Anwendungen mit unternehmensspezifischen Daten und Aktionen. Die Spezifikation unterscheidet dabei sauber zwischen Server-Features und Client-Features: Resources, Prompts und Tools sind serverseitig, Sampling, Roots und Elicitation sind clientseitig bereitgestellte Fähigkeiten, die der Server im Rahmen eines Workflows nutzen kann. Diese Einordnung ist wichtig, weil sie Missverständnisse in Architektur- und Security-Diskussionen vermeidet.
1. Resources: Datenbereitstellung auf Abruf
Unter Resources versteht man im MCP-Kontext lesbare Inhalte, die ein Server Clients standardisiert zur Verfügung stellt. Das können Textdateien, strukturierte Daten, Logs, Dokumente oder andere referenzierbare Inhalte sein. In der aktuellen Spezifikation sind Resources ein formales Server-Feature; zusätzlich gibt es Benachrichtigungen bei Listenänderungen, optionale Subscriptions und paginierte Listenoperationen. Das macht MCP-Server für Tools, Ressourcen und Prompts in produktiven Umgebungen deutlich robuster als viele frühe Einführungsbeispiele vermuten ließen.
Funktionsweise & Workflow
- Ressourcenbereitstellung
Der MCP-Server beschreibt, welche Ressourcen verfügbar sind, typischerweise mit URI, Name, Beschreibung und Metadaten. - Discovery per
resources/list
Der Client kann verfügbare Ressourcen discovern; bei großen Beständen sollte pagination-fähig implementiert werden. - Abruf per
resources/read
Benötigt der Host Kontext, liest der Client die jeweilige Ressource gezielt ein. - Optionale Aktualisierungssignale
Falls unterstützt, kann der Server Änderungen an Ressourcenlisten oder Resource-Inhalten signalisieren.
Beispiel: Analyse eines Config-Files
- Ein Entwickler möchte, dass ein KI-System die aktuelle Konfigurationsdatei config.yaml prüft.
- Der Client listet oder kennt die passende Ressource.
- Über
resources/readwird der Inhalt geladen und dem Modell als Kontext bereitgestellt. - Das Modell kann darauf basierend Risiken, veraltete Optionen oder Inkonsistenzen erklären.
Nutzen für die Praxis
- Zentralisierte Datenbereitstellung statt vieler Einzeladapter
- Konsistente Kontexte für verschiedene KI-Hosts
- Bessere Nachvollziehbarkeit durch standardisierte Discovery- und Read-Operationen
- Saubere Zugriffskontrolle auf Ressourcenebene
2. Prompts: Wiederverwendbare Arbeitsabläufe
Mit Prompts kann ein MCP-Server wiederverwendbare Prompt-Templates bereitstellen. Das ist besonders für Teams interessant, die konsistente KI-Workflows, Governance und Qualitätssicherung benötigen. Prompts sind damit kein bloßes Komfort-Feature, sondern ein wichtiges Mittel, um Fachlogik, Stilvorgaben und sichere Nutzungsmuster zentral zu definieren. Auch prompts/list unterstützt in der Spezifikation Pagination; Änderungen können per listChanged signalisiert werden.
Funktionsweise & Workflow
- Prompt-Registrierung und -Katalog:
- Entwickler erstellen auf dem MCP-Server Prompt-Definitionen, z. B.:
- Diese Prompts stehen nun allen autorisierten Clients zur Verfügung.
{ "name": "explain-code", "description": "Erkläre den übergebenen Codeabschnitt in einfacher Sprache", "arguments": [ { "name": "fileUri", "description": "URI der Quellcodedatei", "required": true }, { "name": "language", "description": "Programmiersprache des Codes", "required": false } ] }
- Prompt-Discovery (Discovery):
- Der MCP-Client ruft
prompts/listauf:{ "method": "prompts/list" }
- Der Server antwortet mit einer Liste aller verfügbaren Prompts inklusive Kurzbeschreibung und Argumentdefinitionen.
- Der MCP-Client ruft
- Prompt-Ausführung (Get / Run):
- Der Nutzer wählt einen Prompt aus und sendet eine
prompts/get-Anfrage:{ "method": "prompts/get", "params": { "name": "explain-code", "arguments": { "fileUri": "file:///projekt/src/main.py", "language": "python" } } }
- Der MCP-Server liefert die dazugehörigen LLM-Nachrichten (Messages) zurück:
{ "messages": [ { "role": "user", "content": { "type": "text", "text": "Bitte erkläre diesen Python-Code verständlich: ..." } }, { "role": "user", "content": { "type": "resource", "resource": { "uri": "file:///projekt/src/main.py", "text": "import os\n..." } } } ] }
- Der Client kann diese Nachrichten dann direkt an das LLM weiterleiten.
- Der Nutzer wählt einen Prompt aus und sendet eine
- Dynamische Erweiterung und Versionierung:
- Prompts lassen sich versionieren, um ältere Templates beizubehalten.
- Änderungen an einem Prompt werden über eine
listChanged-Notification an Clients kommuniziert, sodass UI-Elemente wie Dropdowns oder Kontextmenüs sich automatisch aktualisieren.
Beispiel: Generierung von Git-Commit Messages
- Eine Softwareentwicklerin möchte automatisch aussagekräftige Git-Commit-Nachrichten generieren lassen.
- Sie wählt in der IDE den Prompt git-commit aus und übergibt das aktuelle Diff als Ressource-Argument.
- Das LLM produziert eine strukturierte Commit-Nachricht, die im nächsten Schritt noch von einem Entwickler verfeinert werden kann.
Nutzen für die Praxis
- Standardisierung und Konsistenz: Durch vordefinierte Prompts arbeiten Teams einheitlich, ohne dass jeder Nutzer eigene LLM-Formulierungen erfinden muss.
- Zeitersparnis & Effizienz: Statt zeitintensiv Prompts manuell zu formulieren, reicht ein simpler Auswahlklick.
- Schnelle Integration in UIs: Prompts können in IDEs, Chat-Interfaces oder Web-Portale eingebunden werden, etwa via Kontextmenü, Slash-Befehl oder Formular.
- Transparenz & Governance: Administratoren können festlegen, welche Prompts für welche Teammitglieder zugänglich sind und so Compliance-Anforderungen erfüllen.
3. Tools: Externe Aktionen orchestrieren
Tools sind aufrufbare Funktionen, die ein Server beschreibt und ausführt. Sie gehören zu den wichtigsten MCP-Server-Komponenten, weil hier aus reinem „Antworten“ echte Interaktion mit der Außenwelt wird. Die aktuelle Spezifikation betont, dass Tools modellgesteuert verwendet werden können: Das Modell kann im Zusammenspiel mit dem Host geeignete Tools anhand des Kontexts entdecken und aufrufen. Gleichzeitig empfehlen die offiziellen Unterlagen für sensible Operationen weiterhin Bestätigungsmechanismen und Human-in-the-Loop.
Funktionsweise & Workflow
- Tool-Registrierung und -Beschreibung:
- Entwickler implementieren einen Tool-Endpunkt auf dem MCP-Server, z. B. queryDatabase oder sendEmail.
- Die Metadaten werden heute idealerweise über ein formales Eingabeschema beschrieben, damit Hosts und Modelle Parameter zuverlässig validieren können:
{ "name": "queryDatabase", "description": "Führt eine lesende SQL-Abfrage auf der Unternehmens-Datenbank aus", "inputSchema": { "type": "object", "properties": { "sql": { "type": "string", "description": "SQL-Abfrage-String" } }, "required": ["sql"] } }
- Dieses Tool steht dem LLM bzw. Client über
tools/listzur Verfügung.
- Tool-Discovery (Discovery):
- Über
tools/listkönnen Clients herausfinden, welche Tools aktuell vorhanden sind und welche Parameter benötigt werden.
- Über
- Tool-Aufruf (Invocation):
- Sendet der Client oder das LLM eine RPC-Anfrage an
tools/call, übergibt er den Tool-Namen und die Argumente:{ "method": "tools/call", "params": { "name": "queryDatabase", "arguments": { "sql": "SELECT COUNT(*) FROM users;" } } }
- Der MCP-Server verarbeitet die Anfrage, führt den Tool-Code aus und gibt idealerweise sowohl lesbare Inhalte als auch strukturierte Rückgabedaten zurück:
{ "result": { "content": [ { "type": "text", "text": "Die Abfrage wurde erfolgreich ausgeführt. Es wurden 1.245 Benutzer gefunden." } ], "structuredContent": { "rowCount": 1, "rows": [ { "count": 1245 } ] } } }
- Dieses Ergebnis kann anschließend als Teil eines LLM-Workflows weiterverwendet werden.
- Sendet der Client oder das LLM eine RPC-Anfrage an
Beispiel: File-System-Operationen
- readFile: Liest eine Datei und gibt ihren Inhalt zurück.
- listDirectory: Gibt alle Dateien eines Verzeichnisses aus.
- writeFile: Schreibt Daten in eine Datei.
- deleteFile: Löscht eine Datei.
Beispiel: Externe API-Aktionen
- sendEmail: Versendet per SMTP oder über einen externen Dienst eine E-Mail.
- createIssue: Erstellt in GitHub oder einem anderen Issue-Tracker ein Ticket.
- invokeLambda: Löst eine AWS-Lambda-Funktion aus.
Nutzen für die Praxis
- Modularität & Wiederverwendbarkeit: Tools abstrahieren technische Details in leicht verständliche Bausteine, die in unterschiedlichen Projekten wiederverwendet werden können.
- Sicherheit & Governance: Alle sensiblen Aktionen laufen über den MCP-Server, der Zugriffsrechte, Validierung und Logging zentral kontrolliert.
- Entwicklerfreundlichkeit: Statt komplexe APIs direkt anzubinden, nennt man einfach das Tool mit den erforderlichen Parametern. Das vereinfacht Entwicklungszyklen deutlich.
- LLM-getriebene Automatisierung: Ein LLM kann anhand von Daten analytische Entscheidungen treffen und anschließend im Zusammenspiel mit Host/Client Tools auswählen und aufrufen, um Aktionen wie E-Mail-Versand oder Datenspeicherung automatisch auszuführen.
4. Sampling: Modellaufrufe koordiniert ausführen
Sampling ist im MCP-Umfeld ein Client-Feature. Der Server kann dabei im Rahmen einer laufenden Operation den Client bitten, einen Modellaufruf auszuführen. Dabei ist eine wichtige Präzisierung relevant: Neuere Standardisierungsarbeit stellt klar, dass solche Server-Requests an einen ursprünglichen Client-Request gebunden sein sollten. Sampling ist also keine beliebige, losgelöste Server-Aktivität, sondern typischerweise ein verschachtelter Bestandteil eines Workflows wie tools/call, resources/read oder prompts/get.
Funktionsweise & Workflow
- Sampling-Anfrage erstellen (Server → Client):
- Der MCP-Server sendet eine
sampling/createMessage-Anfrage mit einem Nachrichtenarray (messages) und optionalen Parametern:{ "method": "sampling/createMessage", "params": { "messages": [ { "role": "user", "content": { "type": "text", "text": "Fasse die wichtigsten Punkte dieses Dokuments zusammen." } } ], "systemPrompt": "Du bist ein präziser Assistent.", "includeContext": "thisServer", "maxTokens": 150 } }
- Das Nachrichtenarray enthält beispielsweise Nutzer-Eingaben sowie Kontext-Informationen aus Ressourcen, etwa Dateien oder API-Daten.
- Der MCP-Server sendet eine
- Prüfung und Auswahl durch den Client:
- Der Client validiert den Prompt, zeigt ihn gegebenenfalls dem Nutzer zur Freigabe oder Anpassung und wählt ein geeignetes Modell aus, z. B. „claude-3“.
- Optional kann der Nutzer Parameter wie temperature oder stopSequences anpassen, um kontrollierte Ergebnisse zu erhalten.
- Abwicklung durch das LLM (Client → LLM):
- Der Client sendet die finalen Nachrichten an das ausgewählte LLM-API-Endpoint, etwa OpenAI oder Anthropic, und empfängt die generierte Antwort.
- Rückgabe an den MCP-Server (Client → Server):
- Die Modellantwort wird als direktes Result auf die Anfrage
sampling/createMessagezurückgegeben:{ "jsonrpc": "2.0", "id": 7, "result": { "model": "claude-3-5-sonnet", "stopReason": "endTurn", "role": "assistant", "content": { "type": "text", "text": "Hier ist die Zusammenfassung: …" } } }
- Der MCP-Server kann dieses Ergebnis anschließend an den aufrufenden Prozess weiterreichen, etwa an eine UI oder an einen anderen Service innerhalb des Workflows.
- Die Modellantwort wird als direktes Result auf die Anfrage
- Erweiterte Kontrolle & Sicherheit:
- Human-in-the-Loop: Nutzer können vor jeder Sampling-Anfrage manuell prüfen, welche Daten an das LLM gesendet werden.
- Datenschutz: Nur die minimal notwendigen Teile aus Ressourcen (
"includeContext": "thisServer") sollten weitergeleitet werden. - Logging & Auditing: Alle Sampling-Anfragen und -Antworten lassen sich lückenlos protokollieren, um Compliance-Vorgaben zu erfüllen.
Nutzen für die Praxis
- Flexibilität ohne serverseitige LLM-Haltung: Der MCP-Server bleibt leichtgewichtig; das eigentliche LLM-Processing passiert dezentral beim Client oder in der Cloud.
- Kostenkontrolle: Dank eindeutiger Parameter wie maxTokens behalten Entwickler und Entscheider Kosten und Latenz im Blick.
- Skalierbarkeit: Da mehrere Clients unterschiedliche LLM-Instanzen ansprechen können, lässt sich das System horizontal erweitern.
- Erhöhte Sicherheit: Die Inhalte, die an das LLM gehen, können vom Nutzer freigegeben und sensibel gefiltert werden.
5. Roots: Zielgerichtete Datenzugriffe steuern
Roots sind im Model Context Protocol clientseitig bereitgestellte Filesystem-Wurzeln, die einem Server den relevanten Arbeitskontext signalisieren. Sie dienen dazu, Projektgrenzen, Verzeichnisse und Dateien kenntlich zu machen, auf die sich ein Workflow beziehen soll. Wichtig ist die Präzisierung: Roots sind keine allgemeine API-Liste und auch kein eigenständiger Zugriffsschutz, sondern ein strukturierter Hinweis darauf, welche file://-basierten Dateisystempfade für die Sitzung relevant sind.
Funktionsweise & Workflow
- Capability-Angabe beim Verbindungsaufbau:
- Wenn ein Client Roots unterstützt, signalisiert er diese Capability bei der Initialisierung, z. B.:
{ "method": "initialize", "params": { "capabilities": { "roots": { "listChanged": true } } } }
- Der Server weiß damit, dass er die verfügbaren Roots bei Bedarf vom Client anfordern kann.
- Wenn ein Client Roots unterstützt, signalisiert er diese Capability bei der Initialisierung, z. B.:
- Abruf per
roots/list:- Benötigt der Server die relevanten Arbeitsverzeichnisse, fordert er sie während eines aktiven Workflows beim Client an:
{ "method": "roots/list" }
- Der Client antwortet mit Root-Objekten, die typischerweise
file://-URIs und optionale Namen enthalten:{ "roots": [ { "uri": "file:///home/developer/projekt-frontend", "name": "Frontend" }, { "uri": "file:///home/developer/projekt-backend", "name": "Backend" } ] }
- Benötigt der Server die relevanten Arbeitsverzeichnisse, fordert er sie während eines aktiven Workflows beim Client an:
- Dynamische Anpassung:
- Wenn sich die Arbeitsbereiche ändern, kann der Client den Server darüber per
roots/list_changedinformieren:{ "method": "roots/list_changed" }
- Daraufhin kann der Server die aktuelle Root-Liste erneut abrufen und seine Arbeitslogik entsprechend anpassen.
- Wenn sich die Arbeitsbereiche ändern, kann der Client den Server darüber per
Beispiel: Hinzufügen neuer Codebase zum Projekt
- Ein IT-Projektleiter hat ursprünglich nur das Frontend- und Backend-Verzeichnis als Roots freigegeben.
- Während einer Testphase wird ein neues Microservice-Modul entwickelt; der Client aktualisiert die Root-Liste und signalisiert dies per roots/list_changed.
- Der MCP-Server kann daraufhin die neue Root-Liste abrufen und Anfragen innerhalb dieser aktualisierten Projektstruktur berücksichtigen.
Nutzen für die Praxis
- Gezielte Datenzugriffe: Roots helfen dabei, relevante Arbeitsbereiche klar einzugrenzen und unnötige Vollscans zu vermeiden.
- Besserer Arbeitskontext: Server verstehen schneller, welche Projekte, Ordner und Dateien für eine Sitzung relevant sind.
- Flexibilität: Neue Projektbereiche lassen sich während der Arbeit ergänzen, ohne den gesamten Server neu konfigurieren zu müssen.
- Wichtige Präzisierung: Roots unterstützen Orientierung und Kontext, ersetzen aber keine Betriebssystemrechte, Sandboxing-Mechanismen oder andere Sicherheitskontrollen.
6. Elicitation: Strukturierte Rückfragen für vollständige Workflows
Elicitation ist ein clientseitiges Feature im Model Context Protocol, das es einem Server ermöglicht, gezielt zusätzliche Informationen vom Nutzer über den Client anzufordern. Dadurch können unvollständige oder mehrdeutige Eingaben strukturiert ergänzt werden, ohne dass der Server unsichere Annahmen treffen muss. Elicitation ist ein zentraler Baustein für Human-in-the-Loop-Workflows und gewinnt in neueren MCP-Versionen deutlich an Bedeutung.
Im Gegensatz zu klassischen Tool-Aufrufen, bei denen alle Parameter im Voraus vorliegen müssen, erlaubt Elicitation interaktive, mehrstufige Prozesse, bei denen fehlende Informationen dynamisch nachgefordert werden. Elicitation-Anfragen sind dabei typischerweise an einen bestehenden Workflow gebunden (z. B. innerhalb eines Tool-Aufrufs) und keine frei initiierbaren Server-Aktionen.
Funktionsweise & Workflow
- Elicitation-Anfrage erstellen (Server → Client):
- Der MCP-Server erkennt, dass für einen Workflow notwendige Informationen fehlen, und sendet eine strukturierte Anfrage an den Client:
{ "method": "elicitation/create", "params": { "message": "Bitte geben Sie Ihre E-Mail-Adresse an", "requestedSchema": { "type": "object", "properties": { "email": { "type": "string", "format": "email" } }, "required": ["email"] } } }
- Die Anfrage kann optional ein JSON-Schema enthalten, um Eingaben zu validieren und strukturiert weiterzuverarbeiten.
- Der MCP-Server erkennt, dass für einen Workflow notwendige Informationen fehlen, und sendet eine strukturierte Anfrage an den Client:
- Darstellung im Client (Client → User):
- Der Client stellt die Anfrage dem Nutzer dar, z. B. als Formular, Dialog oder Chat-Nachricht. Die konkrete UI ist nicht standardisiert und kann je nach Anwendung variieren.
- Nutzereingabe und Validierung (User → Client):
- Der Nutzer gibt die angeforderten Informationen ein. Der Client validiert diese optional anhand des Schemas und bietet Möglichkeiten zur Korrektur oder Ablehnung.
- Rückgabe an den Server (Client → Server):
- Die strukturierte Antwort wird an den MCP-Server zurückgegeben:
{ "result": { "action": "accept", "content": { "email": "user@example.com" } } }
- Alternativ kann der Nutzer die Anfrage ablehnen oder abbrechen.
- Die strukturierte Antwort wird an den MCP-Server zurückgegeben:
- Fortsetzung des Workflows:
- Der Server setzt den ursprünglichen Prozess fort, nun mit vollständigen und validierten Eingabedaten.
Beispiel: Erstellung eines Tickets mit fehlenden Angaben
- Ein KI-System soll ein Support-Ticket erstellen, erhält aber nur eine unvollständige Beschreibung ohne Priorität oder Kontaktadresse.
- Der MCP-Server erkennt die fehlenden Pflichtfelder und startet eine Elicitation-Anfrage.
- Der Nutzer ergänzt die fehlenden Angaben strukturiert über den Client.
- Erst danach wird das Tool createTicket mit vollständigen Parametern ausgeführt.
Nutzen für die Praxis
- Höhere Datenqualität: Pflichtangaben werden explizit abgefragt statt implizit angenommen.
- Robustere Workflows: Fehlende oder unklare Eingaben führen nicht mehr zu fehlerhaften Tool-Aufrufen.
- Bessere Nutzerinteraktion: KI-Systeme können gezielt nachfragen statt generisch zu raten.
- Grundlage für agentische Systeme: Elicitation ermöglicht echte dialogbasierte, mehrstufige Prozesse mit Nutzerbeteiligung.
Welches Problem löst ein MCP-Server?
Ein MCP-Server löst das zentrale Integrationsproblem zwischen KI-Anwendungen, Datenquellen und externen Aktionen. Statt viele individuelle Verbindungen zwischen jedem Modell, jedem Host und jedem Zielsystem zu bauen, standardisiert MCP die Kommunikation über ein gemeinsames Protokoll. Dadurch wird aus einer schwer wartbaren Integrationslandschaft ein kontrollierbares System aus wiederverwendbaren Servern, klar definierten Capabilities und isolierten Sitzungen. Genau das erklärt die wachsende Bedeutung von MCP-Servern.
Im Folgenden werden die wesentlichen Nutzen und Vorteile eines MCP-Servers vorgestellt. Diese sind in vier Hauptkategorien unterteilt:
mindmap
root((**Nutzen / Vorteile eines MCP-Servers**))
🔌 **Interoperabilität & Konsistenz**
Einheitliche Schnittstelle
Transparente Werkzeugübersicht
Einfache Erweiterbarkeit
🔒 **Sicherheit & Governance**
Feingranulare Zugriffskontrolle
Zentrales Monitoring & Logging
Nutzer-Einwilligung & Transparenz
👥 **Benutzererfahrung & Effizienz**
Kontextsensitives Arbeiten
Beschleunigte Release-Zyklen
Wiederverwendbare Integrationen
🧩 **Entwicklungsaufwand & Skalierbarkeit**
Schnellere Time-to-Market
Breites Ökosystem
Reduzierter Implementierungsaufwand
Interoperabilität & Konsistenz
| Vorteil | Beschreibung | Nutzen |
|---|---|---|
| Einheitliche Schnittstelle („USB-C für KI“) | MCP abstrahiert unterschiedliche Integrationen in ein standardisiertes Protokoll auf JSON-RPC-Basis. Host-Anwendungen und Server sprechen dadurch eine gemeinsame Sprache. | Entwickler sparen Zeit, weil weniger proprietäre Adapter benötigt werden. |
| Transparente Werkzeugübersicht | Server können Tools, Prompts und Ressourcen strukturiert beschreiben und Clients können diese per Discovery abrufen. | Teams erhalten eine zentrale Sicht auf verfügbare Fähigkeiten. |
| Einfache Erweiterbarkeit | Neue MCP-Server lassen sich ergänzen, ohne bestehende Host-Integrationen grundlegend umzubauen. | Integrationen wachsen modular statt monolithisch. |
Sicherheit & Governance
| Vorteil | Beschreibung | Nutzen |
|---|---|---|
| Feingranulare Zugriffskontrolle | Rechte lassen sich auf Tool-, Ressourcen- oder Sitzungsebene abbilden. | Unternehmen reduzieren das Risiko unautorisierter Zugriffe. |
| Nutzer-Einwilligung & Transparenz | Hosts können sensible Operationen sichtbar machen und Bestätigungen verlangen. | Human-in-the-Loop bleibt auch in agentischen Workflows erhalten. |
| Zentrales Monitoring & Logging | MCP eignet sich gut für Audit-Trails, Laufzeitmetriken und sicherheitsrelevante Protokollierung. | Incident Response und Compliance werden erleichtert. |
Entwicklungsaufwand & Skalierbarkeit
| Vorteil | Beschreibung | Nutzen |
|---|---|---|
| Reduzierter Implementierungsaufwand | Statt individueller Punkt-zu-Punkt-Integrationen werden standardisierte MCP-Server angebunden. | Weniger Engineering-Aufwand und geringere Wartungskosten. |
| Breites Ökosystem | Rund um MCP ist ein wachsendes Ökosystem aus lokalen und remote nutzbaren Servern, Verzeichnissen und Produktintegrationen entstanden. | Teams können häufiger auf bestehende Muster und Referenzimplementierungen aufsetzen. |
| Schnellere Time-to-Market | Viele KI-Funktionen werden von einer Integrations- zu einer Konfigurations- und Governance-Aufgabe. | Features gelangen schneller in Pilot- und Produktivbetrieb. |
Benutzererfahrung & Effizienz
| Vorteil | Beschreibung | Nutzen |
|---|---|---|
| Kontextsensitives Arbeiten durch KI-Assistenten | KI-Systeme können über eine MCP-Anbindung auf relevante Daten und Aktionen zugreifen. | Nutzer erhalten präzisere Antworten und schnellere Folgeaktionen. |
| Beschleunigte Release-Zyklen | Standardisierte Anbindung von Tools und Kontext reduziert Integrationsfriktion. | Teams iterieren schneller. |
| Wiederverwendbare Integrationen | Einmal implementierte Server können von mehreren Hosts oder Teams genutzt werden. | Redundante Entwicklungsarbeit sinkt deutlich. |
Best Practices 2026 für MCP-Server in der IT
Damit ein MCP-Server produktiv tragfähig wird, sollten Unternehmen über die reine Protokollimplementierung hinausdenken:
- Least Privilege konsequent umsetzen
Tools und Resources nur mit den minimal nötigen Berechtigungen freigeben. - Capabilities explizit verhandeln
Nicht voraussetzen, dass jede Gegenstelle Sampling, Roots, Elicitation oder Listenänderungen unterstützt. - Remote-Server sicher absichern
Für HTTP-basierte Setups Authentifizierung, Autorisierung und Transportabsicherung sauber planen. Dazu gehören insbesondere OAuth 2.x / OAuth 2.1 Drafts, Protected Resource Metadata und die Discovery der zuständigen Authorization Server. - Tool-Schemas präzise definieren
Je besser Eingaben und Ausgaben beschrieben sind, desto zuverlässiger arbeitet die KI mit den Tools. - Observability einbauen
Logging, Metriken, Fehlerquoten und Audit-Trails von Anfang an berücksichtigen. - Human-in-the-Loop für kritische Aktionen
Besonders bei Dateioperationen, Datenbankschreibzugriffen oder externen API-Aktionen. - Elicitation bewusst einsetzen
Wenn für einen Workflow noch Pflichtinformationen fehlen, sollte der Server diese strukturiert über den Client anfordern, statt unsichere Annahmen oder Default-Werte zu verwenden. - Versionierung ernst nehmen
Da sich das Protokoll weiterentwickelt, sollten Protokollversionen, Capability-Support und Kompatibilität explizit getestet werden.
Fazit: Mit MCP-Servern KI-Integration neu denken
Ein MCP-Server ist weit mehr als nur ein praktischer Adapter für LLMs. Er ist ein zentraler Baustein moderner KI-Architekturen, in denen Modelle nicht isoliert antworten, sondern kontrolliert mit Daten, Tools und Unternehmenssystemen interagieren. Genau darin liegt die heutige Bedeutung von MCP-Servern: MCP standardisiert die Schnittstelle, reduziert Integrationsaufwand und schafft gleichzeitig bessere Voraussetzungen für Sicherheit, Governance und Skalierbarkeit. Wer KI-Applikationen strategisch einsetzen will, sollte MCP nicht nur als Protokoll, sondern als Architekturprinzip verstehen. Unternehmen, die jetzt eine saubere MCP-Anbindung etablieren, schaffen die Grundlage für belastbare agentische Workflows, bessere Wiederverwendbarkeit und schnellere Innovation.


