Was ist MCP (Model Context Protocol) und wie funktioniert es?
Ein leicht verständlicher Leitfaden für das Model Context Protocol (MCP), der erklärt, wie es LLMs hilft, auf externe Ressourcen zuzugreifen, um Wissensbeschränkungen zu überwinden und leistungsfähigere KI-Anwendungen zu entwickeln.
Was ist MCP?
MCP (Model Context Protocol) ist ein offenes, universelles Protokoll, das standardisiert, wie Anwendungen Kontextinformationen an große Sprachmodelle (LLMs) übermitteln.
Einfach ausgedrückt, genauso wie das HTTP-Protokoll es verschiedenen Websites und Browsern ermöglicht, Informationen nach denselben Regeln auszutauschen, ist MCP wie das HTTP-Protokoll der KI-Welt. MCP ermöglicht es verschiedenen KI-Modellen, sich auf standardisierte Weise mit verschiedenen Datenquellen und Tools zu verbinden. Diese Standardisierung erleichtert es Entwicklern, KI-Anwendungen zu erstellen, ohne spezielle Schnittstellen für jedes Modell oder jede Datenquelle erstellen zu müssen.
Warum brauchen wir MCP?
Große Sprachmodelle (LLMs) sind leistungsfähig, aber sie haben mehrere wesentliche Einschränkungen:
-
Wissensbeschränkungen und Aktualisierungsherausforderungen: LLMs kennen nur Informationen, die in ihren Trainingsdaten enthalten sind. Zum Beispiel enden die Kenntnisse von GPT-4 im April 2023. Das Training großer Sprachmodelle erfordert enorme Rechenressourcen und Zeit, oft dauert es sechs Monate oder länger, um eine neue Version zu vervollständigen. Dies schafft ein schwieriges Problem: Das Modellwissen ist immer "veraltet", während Updates extrem teuer und zeitaufwendig sind. Wenn ein neues Modell das Training abschließt, hat sein Wissen bereits begonnen, hinterherzuhinken.
-
Mangel an spezialisiertem Fachwissen: LLMs werden mit öffentlich zugänglichen allgemeinen Daten trainiert. Sie können spezialisierte Daten und Informationen in spezifischen Geschäftsszenarien nicht tiefgreifend verstehen. Zum Beispiel sind die internen Prozesse einer medizinischen Einrichtung, ein Produktkatalog eines Unternehmens oder das proprietäre Wissen einer Organisation nicht im Trainingsbereich des Modells enthalten.
-
Kein einheitlicher Standard für den Zugriff auf externe Daten: Derzeit gibt es viele Methoden, um LLMs zusätzliche Informationen bereitzustellen, wie RAG (Retrieval-Augmented Generation), lokale Wissensdatenbanken, Internetsuchen usw. Verschiedene Entwicklungsteams bieten unterschiedliche Integrationslösungen an, was zu hohen Integrationskosten zwischen Systemen führt. Systeme mit spezialisierten Fachdaten (wie CRM, ERP, medizinische Aufzeichnungssysteme usw.) sind schwer nahtlos mit LLMs zu integrieren. Jede Integration erfordert kundenspezifische Entwicklung und fehlt an einer gemeinsamen, standardisierten Methode.
Deshalb brauchen wir MCP. MCP bietet ein standardisiertes Protokoll, das es LLMs ermöglicht, auf externe Informationen und Tools in einer konsistenten Weise zuzugreifen und so alle oben genannten Probleme zu lösen. Durch MCP können wir die folgenden entscheidenden Vorteile gewinnen:
-
Reiche vorgefertigte Integrationen: MCP bietet viele vorgefertigte Server-Integrationen, einschließlich Dateisysteme, Datenbanken (PostgreSQL, SQLite), Entwicklungstools (Git, GitHub, GitLab), Netzwerktools (Brave Search, Fetch) und Produktivitätstools (Slack, Google Maps) und mehr. Das bedeutet, dass Sie diese Integrationen nicht von Grund auf neu erstellen müssen. Sie können einfach diese vorgefertigten Konnektoren verwenden, um LLMs den Zugriff auf Daten in diesen Systemen zu ermöglichen.
-
Flexibles Umschalten zwischen LLM-Anbietern: Heute verwenden Sie vielleicht GPT-4, morgen möchten Sie Claude oder Gemini ausprobieren oder verschiedene LLMs für unterschiedliche Szenarien verwenden. Mit MCP müssen Sie nicht die gesamte Integrationslogik Ihrer Anwendung neu schreiben. Sie müssen nur das zugrunde liegende Modell ändern, und alle Daten- und Tool-Integrationen bleiben unver ändert.
-
Aufbau komplexer KI-Workflows: Stellen Sie sich ein System zur Analyse von Rechtsdokumenten vor, das mehrere Datenbanken abfragen, spezielle Tools zum Dokumentvergleich verwenden und Berichte erstellen muss. MCP ermöglicht es Ihnen, solche komplexen Agenten und Workflows auf LLMs aufzubauen.
Wie funktioniert MCP?
In MCP gibt es drei Kernrollen: MCP Server (bereitstellt Tools und Datenzugriff), MCP Client (eingebettet im LLM und kommuniziert mit dem MCP Server) und MCP Hosts (Anwendungen, die LLMs und Clients integrieren, wie Claude Desktop, Cursor etc.). Schauen wir uns diese drei Rollen im Detail an, um zu sehen, wie sie zusammenarbeiten.
MCP Server
MCP Server ist ein Programm, das Tools und Datenzugriffsmöglichkeiten bereitstellt, die von LLMs genutzt werden können. Im Gegensatz zu traditionellen Remote-API-Servern kann MCP Server als lokale Anwendung auf dem Gerät des Benutzers ausgeführt oder auf einem Remote-Server bereitgestellt werden.
Jeder MCP Server bietet eine Reihe spezifischer Tools, die dafür verantwortlich sind, Informationen aus lokalen Daten oder Remote-Diensten abzurufen. Wenn ein LLM feststellt, dass es ein bestimmtes Tool zur Bearbeitung einer Aufgabe verwenden muss, verwendet es die vom MCP Server bereitgestellten Tools, um die erforderlichen Daten zu erhalten und sie an das LLM zurückzugeben.
MCP Client
MCP Client ist die Brücke, die LLMs und MCP Server verbindet. Eingebettet im LLM, ist es verantwortlich für:
- Anfragen vom LLM entgegenzunehmen
- Anfragen an den entsprechenden MCP Server weiterzuleiten
- Ergebnisse vom MCP Server zurück an das LLM zu senden
Weitere Informationen zur Integration des MCP Clients in LLMs finden Sie unter Entwicklung eines MCP Clients.
MCP Hosts
Programme wie Claude Desktop, IDEs (Cursor usw.) oder KI-Tools, die Daten über MCP abrufen möchten. Diese Anwendungen bieten Benutzern Schnittstellen zur Interaktion mit LLMs, während sie den MCP Client integrieren, um sich mit MCP Servern zu verbinden, um die Fähigkeiten der LLMs mit den von den MCP Servern bereitgestellten Tools zu erweitern.
MCP Workflow
Die drei oben genannten Rollen bilden letztendlich eine auf MCP aufgebaute KI-Anwendung.
Ein Beispielworkflow dieses Systems ist wie folgt:
Wie man einen MCP Server baut
Der MCP Server ist das kritischste Glied im MCP-System. Es bestimmt, welche Tools das LLM verwenden kann, um auf welche Daten zuzugreifen, und beeinflusst direkt die funktionalen Grenzen und Fähigkeiten der KI-Anwendung.
Um mit dem Aufbau Ihres eigenen MCP Servers zu beginnen, wird empfohlen, zuerst den offiziellen MCP Schnellstartleitfaden zu lesen, der den gesamten Prozess vom Einrichten der Umgebung bis zur Implementierung und Nutzung des MCP Servers ausführlich beschreibt. Wir erklären hier nur die wesentlichen Implementierungsdetails.
Definition von Tools, die vom MCP Server bereitgestellt werden
Die Kernfunktion eines MCP Servers besteht darin, Tools durch die Methode server.tool() zu definieren. Diese Tools sind Funktionen, die das LLM aufrufen kann, um externe Daten zu erhalten oder spezifische Operationen auszuführen. Schauen wir uns ein vereinfachtes Beispiel mit Node.js an:
In diesem Beispiel definieren wir ein Tool namens search-documents
, das einen Suchbegriff und die maximale Anzahl der Ergebnisse als Parameter akzeptiert. Die Implementierung des Tools würde sich mit einem Wissensbasis-System verbinden und Suchergebnisse zurückgeben.
Das LLM wird entscheiden, ob es dieses Tool basierend auf der Definition des Tools und der Frage des Benutzers verwenden möchte. Falls erforderlich, wird das LLM dieses Tool aufrufen, die Ergebnisse abrufen und eine Antwort generieren, die die Ergebnisse mit der Frage des Benutzers kombiniert.
Best Practices für die Definition von Tools
Beim Erstellen solcher Tools können Sie folgende Best Practices befolgen:
- Klare Beschreibungen: Geben Sie detaillierte, genaue Beschreibungen für jedes Tool an und erläutern Sie klar seine Funktionalität, anwendbare Szenarien und Einschränkungen. Dies hilft nicht nur dem LLM dabei, das richtige Tool auszuwählen, sondern erleichtert auch Entwicklern das Verständnis und die Wartung des Codes.
- Parametervalidierung: Verwenden Sie Zod oder ähnliche Bibliotheken, um Eingabeparameter strikt zu validieren, um korrekte Typen, angemessene Wertebereiche zu gewährleisten und nicht konforme Eingaben abzulehnen. Dies verhindert, dass Fehler auf Back-End-Systeme übergreifen, und verbessert die Gesamtstabilität.
- Fehlerbehandlung: Implementieren Sie umfassende Fehlerbehandlungsstrategien, fangen Sie mögliche Ausnahmen ab und geben Sie benutzerfreundliche Fehlermeldungen zurück. Dies verbessert die Benutzererfahrung und ermöglicht es dem LLM, sinnvolle Antworten basierend auf den Fehlerbedingungen zu geben, anstatt einfach zu scheitern.
- Datenzugriffskontrolle: Stellen Sie sicher, dass Back-End-Ressourcen-APIs über robuste Authentifizierungs- und Autorisierungsmechanismen verfügen, und entwerfen Sie Berechtigungsbereiche sorgfältig, um den MCP Server so zu beschränken, dass er nur auf Daten zugreifen und Daten zurückgeben kann, zu denen der Benutzer berechtigt ist. Dies verhindert Lecks von sensiblen Informationen und gewährleistet die Datensicherheit.
Wie man die Sicherheit des Datenaustauschs zwischen MCP (KI-Modellen) und externen Systemen gewährleistet
Bei der Implementierung von MCP Servern, die KI-Modelle mit externen Systemen verbinden, gibt es zwei wichtige Sicherheitsherausforderungen in der MCP-Implementierung:
- Authentifizierung: Im Gegensatz zu traditionellen Anwendungen kann sich der Benutzer in einer MCP-Umgebung nicht mit traditionellen Anmeldeverfahren (wie Benutzername/Passwort, E-Mail/Verifizierungscode usw.) beim externen System anmelden.
- Zugriffskontrolle für Anfragen des MCP Servers: Benutzer, die Systeme über KI-Tools aufrufen, sind dieselben Personen, die Ihr System möglicherweise direkt nutzen. Der MCP Server agiert als ihr Vertreter, wenn sie über KI-Tools interagieren. Ein komplett neues Zugriffskontrollmechanismus zu gestalten, nur um den MCP Server anzupassen, würde erheblichen Aufwand und Kosten erfordern.
Die entscheidende Lösung für diese Herausforderungen ist die Implementierung von Personal Access Tokens (PATs). PATs bieten eine sichere Möglichkeit, Benutzern den Zugriff zu gewähren, ohne ihre Anmeldeinformationen zu teilen oder eine interaktive Anmeldung zu verlangen.
So funktioniert der Workflow:
Dieser Ansatz ermöglicht es Ihrem bestehenden Dienst, seine Authentifizierungsmechanismen beizubehalten und gleichzeitig eine sichere MCP-Integration zu ermöglichen.
Sie können den Blogbeitrag lesen: Stärken Sie Ihr Geschäft: Verbinden Sie KI-Tools mit Ihrem bestehenden Dienst mit Zugriffskontrolle mit einem vollständigen Quellcodebeispiel, um zu erfahren, wie Sie Logtos Personal Access Tokens (PATs) in Kombination mit der Role-Based Access Control (RBAC) verwenden, um die Ressourcen zu beschränken, auf die die MCP von Backend-Diensten zugreifen kann.
Zusammenfassung
MCP (Model Context Protocol) bringt revolutionäre Veränderungen in der Kombination von LLMs und spezifischen Unternehmen. Es löst die Probleme der Wissensbeschränkungen in großen Sprachmodellen, des Mangels an spezialisiertem Fachwissen und der fehlenden einheitlichen Standards für den Zugriff auf externe Daten.
Die Verwendung von MCP zur Verbindung Ihrer eigenen Dienste wird neue Möglichkeiten für Ihr Unternehmen eröffnen. MCP ist die Brücke, die KI mit dem Geschäftswert verbindet. Sie können KI-Assistenten erstellen, die das interne Wissen Ihres Unternehmens wirklich verstehen, intelligente Tools entwickeln, die auf die neuesten Daten zugreifen, und professionelle Anwendungen erstellen, die branchenspezifische Anforderungen erfüllen.