MCP: Model Context Protocol

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

Logo

Bereit, Ihr Geschäft zu erweitern?

Starten Sie heute Ihre kostenlose Testversion und sehen Sie innerhalb weniger Tage Ergebnisse.

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

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.

Mehr erfahren

Entwicklungsleitfaden für MCP-Server
Entwicklungsleitfaden für MCP-Server

Entwicklungsleitfaden für MCP-Server

Erfahren Sie, wie Sie einen Model Context Protocol (MCP)-Server erstellen und bereitstellen, um KI-Modelle mit externen Tools und Datenquellen zu verbinden. Sch...

15 Min. Lesezeit
AI Protocol +4
ModelContextProtocol (MCP) Server-Integration
ModelContextProtocol (MCP) Server-Integration

ModelContextProtocol (MCP) Server-Integration

Der ModelContextProtocol (MCP) Server fungiert als Brücke zwischen KI-Agenten und externen Datenquellen, APIs und Diensten und ermöglicht FlowHunt-Nutzern den A...

4 Min. Lesezeit
AI Integration +4