Model Context Protocol in ADK-Rust

Das Model Context Protocol (MCP) bildet die Grenze zwischen einer KI-Anwendung und einer unabhängig betriebenen Fähigkeit. Ein MCP-Server kann Tools, lesbare Ressourcen, Prompt-Vorlagen und die Vervollständigung von Argumenten veröffentlichen. Der Client ermittelt diesen Katalog und kommuniziert über ausgehandelte Protokollmethoden statt über eine private Integration.

ADK-Rust 2 verwendet das offizielle rmcp 3.1 SDK. Der Client handelt standardmäßig MCP 2025-11-25 aus und erreicht 2026-07-28-Server über deren Legacy-Handshake. Siehe rmcp-Kompatibilität.

Wo ADK-Rust zum Einsatz kommt

Rendering architecture…

McpToolset passt eine initialisierte MCP-Clientverbindung an ADK-Rust an. McpServerManager verwaltet eine sich verändernde Registrierung lokaler stdio-Kinderprozesse und aggregiert deren Tools. Anwendungen, die Fähigkeiten veröffentlichen, können mit adk_tool::mcp::rmcp MCP-Server erstellen, wobei dies exakt die vom Framework verwendete SDK-Version ist.

Die richtige Schnittstelle auswählen

Sie müssenVerwendenZuständigkeit
Einen bekannten lokalen Server verbindenMcpToolset + TokioChildProcessDie Anwendung startet den untergeordneten Prozess
Eine entfernte MCP-Dienstleistung verbindenMcpHttpClientBuilderDie entfernte Bereitstellung ist für die Verfügbarkeit zuständig
Definitionen lokaler Server zur Laufzeit ändernMcpServerManagerDie Anwendung besitzt eine lokale Registrierung und untergeordnete Prozesse
Einen MCP-Server veröffentlichenadk_tool::mcp::rmcpIhr Dienst besitzt Schemata, Autorisierung und Seiteneffekte
Eine veraltete Sampling-Integration funktionsfähig haltenmcp-sampling FunktionNur Kompatibilität unter SEP-2577

Implementierte Fähigkeitsübersicht

FähigkeitADK-Rust APIVerhalten
Ermittlung und Aufrufe von ToolsMcpToolset, ToolsetRohe Schemata und multimodale Ergebnisse bleiben erhalten
Tool-Filterungwith_filter, with_toolsDas Modell sieht nur ausgewählte Tools
Ressourcen und Vorlagenlist_resources, list_resource_templates, read_resourceKontext über stabile URIs lesen
Eingabeaufforderungenlist_prompts, get_promptWiederverwendbare serverseitige Nachrichten auflösen
Vervollständigungcomplete_prompt_argument, complete_resource_argumentDen Server nach Argumentvorschlägen fragen
Ressourcenabonnementssubscribe_resource, unsubscribe_resourceBenutzerdefinierte Handler erhalten Benachrichtigungen über Aktualisierungen
AnforderungElicitationHandlerFormular- und URL-Modi
AufgabenMcpTaskConfigAusgehandelte Erstellung, Abfrage, Ergebnis und Abbruch von Tool-Aufgaben
Streambare HTTPMcpHttpClientBuilderTimeouts, Header, Authentifizierungsinjektion, Wiederherstellung abgelaufener Sitzungen
Dynamische lokale RegistryMcpServerManagerHinzufügen, Aktualisieren, Aktivieren, Deaktivieren, Entfernen, Speichern, Überwachen und Neustarten
Erweiterte SDK-Arbeitadk_tool::mcp::rmcpServer-Handler, Transporte, Benachrichtigungen und Erweiterungstypen

Dokumentationspfad

Wichtige Grenzen

  • Die dynamische Verwaltung zielt derzeit auf lokale stdio-Kinderprozesse ab.
  • Die Zustandsüberwachung des Managers erkennt eine geschlossene MCP-Verbindung. Sie weist nicht nach, dass die Datenbank des Servers oder API extern fehlerfrei funktioniert.
  • autoApprove wird für kompatible Konfigurationen beibehalten; ADK-Rust interpretiert es nicht als Autorisierung.
  • OAuth2Config führt eine festgelegte Token-Anfrage mit Client-Anmeldedaten aus. Dies ist nicht die vollständige Autorisierungsermittlung von MCP und der Ablauf der Browser-Autorisierung.
  • Sampling, Roots und Logging sind upstream über SEP-2577 veraltet.

Diese Grenzen sind Bestandteil des öffentlichen Vertrags und sollten sich im Bereitstellungsdesign widerspiegeln.