Model Context Protocol (MCP) Explained: The New Standard for AI Tools?

Entropic's Model Context Protocol is an open-source standard announced in November 2024 that uses JSON-RPC to standardize how AI applications talk to tools and services. It replaces custom integrations with a shared format for Resources, Tools, and Prompts, and companies like OpenAI, Google, and LangChain have already adopted it.
Questions this video answers
Entropic
November 2024
JSON-RPC
Chapters
Sie haben wahrscheinlich schon von dem ganzen Hype um MCPS Model Context Protocol. Gehört. In diesem Video möchte ich genau erklären, was ein MCP Model Context Protocol ist, wie es sich von normalen Tool oder Funktionsaufrufen unterscheidet und warum es plötzlich so viel Hype darum gibt, nur damit Sie wissen, dass MCP von Entropic stammt. Aber Sam Allmann, Der CEO von OpenAI, hat folgendes getwittert. Die Leute lieben MCP und wir freuen uns, Unterstützung für alle unsere Produkte hinzuzufügen, die heute im Agence SDK verfügbar sind. Unterstützung für die Chat GPD Desktop Responses API folgt in Kürze. Sogar Google nimmt davon Notiz. Pashai, der CEO von Google, hat dies zu MCP gepostet oder nicht zu MCP. Das ist eine Frage. Lassen Sie es mich in den Kommentaren wissen. Interessanterweise ist das nichts Neues. Es wurde bereits im November 2024 angekündigt und veröffentlicht, also vor fast vier Monaten. Hier ist also der ursprüngliche Blogbeitrag von Entropic, der das Model Context Protocol vorstellt. Dies soll ein neuer Standard für die Anbindung von KI gestützten Systemen an Datenspeicher, einschließlich Content Repositories werden. Eines der größten Probleme von LLMs besteht darin, dass Ihr Wissen auf den Umfang Ihrer Trainingsdaten beschränkt ist. Die Frage ist nun, wie man Wissen über diesen Umfang hinaus ermöglicht. Es gibt Techniken wie REG Tool oder Funktionsaufrufe, die die Fähigkeiten eines LLMs erweitern. Die Implementierung dieser Tool oder Funktionsauflufe ist jedoch problematisch. Wenn Sie dem LLM beispielsweise Zugriff auf Ihren Kalender, Ihre E Mail App oder eine bestimmte Datenbank gewähren möchten, müssen Sie für jede dieser Funktionen eine benutzerdefinierte API Integration implementieren. Jede dieser benutzerdefinierten Integrationen wird zu einem Tool, mit dem der LLM mit dieser externen API oder Datenbank interagieren kann. Dies ist also eine einfache Lösung, die Agenten oder LLMs die Interaktion mit der Außenwelt ermöglicht. Es gibt jedoch zwei Wenn die Liste oder Anzahl der Tools zunimmt, kann der LLM bei der Entscheidung, welches Tool er verwenden soll, irren. Zweitens benötigen Sie für jedes Tool eine benutzerdefinierte Integration, die Sie implementieren müssen. Es gibt keinen Standard. Ändert sich die zugrunde liegende API Implementierung, müssen Sie Ihr Tool oder die vorhandene benutzerdefinierte Integration aktualisieren. Hier kommt das Model Context Protocol ins Spiel. Die Idee dahinter ist, die Interaktion zwischen Ihren Tools und dem LLM zu standardisieren. Wir platzieren eine weitere benutzerdefinierte Ebene bzw. Standardisierungsebene zwischen Ihrer Key Anwendung, zb einem LLM oder einem Agenten und der eigentlichen Tool Implementierung. Unabhängig davon, ob Sie Ihr Tool aktualisieren, bleibt der MCP Standard bzw. Diese Standardisierungsebene unverändert. Bei der Entwicklung Ihrer Implementierungen externer Tools müssen Sie den vom MCP definierten Standard einhalten. Was genau ist das? Es handelt sich um ein von Antropic eingeführtes Open Source Protokoll, das JSON RPC Nachrichten verwendet, um die Kommunikation zwischen drei verschiedenen Komponenten Host, Clients und Servern herzustellen. Hosts sind Anwendungen, die KI Modelle ausführen. Ein Beispiel hierfür wären Cloud Desktops oder KI gesteuerte Anwendungen wie beispielsweise Cursor Windsurfen, die Zugriff auf externe Daten oder Tools benötigen. Clients sind Module innerhalb von Hosts, die für die Kommunikation mit Servern zuständig sind und Verbindungen aufrechterhalten und Anfragen weiterleiten. Clients sind also Module, die auf den Servern laufen. Was genau ist ein Server? Es handelt sich um schlanke Programme, die jeweils spezifische Funktionen über das Standard Model Context Protocol bereitstellen. Sie ermöglichen die Verbindung zu lokalen Datenquellen. Dazu gehören Dateien, Datenbanken und Dienste auf Ihrem Computer oder Remote Dienste wie externe Systeme, die über das Internet über die API verfügbar sind. Sie benötigen also einen Server, der entweder lokale Datenspeicher oder Remote Dienste bereitstellt. Clients kommunizieren mit dem Server und Hosts sind die eigentlichen Key Anwendungen, die die Server über die Clients nutzen. Keine Sorge, falls das kompliziert klingt, ich erkläre es Ihnen im Detail. Um die Funktionsweise eines MCPs weiter zu erklären, verwenden wir Material aus Martins Visual Guide zu LLM Agenten. Das ist ein hervorragender Leitfaden. Der Link befindet sich in der Videobeschreibung. Er hat diese Visualisierung in seinem Blogbeitrag, die mir sehr gut gefällt. Sie erklärt detailliert, was Hosts, Clients und Server sind. Hosts sind Key Anwendungen wie Cursor, Cloud, OpenAI und Windsurf. Sie können sogar eigene Hosts erstellen. Clients ermöglichen die Kommunikation zwischen MCP Servern und MCP Hosts. Eine einheitliche API ermöglicht diese Kommunikation und ein MCP Server interagiert über benutzerdefinierte APIs oder Tools mit der Außenwelt. Diese Implementierung unterscheidet sich stark von normalen Funktionsaufrufen oder der Toolnutzung, da Sie hier ein eigenes Kommunikationsprotokoll für verschiedene Tools oder APIs implementieren müssen, das nicht wirklich standardisiert ist. Durch die Integration von MCP-Client und Server standardisieren. Sie das Protokoll und die eigentlichen Tools laufen auf dem MCP Server. Dieses Extra abstrahiert die Komplexität des MCP Hosts. OK. Um das Ganze weiter aufzuschlüsseln, betrachten wir dieses Beispiel aus demselben Blogbeitrag. Tools sind grundsätzlich wichtige Komponenten von Agenda Frameworks, die S LLMs ermöglichen, mit der Welt zu interagieren und ihre Fähigkeiten zu erweitern. Die Nutzung von Tools Bei vielen verschiedenen APIs gestaltet sich jedoch problematisch, da jedes Tool manuell verfolgt, dem NLM manuell beschrieben und bei API-Änderungen manuell aktualisiert werden. Muss. So sieht die normale Toolnutzung aus. Wenn Sie beispielsweise nach dem aktuellen Wetter fragen, müssen Sie dem LLM eine Liste der verfügbaren Tools bereitstellen. Das LLM entscheidet, welches Tool verwendet wird, führt den Aufruf durch, erhält die Antwort und gibt diese Ergebnisse an die LLM Software weiter, um die endgültige Antwort zu generieren. All dies geschieht über die LLM Schleife und Sie müssen alles manuell verfolgen. Wir haben uns nun die Implementierung des MCP angesehen und wie diese API bzw. Die Kommunikation im Wesentlichen vereinheitlicht. Hier ist ein kurzes Nehmen wir an, Sie möchten, dass eine bestimmte LM Anwendung die fünf letzten Commits aus ihrem Repository zusammenfasst. Der McPhost ruft zusammen mit einem Client zunächst den MCP Server auf, um um die verfügbaren Tools abzufragen. Der LLM weiß zunächst nicht, welche Tools auf einem bestimmten Server verfügbar sind. Er verfügt lediglich über eine Liste der Server, die über diesen MCP Client verfügbar sind. Richtig. Der Host fordert also eine Liste der Tools vom Server an. Der LLM, erhält diese Informationen und kann sich für die Verwendung eines Tools entscheiden. Er sendet über den Host eine Anfrage an den MCP Server und erhält die Ergebnisse einschließlich des verwendeten Tools. Richtig. Der LLM nutzt den MCP Host, um die restlichen verfügbaren Tools abzurufen und entscheidet dann, ob er ein Tool verwendet oder nicht. Wenn er sich für ein Tool entscheidet, verwendet der MCP Server dieses Tool und gibt die Ergebnisse zurück. Alles wird als Teil der Eingabeaufforderung an den LLM zurückgemeldet, einschließlich der Tools und so weiter. Der LM verwendet diese Ergebnisse dann, um die endgültige Ausgabe zu generieren. Es gibt noch eine weitere interessante Neuerung, die in diesem Fall wichtig zu beachten ist, da der MCP Server über eine Vielzahl verschiedener Tools verfügen kann. Mehrere MCP Server können mit dem LLM interagieren. Selbst wenn tausende verschiedener Tools über mehrere MCP Server laufen, muss der LLM diese Tools nicht verfolgen. Normalerweise muss der LLM, wenn er in einem agentenbasierten Workflow einen Toolaufruf durchführen muss, zunächst prüfen, welche Tools verfügbar sind. Nehmen wir also an, es gibt tausende von Tools, die in die Systemeingabeaufforderung aufgenommen werden müssen, damit der LM sie sehen kann. Anschließend muss er entscheiden, welches Tool verwendet werden soll. In diesem Fall gibt es jedoch eine weitere Abstraktionsebene, die die Liste der vom LM verfügbaren Tools isoliert. Der LLM kann also einfach über den McPhost entscheiden, mit dem er interagiert, welchen MCP Host oder MCP Server er verwenden soll. Dadurch werden die verschiedenen Tool Definitionen und Aufrufe abstrahiert. Als nächstes betrachten wir die drei Hauptkomponenten eines MCB Servers. Das sind Ressourcen, Tools und Prompts. Ressourcen sind dateiähnliche Daten, die vom Client gelesen werden können. Denken Sie dabei an API Antworten oder Dateiinhalte. Darüber hinaus gibt es Tools oder Funktionen, die aufgerufen werden können, um Aktionen wie das Senden einer E-Mail oder das Abfragen von Daten auszuführen. Das ist die Liste der auf dem MCP Server verfügbaren Tools. Um alles zu orchestrieren, gibt es Prompts. Diese sind Vorlagen zur Strukturierung der Interaktion mit den LLMs. Hier ist eine Folie aus einer der Präsentationen. Jeder Server verfügt über Tools, Ressourcen und Prompts, die alle vom MCP Client, vom MC und vom MCP Host aus zugänglich sind. Tools können also Modellsteuerungsfunktionen sein, die vom Modell aufgerufen werden. Das können beispielsweise Abfrage oder Suchtools sein und wie bereits erwähnt, auch externe API Aufrufe, wie das Senden einer Nachricht oder das Aktualisieren von Datensätzen aus einer Datenbank. Dann gibt es Ressourcen. Das sind Daten, die den Anwendungsdateien, Datenbankeinträgen und API Antworten zugänglich sind. Das sind die Ergebnisse, die Sie erhalten. Diese werden zu Ressourcen. Und jetzt gibt es Eingabeaufforderungen, vordefinierte Vorlagen für Key Interaktionen. Dokumentieren Sie also die Fragen und Antworten. Stellen Sie sich diese als Eingabeaufforderungsvorlagen vor, die der Server verwenden wird. OK, ich hoffe, das gibt Ihnen eine gute Vorstellung davon, was ein MCP ist, welche verschiedenen Komponenten es gibt, wie sie miteinander interagieren und wie es funktioniert. Nun stellt sich die Frage, warum es plötzlich so viel Anklang findet. Wie gesagt, das Konzept ist fast Monate alt. Sean vom Latent Space Podcast hat eine Liste mit Gründen zusammengestellt, die meiner Meinung nach sehr relevant sind. Hier erklärt er kurz, warum MCP so wichtig ist. Einer davon ist der sich zum De facto Standard entwickelnde Ansatz oder nicht unbedingt unbedingt gleichwertig alternative Ansätze wie OpenAI und LangChain. LangChain hatte dieses Konzept der Tool Aufrufe, das häufig verwendet wurde. Es gibt aber auch andere Anbieter wie OpenAI oder Lamaindex, die ebenfalls eigene Ansätze entwickelt haben. Ihm zufolge liegt der Grund für die große Beliebtheit von MCP darin, dass es sich um eine KI native Version einer alten Idee handelt. Wir brauchen also Standards. Ein Standard sind REST APIs, die jeder nutzt. HTTPs und TCPs sind weitere Standards. Im Zeitalter von LLMs benötigen wir einen Standard, um die Datenverbindung zwischen dem LLM und unseren eigenen Datenquellen zu standardisieren. MCP ist ein alter, offener Standard mit großem Unterstützer, in diesem Fall Entropic. Entropic hat ihn ständig aktualisiert. Es ist auch erfreulich zu sehen, dass Unternehmen wie OpenAI und sogar Google nun über die Übernahme dieses Standards nachdenken. Entropic ist die beste Key Marke für Entwickler. Dem stimme ich voll und ganz zu. Die Cloud ist ein hervorragender, unterstützender LLM, sofern man nicht an Ratenlimits stößt. MCP basiert auf LSP, dem Language Server Protocol. Dies ist ein bestehendes und erfolgreiches Protokoll. LSP standardisiert die Unterstützung von Programmiersprachen im gesamten Ökosystem von Entwicklungstools. Im Grunde handelt es sich also wieder um eine native Version einer alten Idee. Ähnlich versucht MCP die Integration zusätzlicher Kontexte und Tools in das Ökosystem von LLM Anwendungen zu standardisieren. Als Entropic mcps im November ankündigte, standen bereits verschiedene Clients, Server und Tools zur Verfügung, die es sehr nützlich machten. Es hat sich bereits eine ganze Community gebildet, was wirklich toll ist. Cursor unterstützt beispielsweise MCP Server. Auch Ventsurf unterstützt MCP Server. Bei der Auswahl des MCP Servers ist jedoch Vorsicht geboten. Es gibt GitHub Repositories mit tausenden verschiedener Server. In einem späteren Video zeige ich Ihnen, wie Sie diese Server in KI Anwendungen wie Cursor und Windsurf verwenden können. Bei der Auswahl dieser Server ist jedoch Vorsicht geboten. Stellen Sie sicher, dass Sie sorgfältig geprüft sind, da Sie Ihre API Schlüssel und Daten über diese Server offenlegen. Noch ein paar MCPs erfreut sich großer Beliebtheit. Es ist also wirklich gut, sie zu kennen. Wir wissen jedoch nicht, was die Zukunft bringen wird. Die Situation ist sehr dynamisch. Es mag andere Unternehmen geben, die eigene Standards entwickeln, aber wir wollen einen Open Source Standard in Betracht ziehen, den die Branche übernehmen wird. Mcps scheint derzeit dieser Standard zu sein. Zweitens muss man nicht alles in einen MCP Server packen. Es gibt immer noch Anwendungsfälle für Tools und Funktionsaufrufe, insbesondere wenn man nur wenige Tools hat. Es ist wahrscheinlich besser, diese selbst zu implementieren, als diese zusätzliche Abstraktionsebene hinzuzufügen. OK, ich hoffe, das verdeutlicht, was genau ein MCP ist und welche verschiedenen Komponenten es gibt. Ich werde weitere Inhalte für Entwickler erstellen. Wir werden uns einige Beispiele ansehen, wie man einen eigenen MCB Server erstellen kann. Insbesondere wird Gemini dies jetzt auch unterstützen. Man könnte es also mit Entropic, OpenAI oder Gemini Modellen verwenden und hoffentlich wird es auch Unterstützung durch die Open Source Modelle geben. Wenn Sie an solchen Inhalten interessiert sind, abonnieren Sie den Kanal. Vielen Dank fürs Zuschauen und wie immer bis zum nächsten Mal.










