MCP: Model Context Protocol
MCP standardisiert den sicheren LLM-Zugriff auf externe Daten, Werkzeuge und Plugins und ermöglicht flexible, leistungsstarke KI-Integration und Interoperabilität.
Definition
Das Model Context Protocol (MCP) ist eine offene Standard-Schnittstelle, die es großen Sprachmodellen (LLMs) ermöglicht, sicher und konsistent auf externe Datenquellen, Werkzeuge und Funktionen zuzugreifen. Es etabliert eine standardisierte Kommunikationsschicht zwischen KI-Anwendungen und verschiedenen Kontextanbietern und dient als „USB-C“ für KI-Systeme.
Hauptkomponenten
Architektur
MCP folgt einer Client-Server-Architektur:
- MCP Hosts: Anwendungen, in denen Benutzer oder KI-Systeme interagieren (z. B. Claude Desktop, IDE-Plugins)
- MCP Clients: Komponenten innerhalb der Host-Anwendungen, die die Kommunikation mit Servern abwickeln
- MCP Server: Schlanke Programme, die spezifische Fähigkeiten (Dateizugriff, Datenbankverbindungen, API-Zugriff) über die standardisierte MCP-Schnittstelle bereitstellen
- Datenquellen: Lokale oder entfernte Informationsquellen, auf die MCP-Server sicher zugreifen können
Grundlegende Bausteine
MCP definiert drei grundlegende Bausteine, die das Fundament des Protokolls bilden:
1. Ressourcen
Ressourcen repräsentieren Daten und Inhalte, die MCP-Server LLMs zur Verfügung stellen.
- Eigenschaften: Durch die Anwendung kontrolliert, eindeutig durch URIs identifiziert
- Datentypen: Text (UTF-8 kodiert) oder Binär (Base64 kodiert)
- Entdeckungsmethoden: Direkte Auflistung oder Vorlagen für dynamische Ressourcenanfragen
- Operationen: Lesen von Inhalten, Empfang von Aktualisierungen
Beispielanwendung: Ein MCP-Server stellt eine Logdatei als Ressource mit der URI file:///logs/app.log
bereit
2. Prompts
Prompts sind vordefinierte Vorlagen oder Workflows, die Server anbieten, um die Interaktion mit LLMs zu steuern.
- Eigenschaften: Vom Benutzer ausgelöst, erscheinen häufig als Slash-Befehle
- Struktur: Eindeutiger Name, Beschreibung, optionale Argumente
- Fähigkeiten: Akzeptieren Anpassungsargumente, Einbindung von Ressourcen-Kontext, Definition mehrstufiger Interaktionen
- Operationen: Entdeckung durch Auflistung, Ausführung auf Anfrage
Beispielanwendung: Ein Prompt zur Generierung einer Git-Commit-Nachricht, der Codeänderungen als Eingabe akzeptiert
3. Werkzeuge
Werkzeuge bieten ausführbare Funktionen, die von LLMs (meist mit Nutzerfreigabe) aufgerufen werden können, um Aktionen auszuführen.
- Eigenschaften: Vom Modell gesteuert, erfordern klar definierte Eingabemodelle
- Anmerkungen: Enthalten Hinweise zum Verhalten (nur lesend, destruktiv, idempotent, open-world)
- Sicherheitsmerkmale: Eingabevalidierung, Zugriffskontrolle, klare Nutzerwarnungen
- Operationen: Entdeckung durch Auflistung, Ausführung durch Aufrufe mit Parametern
Beispielanwendung: Ein Rechner-Tool, das mathematische Operationen mit vom Modell bereitgestellten Eingaben durchführt
Bedeutung und Vorteile
Für Entwickler
- Standardisierte Integration: KI-Anwendungen mit verschiedenen Datenquellen verbinden, ohne für jede eine eigene Anbindung zu entwickeln
- Bestehende Sicherheitspraktiken: Eingebaute Richtlinien für den sicheren Umgang mit sensiblen Informationen
- Vereinfachte Architektur: Klare Trennung zwischen KI-Modellen und deren Kontextquellen
Für Nutzer und Organisationen
- Flexibilität: Einfacher Wechsel zwischen verschiedenen LLM-Anbietern oder Host-Anwendungen
- Interoperabilität: Weniger Anbieterbindung dank standardisierter Schnittstellen
- Erweiterte Fähigkeiten: KI-Systeme erhalten Zugang zu vielfältigeren Informationen und Aktionsmöglichkeiten
Implementierungsbeispiele
Dateiresourcen-Server
// Server, der eine einzelne Logdatei als Ressource bereitstellt
const server = new Server({ /* config */ }, { capabilities: { resources: {} } });
// Listet verfügbare Ressourcen auf
server.setRequestHandler(ListResourcesRequestSchema, async () => {
return {
resources: [
{
uri: "file:///logs/app.log",
name: "Anwendungsprotokolle",
mimeType: "text/plain"
}
]
};
});
// Stellt den Inhalt der Ressource bereit
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
if (request.params.uri === "file:///logs/app.log") {
const logContents = await readLogFile();
return {
contents: [{
uri: request.params.uri,
mimeType: "text/plain",
text: logContents
}]
};
}
throw new Error("Ressource nicht gefunden");
});
Rechner-Tool-Server
const server = new Server({ /* config */ }, { capabilities: { tools: {} } });
// Listet verfügbare Werkzeuge auf
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [{
name: "calculate_sum",
description: "Addiere zwei Zahlen",
inputSchema: {
type: "object",
properties: {
a: { type: "number", description: "Erste Zahl" },
b: { type: "number", description: "Zweite Zahl" }
},
required: ["a", "b"]
},
annotations: {
title: "Summe berechnen",
readOnlyHint: true,
openWorldHint: false
}
}]
};
});
// Bearbeitet die Ausführung des Werkzeugs
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "calculate_sum") {
try {
const { a, b } = request.params.arguments;
if (typeof a !== 'number' || typeof b !== 'number') {
throw new Error("Ungültige Eingabe: 'a' und 'b' müssen Zahlen sein.");
}
const sum = a + b;
return {
content: [{ type: "text", text: String(sum) }]
};
} catch (error: any) {
return {
isError: true,
content: [{ type: "text", text: `Fehler beim Berechnen der Summe: ${error.message}` }]
};
}
}
throw new Error("Werkzeug nicht gefunden");
});
Verwandte Konzepte
- LLM-Funktionsaufrufe: Das Model Context Protocol bietet einen standardisierten Ansatz für das Aufrufen von Funktionen durch LLMs
- KI-Agenten: MCP bietet eine strukturierte Möglichkeit für agentenbasierte KI-Systeme, auf Werkzeuge und Informationen zuzugreifen
- KI-Plugins: Ähnlich wie Browser-Erweiterungen können MCP-Server als „Plugins“ betrachtet werden, die die Fähigkeiten von KI erweitern
Zukünftige Entwicklungen
- Enterprise-KI-Integration: Verbindung von Unternehmenswissen, Werkzeugen und Workflows
- Multimodale KI: Standardisierung des Zugriffs auf verschiedene Datentypen über Text hinaus
- Kollaborative KI-Systeme: Ermöglichen, dass KI-Assistenten über gemeinsame Protokolle zusammenarbeiten
Häufig gestellte Fragen
- Was ist das Model Context Protocol (MCP)?
MCP ist eine offene Standard-Schnittstelle, die es LLMs ermöglicht, sicher und konsistent auf externe Datenquellen, Werkzeuge und Funktionen zuzugreifen und eine standardisierte Kommunikationsschicht zwischen KI-Anwendungen und Kontextanbietern schafft.
- Was sind die wichtigsten Komponenten von MCP?
MCP besteht aus Hosts, Clients, Servern und Datenquellen. Es nutzt zentrale Grundbausteine – Ressourcen, Prompts und Werkzeuge –, um flexible und sichere Interaktionen zwischen LLMs und externen Systemen zu ermöglichen.
- Welche Vorteile bietet MCP für Entwickler und Unternehmen?
MCP vereinfacht die KI-Integration, erhöht die Sicherheit, reduziert die Anbieterbindung und ermöglicht Entwicklern sowie Unternehmen einen nahtlosen Zugang zu unterschiedlichen Informationen und Werkzeugen.
- Wie wird MCP in realen Anwendungen implementiert?
MCP kann über Server implementiert werden, die Ressourcen oder Werkzeuge (z. B. Logdateizugriff, Rechner-Tools) über eine standardisierte Schnittstelle bereitstellen und so die Verbindung mit KI-Modellen vereinfachen.
- Wie hängt MCP mit LLM-Funktionsaufrufen und KI-Plugins zusammen?
MCP standardisiert den Prozess, wie LLMs externe Funktionen oder Werkzeuge aufrufen – ähnlich wie Plugins die Fähigkeiten von Browsern oder Software erweitern.
Teste FlowHunt und entwickle eigene KI-Lösungen
Beginne mit dem Aufbau leistungsstarker KI-Systeme durch standardisierte Integrationen, sicheren Datenzugriff und flexible Tool-Anbindung mit FlowHunt.