Das Model Context Protocol (MCP) von Anthropic ist ein Open-Source-Standard, der KI-Assistenten mit verschiedenen Datenquellen verbindet. MCP setzt auf eine Client-Server-Architektur und ermöglicht die bidirektionale Kommunikation zwischen KI-Anwendungen (Clients) und Datenanbietern (Servern) über verschiedene Transportwege wie stdio und HTTP mit SSE. Das Protokoll öffnet den Zugang zu Ressourcen, Tools und Prompts und macht KI-Antworten dadurch relevanter und genauer. Zu den ersten Implementierungen gehören SDKs in Python und TypeScript sowie vorgefertigte Server für gängige Systeme wie Google Drive und GitHub. Die Diskussion um MCP dreht sich um sein Potenzial, das Problem zersplitterter KI-Integrationen zu lösen, und um seine Rolle in der Entwicklung von KI-Agenten, aber auch um Bedenken hinsichtlich der Sicherheit und der breiten Verbreitung.
MCP als universeller Connector
Das Model Context Protocol (MCP) erleichtert die Kommunikation zwischen Large Language Models (LLMs) und Datenquellen, indem es eine standardisierte Methode für ihre Verbindung festlegt. Dieses von Anthropic entwickelte Open-Source-Protokoll soll das Problem des zersplitterten Datenzugriffs lösen, unter dem KI-Systeme derzeit leiden.
Vor MCP brauchte die Anbindung von LLMs an unterschiedliche Datenquellen für jede Quelle eine eigene Implementierung. Das erschwerte die Skalierung von KI-Systemen und begrenzte ihren Zugriff auf die riesigen Datenmengen, die in verschiedenen Formaten und an verschiedenen Orten liegen.
MCP löst dieses Problem mit einem universellen, offenen Standard, mit dem Entwickler sichere, bidirektionale Verbindungen zwischen ihren Datenquellen und KI-gestützten Tools aufbauen können. Statt für jede Datenquelle einen eigenen Connector zu bauen, können Entwickler jetzt mit MCP einen einzigen Connector erstellen, der mit jeder Datenquelle funktioniert, die ebenfalls MCP unterstützt. Das vereinfacht die Anbindung von LLMs an Datenquellen erheblich und macht es leichter, KI-Systeme zu skalieren.
Die Architektur von MCP
MCP folgt einer Client-Server-Architektur, in der Hosts (LLM-Anwendungen wie Claude Desktop oder IDEs) die Verbindungen aufbauen. Clients, die innerhalb der Host-Anwendungen laufen, halten Eins-zu-eins-Verbindungen zu Servern, die ihnen Kontext, Tools und Prompts bereitstellen. Die Architektur des Model Context Protocol (MCP) stützt sich auf drei Kernkomponenten, die die Kommunikation zwischen LLMs und externen Datenquellen ermöglichen:
- MCP-Server: Diese Server arbeiten als **Daten-Gateways** und machen Ressourcen, Tools und Prompts für KI-Anwendungen zugänglich. Sie stellen LLMs und Agenten Daten aus Quellen wie Dateisystemen, relationalen Datenbanken, Code-Repositories und verschiedenen anderen Systemen bereit. Das entspricht der Rolle von Servern in klassischen Client-Server-Modellen, in denen der Server Ressourcen hostet und den Zugriff darauf ermöglicht.
- MCP-Clients: Die KI-gestützten Tools, etwa Claude Desktop oder IDEs, sind die **Clients in dieser Architektur**. Sie greifen über die MCP-Server auf die bereitgestellten Daten und Funktionen zu. Mit den Servern halten sie Eins-zu-eins-Verbindungen. Stellen Sie sich darunter die Anwendungen vor, die mit den Daten der Server Aufgaben erledigen oder Fragen von Nutzern beantworten.
- Kommunikationsschicht: Diese Schicht sorgt für den sicheren, bidirektionalen Datenaustausch zwischen lokalen und entfernten Ressourcen. Sie ist die Brücke zwischen Clients und Servern und ermöglicht ihnen eine wirksame und sichere Kommunikation. Die Protokollschicht kümmert sich um die Details dieser Kommunikation: Message Framing, die Verknüpfung von Requests und Responses und übergeordnete Kommunikationsmuster. Die Transportschicht übernimmt zudem die eigentliche Datenübertragung zwischen Clients und Servern und unterstützt mehrere Transportmechanismen wie Standard-Input/Output und HTTP mit SSE.
Gemeinsam ermöglichen diese drei Komponenten es KI-Anwendungen, mit externen Systemen zu interagieren, den nötigen Kontext abzurufen und am Ende bessere, relevantere Antworten zu liefern.
Transportmechanismen im Model Context Protocol
Das Model Context Protocol (MCP) unterstützt mehrere Transportmechanismen, die für die eigentliche Kommunikation zwischen Clients und Servern zuständig sind. Sie legen fest, wie Daten über das Netzwerk übertragen werden.
- Stdio-Transport: Dieser Mechanismus nutzt Standard-Input/Output für die Kommunikation. Er gilt als ideal für lokale Prozesse auf demselben Rechner, weil er sehr effizient ist und die Prozessverwaltung einfach bleibt.
- Transport über HTTP mit SSE: Dieser Mechanismus nutzt Server-Sent Events (SSE) für Nachrichten vom Server zum Client und HTTP POST für Nachrichten vom Client zum Server. Er eignet sich für Szenarien, in denen HTTP-Kompatibilität nötig ist, etwa bei der Kommunikation mit entfernten Servern. Wer diesen Transport für die Kommunikation mit entfernten Systemen einsetzt, sollte allerdings die Folgen für die Sicherheit bedenken, darunter Authentifizierung und Autorisierung.
Alle Transportmechanismen in MCP verwenden JSON-RPC 2.0 für den Nachrichtenaustausch. JSON-RPC ist ein schlankes Remote-Procedure-Call-Protokoll, das Daten mit JSON strukturiert und ein Standardformat für Requests, Responses, Notifications und Errors vorgibt. Das sorgt für Konsistenz und Interoperabilität zwischen verschiedenen MCP-Implementierungen.
Welcher Transportmechanismus passt, hängt vom konkreten Anwendungsfall ab und von der Umgebung, in der Client und Server laufen. Für die Kommunikation zwischen Prozessen auf demselben Rechner ist der Stdio-Transport einfach und effizient. Bei Verbindungen zu entfernten Servern oder wenn HTTP-Kompatibilität gefragt ist, eignet sich der Transport über HTTP mit SSE.
Die wichtigsten Nachrichtentypen in MCP
Das Model Context Protocol (MCP) verwendet für die Kommunikation zwischen Clients und Servern mehrere primäre Nachrichtentypen:
- Requests sind Nachrichten, die eine Seite (Client oder Server) an die andere schickt und auf die sie eine Antwort erwartet. Requests müssen ein method-Feld enthalten, das die gewünschte Aktion angibt, und können optional ein params-Feld mit den nötigen Parametern enthalten.
- Notifications sind Nachrichten in nur eine Richtung, auf die keine Antwort erwartet wird. Wie Requests haben sie ein method-Feld, das die mitgeteilte Aktion angibt, und ein optionales params-Feld für zusätzliche Informationen.
- Results sind Antworten auf Requests und zeigen an, dass die angeforderte Aktion erfolgreich abgeschlossen wurde. Sie können je nach Request beliebige Daten enthalten, auch Schlüssel-Wert-Paare.
- Errors sind Nachrichten, die anzeigen, dass ein Request fehlgeschlagen ist. Sie enthalten einen Fehlercode, eine für Menschen lesbare Meldung, die den Fehler erklärt, und ein optionales data-Feld für weitere Angaben zum Fehler. MCP definiert Standard-Fehlercodes, SDKs und Anwendungen können aber auch eigene Codes festlegen.
Diese vier Nachrichtentypen bilden die Grundlage der gesamten Kommunikation im MCP-Protokoll. Mit ihnen tauschen Clients und Server strukturiert und zuverlässig Informationen aus, fordern Aktionen an, melden Fortschritte und behandeln Fehler.
Vorteile von MCP
MCP bietet mehrere Vorteile:
- Einfachere Integration: Entwickler müssen nicht mehr für jede Datenquelle eine eigene Integration bauen.
- Skalierbarkeit: Mit MCP lassen sich LLMs leichter an eine große Zahl von Datenquellen anbinden, was die Skalierbarkeit verbessert.
- Besseres Kontextverständnis: LLMs können auf mehr Daten zugreifen und liefern dadurch genauere und relevantere Antworten.
- Mehr Funktionalität: Mit MCP können KI-Agenten komplexere Aufgaben erledigen, weil sie direkt mit externen Systemen interagieren.
Beispiele für MCP im Einsatz
Mehrere Unternehmen setzen MCP bereits ein und zeigen, was damit möglich ist:
- Block und Apollo haben MCP in ihre Systeme integriert.
- Anbieter von Entwicklungstools wie Zed, Replit, Codeium und Sourcegraph nutzen MCP, um ihre Plattformen zu verbessern.
- Für verbreitete Unternehmenssysteme wie Google Drive, Slack, GitHub, Git, Postgres und Puppeteer gibt es mehrere vorgefertigte MCP-Server.
Die Zukunft von MCP
Die Zukunft von MCP hängt von der branchenweiten Verbreitung und von gemeinsamen Standardisierungsbemühungen ab. Entscheidend ist dabei, ob die großen KI-Anbieter mitmachen: Ihre Beteiligung treibt die Verbreitung voran und sichert die Interoperabilität zwischen verschiedenen KI-Systemen. Geht das auf, hat MCP das Potenzial, zu einer Basistechnologie für die KI-Integration zu werden, ähnlich der Rolle, die SOA-Protokolle bei Webservices gespielt haben.
Aus dem Englischen übersetzt: zum Originalbeitrag