In this article
Was ist MCP in der KI? Alles, was Sie wissen wollten
Was ist MCP?
MCP steht für Model Context Protocol und ist Anthropics Spezifikation dafür, wie LLMs (Large Language Models) kommunizieren, Daten austauschen und externe Ressourcen außerhalb der Modelldaten nutzen können.
MCP wurde im November 2024 angekündigt und hat die Branche maßgeblich beeinflusst. Entwickler wurden dazu angeregt, verschiedene Arten von Funktionen zu entwickeln, die Modellen zur Verfügung gestellt werden können und deren Möglichkeiten über reine Texteingaben und Textausgaben hinaus erweitern. Dadurch wurde eine neue Funktionalität erschlossen: Modelle können jetzt auch Aktionen ausführen und Daten aus Quellen beziehen, mit denen sie nicht trainiert wurden. Das stärkt ihre Autonomie bei der Erledigung von Aufgaben.

Die MCP-Spezifikation definiert offiziell die „KI-gestützte App“ als MCP Host. Da der Begriff „Server“ dabei für Verwirrung sorgen könnte, verwenden wir in diesem Artikel größtenteils die Bezeichnung „KI-gestützte Anwendung“.
Wer erstellt den MCP-Client?
In der Regel ermöglichen KI-gestützte Anwendungen ihren Nutzern, MCP-Server hinzuzufügen, mit denen sie interagieren können. Daher wird der MCP-Client häufig von der KI-gestützten Anwendung implementiert, während Entwickler, die MCP-Server erstellen, die Funktionen von Drittanbietern bereitstellen.
Beispiele für KI-gestützte Anwendungen, auch MCP Hosts genannt, sind:
Claude Desktop
Cursor
Qodo AI
Diese KI-Anwendungen implementieren einen MCP-Client, dem Sie für verschiedene Funktionen unterschiedliche MCP-Server hinzufügen können, etwa zum Verwalten Ihrer Git-Workflows oder für Websuchen.
Wo finde ich MCP-Server?
Anthropic pflegt ein Repository, in dem von der Community beigesteuerte MCP-Server gesammelt werden. Im Repository @modelcontextprotocol/servers finden Sie Referenzimplementierungen von MCP-Servern sowie Beiträge von Drittanbietern.
Sicherheitshinweis:
Nicht offizielle und nicht auditierte MCP-Server-Code sollten Sie aufgrund möglicher Malware, Supply-Chain-Sicherheitsrisiken und unsicherer Programmierpraktiken, die darin enthalten sein und Ihre Infrastruktur sowie Ihre KI-Anwendungen beeinträchtigen können, mit großer Vorsicht behandeln.
Sie können auch einen eigenen MCP-Server erstellen. Anthropic stellt MCP-SDKs bereit, etwa das beliebte JavaScript-SDK @modelcontextprotocol/sdk, mit dem Entwickler eigene MCP-Server erstellen können, die Tools zur Nutzung durch LLMs bereitstellen.
Hier sehen Sie ein Beispiel für den vereinfachten Code eines in JavaScript implementierten MCP-Servers:
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// Create an MCP server
const server = new McpServer({
name: "Demo",
version: "1.0.0"
});
// Add an addition tool
server.tool("add",
{ a: z.number(), b: z.number() },
async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }]
})
);Welche Sicherheitsaspekte sind bei der Einführung von MCP zu beachten?
Die folgende Liste der Sicherheitsrisiken bei der Einführung von MCP-Servern zur Erweiterung Ihrer KI-gestützten Anwendungen ist nicht vollständig. Sie bietet jedoch einen Überblick und praktische Beispiele für Sicherheitsprobleme und Sicherheitslücken, die in MCP-Servern auftreten können:
Zugriffskontrolle – Wenn Sie eine MCP-Ressource in einem MCP-Server bereitstellen: Wie unterscheiden Sie Nutzer und ihre Rollen, wenn sie über die KI-gestützte Anwendung das LLM dazu veranlassen, auf die über eine MCP-Ressource bereitgestellten Daten zuzugreifen und diese abzurufen?
Sicheres Programmieren – MCP-Server sind ebenfalls Software und können unbeabsichtigt unsicher programmiert sein. Wie bei der Entwicklung anderer Anwendungen müssen Entwickler auch hier Konventionen für sicheres Programmieren befolgen, etwa zum Schutz vor Pfad-Traversal und Code-Injection. Ein MCP-Server kann beispielsweise ein Tool zum Lesen von Dateien bereitstellen. Wenn der Zugriff jedoch auf ein übergeordnetes Verzeichnis beschränkt sein soll, wie stellen Sie sicher, dass Ihr Code nicht versehentlich für den klassischen Pfad-Traversal-Angriff mit ../ anfällig ist?
Wie kommunizieren MCP-Server und -Client miteinander?
Das Datenaustauschformat basiert auf JSON-RPC 2.0 und einer detaillierten MCP-Spezifikation, die ein optimales Kommunikationsprotokoll für LLMs und KI-basierte Workflows standardisiert.
Das JSON-RPC-Kommunikationsprotokoll kann über einen von zwei Kommunikationstypen zwischen MCP-Server und MCP-Client eingerichtet werden:
Standard-E/A eines Systemprozesses – Damit MCP-Server lokal ausgeführt werden können, was unter anderem Vorteile für Sicherheit und Datenschutz sowie bei der Latenz bietet, wird bei diesem Kommunikationskanal ein Systemprozess gestartet (z. B.
npx <mcp-server>). Solange der Prozess läuft, werden Daten und Befehle über diestdout-,stdio- undstderr-Kanäle des Prozesses ausgetauscht.HTTP-Netzwerk mit Server-Sent Events (SSE) – Dieser Kommunikationsweg wurde in erster Linie für die Kommunikation mit remote bereitgestellten MCP-Servern entwickelt, die eine KI-gestützte Anwendung erweitern können.
Kann der MCP-Server Daten bereitstellen?
Ja. MCP-Server stellen nicht nur abstrakte Tools bereit, also allgemeine Funktionsgruppen, sondern können auch gezielt Datenquellen definieren und darüber hinaus Prompts vorschlagen, die LLMs als Prompt Engineering-Technik nutzen können, um Aktionen auszuführen und Daten zu sammeln.
MCP-Server können die folgenden Funktionen bereitstellen und damit die Möglichkeiten von LLMs erweitern:
MCP-Ressourcen – Ressourcen sind grundsätzlich verschiedene Datenquellen, die LLMs zur Verfügung gestellt werden können. Ein MCP-Server kann beispielsweise den Inhalt einer Datei oder eine Dateiliste in einem Verzeichnis als Datenressource für ein LLM bereitstellen. MCP-Ressourcen lassen sich als eine Art RAG verstehen, die die Datenquellen des LLM zusätzlich anreichert und erweitert.
MCP-Prompts – Nutzer von KI-gestützten Anwendungen kennen möglicherweise nicht alle verfügbaren Funktionen. MCP-Server können daher Text-Prompts bereitstellen, die MCP-Clients anhand ihrer semantischen Bedeutung an Endnutzer zurückgeben. So können Nutzer diese Prompts direkt verwenden, um bestimmte Aktionen auszuführen oder Daten abzurufen.
MCP-Tools – Der wohl beliebteste Anwendungsfall für MCP-Server: LLMs können damit Aktionen ausführen. Vor MCP konnten LLMs zwar Texte als Antwort generieren, aber nicht im Web suchen. Sie hatten keinen Zugriff auf Funktionen, mit denen sie Aktionen ausführen konnten. Das änderte sich mit der Einführung von MCP (genauer gesagt mit OpenAIs Vorläufer von MCP, dem Function Calling). MCP-Server können jetzt eine ganze Aktion implementieren, etwa die Hand eines Roboters steuern oder in ein Suchfeld im Browser tippen, und diese Funktion dem LLM bereitstellen, das die Aktion dann auslösen kann.
Wie kann ich die Kommunikation zwischen MCP-Server und -Client debuggen?
Entwickler, die einen MCP-Server erstellen und über den HTTP-Transport implementieren, können wie gewohnt Ausgaben in der Konsole protokollieren. Bei der prozessinternen STDIO-Übertragung (Standard Input/Output) von MCP-Servern funktioniert das jedoch nicht, da die STDIO-Kanäle ausschließlich für das Protokoll verwendet werden. Außerdem wird der MCP-Server als Unterprozess des MCP-Hosts ausgeführt und nicht als Befehlszeilentool, mit dem Sie normalerweise in einer Shell (technisch gesehen einem TTY) interagieren würden.
Claude empfiehlt vor allem die folgenden Methoden und Tools zum Debuggen eines MCP-Servers:
Der MCP Inspector – Der MCP Inspector ist ein spezielles Befehlszeilentool, das die Kommunikation zwischen MCP-Client und MCP-Server abfängt. Damit können Sie den Kommunikationskanal untersuchen und debuggen sowie Informationen und Erkenntnisse nachverfolgen und abrufen. Ein Beispiel für die Verwendung des JavaScript-MCP-Inspectors, der über die npm-Registry verfügbar ist:
npx @modelcontextprotocol/inspector <command> <arg1> <arg2>Hinweis: Für Entwickler, die MCP-Server in Python erstellen, gibt es auch ein PyPI-Paket.
Protokollierung – Eine hilfreiche Vorgehensweise ist die Nutzung einer speziellen Protokollierungslösung, etwa eines lokalen Dateisystems für Protokolle oder eines netzwerkbasierten Remote-Protokollierungsdienstes. Damit können Informationen von HTTP-basierten ebenso wie von STDIO-basierten MCP-Servern erfasst werden. Insbesondere bei der Kommunikation über STDIO sind Dateiprotokolle für MCP-Server besonders leicht zugänglich und relevant.
Wie unterscheidet sich MCP von den Tools von OpenAI?
Tools, in anderen APIs und Frameworks auch als Function Use bezeichnet, ermöglichen agentische Workflows, indem sie dem Modell ausführbare Funktionen bereitstellen. Tools sind Implementierungsdetails, während das Model Context Protocol eine übergeordnete Spezifikation ist, die Regeln und Standards für die Definition solcher Tools und Funktionen festlegt.
Ist MCP mit GraphQL vergleichbar?
Als MCP angekündigt wurde und an Popularität gewann, diskutierten Entwickler, ob damit im Grunde GraphQL neu erfunden würde – eine Alternative zu RESTful APIs sowie eine auf JSON-RPC basierende Kommunikations- und Abfragesprache. Es gibt zwar Ähnlichkeiten, MCP soll GraphQL jedoch weder ersetzen noch nachbilden oder darauf aufbauen.
MCP wurde gezielt entwickelt, um das autonome Verhalten von LLMs und die verfügbaren Daten zu nutzen und zu erweitern. Vor LLMs mussten Entwickler für OpenAI- und agentische KI-Workflows mit Function Calling oder Tool Calling solche Funktionen ohne standardisierte Schnittstelle erstellen. Wie diese aussah, blieb ihnen überlassen, und auch die Auffindbarkeit hing vom jeweiligen Modell und Framework ab. MCP löste dieses Problem und bietet eine standardisierte Kommunikationsplattform, die durch Funktionen zur automatischen Erkennung erweiterte Aktionen und Daten bereitstellt.
Möchten Sie mehr darüber erfahren, wie Sie Ihre Anwendungen mit KI entwickeln können? Entdecken Sie 10 Best Practices für die sichere Entwicklung mit KI.
Best Practices für sichere Entwicklung mit KI
10 Tipps, wie Entwickler und Sicherheitsexperten potenzielle Risiken wirksam mindern und gleichzeitig die Vorteile der KI-gestützten Entwicklung voll ausschöpfen können.