Seit der Einführung durch Anthropic im November 2024
hat sich das Model Context Protocol (MCP)
zu einem vielversprechenden Standard entwickelt, der die Art und Weise revolutioniert, wie KI-Anwendungen mit externen Datenquellen und Werkzeugen kommunizieren. Dieser Artikel bietet einen technischen Überblick über MCP, beleuchtet dessen Anwendungsmöglichkeiten und analysiert kritisch die bestehenden Sicherheitsherausforderungen.
Was ist das Model Context Protocol?
Das Model Context Protocol (MCP) ist ein offener Standard, der eine universelle Schnittstelle für die nahtlose Integration zwischen Large Language Models (LLMs) und externen Datenquellen oder Werkzeugen bietet. Häufig als “USB-C-Schnittstelle für KI-Anwendungen” bezeichnet, schafft MCP eine standardisierte Methode, um KI-Modellen den Kontext zu geben, den sie für fundierte Antworten benötigen.
Vor MCP stellte die Integration von KI-Systemen mit externen Datenquellen ein klassisches “M×N-Problem” dar: Bei M verschiedenen KI-Anwendungen (Chatbots, Agenten, etc.) und N verschiedenen Tools (GitHub, Slack, Datenbanken, etc.) müssten potenziell M×N unterschiedliche Integrationen entwickelt werden. MCP transformiert dies in ein “M+N-Problem”, indem es einen gemeinsamen Standard für alle Integrationen bereitstellt.
Toolanbindung vor MCP
Und noch besser: die Tool-spezifische Integration erfolgt auf der Seite des Tool-Bereitstellers und nicht wie bisher auf der Seite des Verwenders. Der Chatbot oder Agent kann also mithilfe des MCP-Clients und des standardisierten MCP-Protokolls alle Arten an Tools auf die gleiche Art und Weise ansprechen, egal ob es sich um eine Datenbank, die Wettervorhersage oder einen Bildgenerierungsservice handelt.
Toolanbindung mit MCP
Bei all diesen Vorteilen ist es kein Wunder, dass sich das Model Context Protocol (MCP) bei den Entwicklern von KI-Systemen und Serviceanbietern gleichermaßen rasant verbreitet hat.
Technische Architektur
Die MCP-Architektur besteht aus drei Hauptkomponenten:
Hosts: Anwendungen, mit denen Benutzer interagieren (z.B. Claude Desktop, Cursor IDE, benutzerdefinierte Agenten) - bitte nicht verwechseln mit dem Mainframe ;-)
Clients: Komponenten innerhalb der Host-Anwendung, die die Verbindung zu einem spezifischen MCP-Server verwalten
Server: Externe Programme, die Werkzeuge, Ressourcen und Vorlagen über eine standardisierte API für KI-Modelle bereitstellen
MCP-Server bieten dabei folgende Funktionen:
Tools: Funktionen, die LLMs aufrufen können, um bestimmte Aktionen auszuführen
Resources: Datenquellen, auf die LLMs zugreifen können, ähnlich wie GET-Endpunkte in einer REST-API
Prompts: Vordefinierte Vorlagen zur optimalen Nutzung von Tools oder Ressourcen
Das Protokoll verwendet JSON-RPC 2.0-Nachrichten
zur Kommunikation zwischen den Komponenten und unterstützt zustandsbehaftete Verbindungen sowie Server- und Client-Funktionalitätsverhandlung.
Anwendungsmöglichkeiten
Man kann beliebige Host-Anwendungen, Chatbots und agentische Systemen nahezu ohne Aufwand mit beliebigen zusätzlichen Funktionen ausstatten. Kurz: “the possibilities are endless”. Wir wollen daher im Folgenden nur exemplarisch typische Anwendungsfälle im Kontext von Chatbots und Agenten nennen.
Praktische Anwendungsbeispiele für Chatbots
MCP ermöglicht vielfältige Anwendungen für Chatbots und agentische Systeme:
Datenbankintegration: Ein Chatbot kann über MCP direkt auf Unternehmensdatenbanken zugreifen, um Echtzeitinformationen in seine Antworten einzubeziehen
Dokumentenmanagement: KI-Assistenten können Dokumente nicht nur lesen, sondern auch erstellen und in Repositories speichern
Multi-Tool-Integration: Agenten können dynamisch zwischen verschiedenen Tools wechseln, z.B. von einer Vektordatenbank zu einem Websuchwerkzeug, je nach Anforderung der Anfrage
Persistentes Gedächtnis: Durch MCP-Server können KI-Systeme Konversationskontexte über Sessions hinweg speichern und abrufen
Ein konkretes Beispiel zeigt Anthropic in einem Video
, in dem ein Benutzer im Dialog mit dem Claude Desktop-Chatbot eine HTML-Seite als Artefakt erstellt und diese dann direkt unter Verwendung eines Github-MCP-Servers in einem GitHub-Repository ablegt.
Integration mit Retrieval-Augmented Generation (RAG)
Eine der mächtigsten Anwendungen von MCP ist die Integration mit Retrieval-Augmented Generation (RAG)
-Systemen. RAG kombiniert Sprachmodelle mit externem Wissensabruf, wodurch die Antworten des Modells in aktuellen Fakten verankert sind. MCP ermöglicht hier eine standardisierte Verbindung zu verschiedenen Wissensquellen.
Beim “Agentic RAG”-Ansatz wird ein KI-Agent integriert, der mehrere Schritte orchestrieren kann:
Der Agent empfängt die Benutzeranfrage und plant den Abrufprozess
Über MCP-Server werden gezielt relevante Datenquellen abgefragt
Der Agent kann iterativ weitere Abfragen durchführen, um die Ergebnisse zu verfeinern
Die abgerufenen Informationen werden in den Kontext des LLM eingebettet
Das LLM generiert eine fundierte Antwort basierend auf dem angereicherten Kontext
Diese Architektur befähigt KI-Agenten, aktiv mit Daten zu interagieren, anstatt nur passive Abrufe durchzuführen, was zu präziseren und kontextbezogenen Ergebnissen führt.
Sicherheitsherausforderungen des aktuellen Designs
Doch wo Licht ist, ist auch Schatten. Oder wie es Elena Cross
ausdrückt: “Das ‘S’ in MCP steht für Sicherheit”. Trotz seiner technologischen Vorteile weist MCP in seiner aktuellen Form erhebliche Sicherheitslücken
auf. Unter anderem konnte gezeigt werden, wie man beispielsweise die WhatsApp Nachrichtenhistorie
durch den vertrauenswürdigen WhatsApp-MCP-Server exfiltrieren kann, wenn am gleichen Host auch ein nicht-vertrauenswürdiger MCP-Server angebunden ist, der die Verwendung des WhatsApp-MCP-Server manipuliert.
Tool Poisoning-Angriffe
Eine der alarmierendsten Sicherheitslücken ist das sogenannte “Tool Poisoning”. Hierbei werden bösartige Anweisungen in der Beschreibung eines MCP-Tools versteckt – unsichtbar für den Benutzer, aber vom KI-Modell gelesen und befolgt.
Forscher haben demonstriert, wie ein scheinbar harmloses Tool (z.B. eine add(a,b)-Mathefunktion) geheime Anweisungen enthalten kann, die das KI-System dazu bringen, sensible Dateien wie SSH-Schlüssel oder Konfigurationsdaten preiszugeben. Da aktuelle MCP-Agenten diese versteckten Anweisungen blind befolgen, könnte ein Nutzer denken, er führt eine einfache Addition durch, während der Agent im Hintergrund Geheimnisse stiehlt.
“Rug Pull” Tool-Neudefinition
MCP-Tools können sich nach der Installation dynamisch ändern, was ein “Rug Pull”-Szenario ermöglicht. Ein ursprünglich gutartiges Tool kann seinen Code oder seine Beschreibung bei einem Update stillschweigend zu einem bösartigen verändern, ohne dass der Benutzer dies bemerkt.
Dem MCP-Design fehlt ein integrierter Integritätscheck oder Signaturmechanismus, um solche Manipulationen zu erkennen. Dies ist vergleichbar mit einem Software-Supply-Chain-Angriff, bei dem ein vertrauenswürdiges Paket gehackt und mit Malware aktualisiert wird.
Cross-Server-Tool-Shadowing
Wenn ein KI-Agent mit mehreren MCP-Servern verbunden ist (ein übliches Szenario), kann ein bösartiger Server die Tool-Beschreibung eines anderen überlagern und dadurch unerwünschtes Verhalten erzwingen, z.B. sensible Daten zu exfiltrieren. Dies ermöglicht Authentication-Hijacking, bei dem Anmeldeinformationen von einem Server heimlich an einen anderen weitergegeben werden. Außerdem können Angreifer auf diese Weise Regeln und Anweisungen anderer Server außer Kraft setzen, um den Agenten zu einem bösartigen Verhalten zu bewegen, selbst wenn er nur mit vertrauenswürdigen Servern interagiert.
Das zugrundeliegende Problem besteht darin, dass ein Agentensystem allen konfigurierten MCP-Servern und ihren jeweiligen Tool-Beschreibungen ausgesetzt ist, was es einem bösartigen Server ermöglicht, manipulative Anweisungen einzuschleusen.
Beispielsweise könnte ein bösartiger Server ein gefälschtes “Additions”-Tool registrieren, das heimlich das Verhalten eines vertrauenswürdigen E-Mail-Versand-Tools verändert, indem es vorschreibt, dass alle E-Mails an eine bestimmte Adresse geschickt werden müssen. Da der Agent alle Tool-Beschreibungen in seinen Kontext zusammenführt, kann das LLM nicht unterscheiden, welchen “Regeln” es vertrauen soll, da ihm alle Regeln in seinem Kontext “gleichberechtigt” erscheinen.
Weitere Sicherheitsrisiken
Zusätzlich sind auch MCP-Server von klassischen Sicherheitsproblemen betroffen:
Command Injection & RCE: nach einer aktuellen Studie von equixly
sind viele MCP-Server-Implementierungen durch unsichere Code-Ausführung verwundbar, wobei “über 43% der getesteten MCP-Server unsichere Shell-Aufrufe” aufwiesen
Token-Diebstahl: MCP-Server speichern oft Authentifizierungs-Tokens für Dienste, die bei einer Kompromittierung gestohlen werden können
Übermäßige Berechtigungen: MCP-Server fordern typischerweise sehr breite Zugriffsrechte an, was im Falle einer Kompromittierung zu erheblichen Sicherheitsrisiken führt
Mangelnde Benutzer-Transparenz: Benutzer sehen nicht die vollständigen internen Prompts oder Tool-Anweisungen, die das LLM sieht
Lösungsansätze für Sicherheitsprobleme
Um die Sicherheitsrisiken von MCP zu adressieren, werden verschiedene Ansätze diskutiert. Im Folgenden haben wir
einige interessante Initiativen aufgeführt.
Trusted Execution Environments (TEE)
Ein vielversprechender Ansatz ist die Nutzung von Trusted Execution Environments (TEE)
– sicheren Enklaven, die Code isoliert vom Host-System ausführen können. TEEs (wie Intel SGX, AMD SEV oder AWS Nitro Enclaves) bieten Integrität und Vertraulichkeit für die verarbeiteten Daten.
Die Anwendung von TEE-Technologie auf MCP könnte mehrere Schwachstellen auf verschiedenen Ebenen mindern:
Härtung von MCP-Servern: Durch die Ausführung von MCP-Servern innerhalb einer TEE kann das Risiko von Token-Diebstahl oder unbefugten Änderungen erheblich reduziert werden
Beglaubigung und Vertrauen auf Protokollebene: Das MCP-Protokoll könnte um einen Beglaubigungs- oder Signaturschritt beim Verbinden mit einem Server erweitert werden
Vertrauliche Kontext- und Datenverarbeitung: TEEs können nicht nur den Code, sondern auch die über MCP fließenden Daten schützen
Sichere Authentifizierung und Autorisierung
Cisco
und Microsoft
empfehlen folgende Sicherheitsmaßnahmen:
Standardisierte Protokolle: Verwendung etablierter Protokolle wie OAuth 2.0/2.1 oder OpenID Connect
Sichere Token-Handhabung: Verwendung von JWTs mit Ablauf und Token-Rotation
Implementierung von Autorisierungsprüfungen: Verwendung von rollenbasierter Zugriffskontrolle (RBAC) und Zugriffskontrolllisten (ACLs)
Erkennung und Filterung: Algorithmen zur Erkennung und Filterung bösartiger Anweisungen, z.B. Microsoft “AI Prompt Shields”
oder “Lakera Guard”
Spotlighting: Transformation des Eingabetexts, um vertrauenswürdige von nicht vertrauenswürdigen Eingaben zu unterscheiden
Begrenzungen und Datenmarkierung: Explizite Kennzeichnung der Grenzen zwischen vertrauenswürdigen und nicht vertrauenswürdigen Daten
Best practices für den Einsatz von MCP
Für Unternehmen, die MCP in ihre Systeme integrieren möchten, gibt es einige bewährte Praktiken
Zero-Trust-Architektur: Behandlung jeder Komponente als potenziell nicht vertrauenswürdig, mit konsequenter Überprüfung aller Anfragen
Sicheres Coding: Schutz gegen OWASP Top 10 und OWASP Top 10 für LLMs
Server-Härtung: Verwendung von MFA, regelmäßige Patches, Integration mit Identitätsanbietern
Sicherheitsüberwachung: Implementierung von Logging und Monitoring mit zentraler SIEM-Integration
Einwilligung und Kontrolle der Benutzer: Benutzer müssen allen Datenzugriffen und -operationen ausdrücklich zustimmen und die Kontrolle behalten
Integration in Governance-Frameworks: Einbindung der MCP-Sicherheit in bestehende Governance- und Compliance-Strategien
Diese Liste ist sicher nicht vollständig, aber sie zeigt, dass der Einsatz von MCP eine sorgfältige und umfassende Sicherheitsbetrachtung erfordert.
Viele der Punkte kennen wir bereits aus bisherigen Projekten.
Doch nun - frisch ans Werk!
Nun ist es Zeit, MCP selbst auszuprobieren. Dafür brauchen wir zunächst einen geeigneten Host,
z.B. Claude Desktop für Windows, der bereits einen MCP-Client integriert hat.
Dann benötigen wir einen MCP-Server für einen Dienst, den wir in Claude Desktop zur Verfügung
stellen wollen. In unserem Fall haben wir uns für den in Python geschriebenen
offiziellen Elevenlabs-MCP-Server
entschieden, den wir unter Windows im Windows Subsystem
for Linux (WSL) betreiben wollen. Als konkrete Umgebung verwenden wir WSL2 mit einem
Ubuntu 22.04 als Distribution.
Elevenlabs API-Key
Wir benötigen einen Elevenlabs API-Key, den man ganz einfach erzeugen
kann.
MCP-Server installieren (WSL)
Falls der Python Package Manager uv noch nicht vorhanden ist,
muss dieser installiert
werden.
# in unserem Fall in $HOME/projectsgit clone https://github.com/elevenlabs/elevenlabs-mcp.git
# ins Verzeichnis wechselncd elevenlabs-mcp
# testweiser Start des MCP-Servers (ohne ELEVENLABS_API_KEY)uv run elevenlabs_mcp
# ... scheitert wie erwartet mit 'Error: ElevenLabs API key is required.'
Ok, die WSL-Seite ist nun vorbereitet.
Claude Desktop (Windows)
Im Claude-Desktop müssen wir nun unseren Server in die Konfigurationsdatei eintragen.
Unter Datei/Einstellungen/Entwickler/Konfiguration bearbeiten können wir ins Verzeichnis
der claude_desktop_config.json gelangen und die Datei in einem Editor öffnen.
Hier wird in der WSL-Distro der User alex mit dem Home-Dir /home/alex verwendet.
wir starten wsl (Default-Distro) für den Benutzer alex mit wsl.exe --user alex
per bash --login laden wir die Umgebungsvariablen des Benutzers
trotzdem müssen wir zuerst per cd in das MCP-Server-Verzeichnis wechseln
dann starten wir den Server mit uv run und geben den API-Key “inline” per Environment-Variable mit
Nun können wir Claude Desktop neu starten (vorher per Rechtsklick auf das Claude-Symbol im Tray dann Klick “Beenden” wirklich beenden!). Wenn alles geklappt hat,
sollte nun im Chat-Fenster eine entsprechende Meldung erscheinen, dass die MCP-Server geladen wurden
und der MCP-Server sollte unter Suche und Werkzeuge erscheinen. Hier kann man auswählen, welche der
zur Verfügung gestellten Werkzeuge dem Sprachmodell angeboten werden sollen.
Claude Desktop mit Elevenlabs MCP
Im Chat stehen nun die Elevenlabs-Funktionen zur Verfügung. Viel Spaß beim Ausprobieren!
Hinweis: wenn z.B. eine Sprachdatei
generiert wurde und es heisst, dass sie unter “Desktop” gespeichert wurde, so meint das in unserem Fall
das Verzeichnis /home/alex/Desktop unter WSL.
Fazit und Ausblick
Das Model Context Protocol stellt einen bedeutenden Fortschritt in der Standardisierung von KI-Integrationen dar. Es bietet ein enormes Potenzial für Chatbots und agentische Systeme, indem es die Verbindung zu externen Datenquellen und Tools vereinfacht und standardisiert. Obwohl es noch kein
offiziell verabschiedeter Standard ist, wird es schon breit eingesetzt und das Angebot an MCP-Servern im modelcontextprotocol Repository
, mcpservers.org
oder der Sammlung Awesome MCP Servers
ist nahezu unüberschaubar.
Die aktuellen Sicherheitsherausforderungen sind jedoch erheblich und erfordern sorgfältige Beachtung. Für den erfolgreichen Einsatz in Unternehmensumgebungen müssen robuste Sicherheitsmaßnahmen implementiert werden, um Risiken wie Tool Poisoning, Rug Pull-Angriffe und andere Sicherheitslücken zu mindern.
Die Zukunft von MCP hängt u.a. davon ab, wie sich diese Sicherheitsherausforderungen lösen lassen. Mit dem Aufkommen von Technologien wie TEEs und verbesserten Protokollspezifikationen könnte MCP zu einem sicheren und unverzichtbaren Baustein in der KI-Landschaft werden. Unternehmen und Entwickler sollten die Entwicklung des Protokolls genau verfolgen und bewährte Sicherheitspraktiken frühzeitig in ihre MCP-Implementierungen integrieren.
Wir verfolgen die Entwicklungen rund um MCP im Lab sehr intensiv, verproben kontinuierlich neue, innovative UseCases mit MCP und setzen das Protokoll mit gebotener Umsicht bereits in einigen unserer Lösungen ein.
Alex Bloss - Leiter attempto-Lab.
Kreativer Kopf, Innovator, kritischer Denker, Entwickler, praktischer Architekt, CTO, Trend Scout und neugieriger Entdecker mit mehr als zwanzig Jahren Erfahrung.
Welche Auswirkungen hat die KI auf die Arbeit agiler Teams in der Software-Entwicklung? Werden wir durch Tools ergänzt oder übernimmt Agent Smith? Wir verschaffen uns einen Überblick über die aktuelle Entwicklung und Trends in der KI und wie agentenbasierten Workflows unsere Arbeit verändern könnten.
Die attempto Akademie bietet eine umfassende KI-Basisschulung, die rechtliche, praktische und ethische Aspekte des EU AI Acts abdeckt. Mit praxisnahen Workshops und Mentoring-Programmen bereitet sie Unternehmen auf die Zukunft der KI vor.