Modellkontext-Protokoll in ADK-Rust

Das Modellkontext-Protokoll (MCP) ist die Grenze zwischen einer KI-Anwendung und einer separat besessenen Fähigkeit. Ein MCP-Server kann Tools, lesbare Ressourcen, Prompt-Vorlagen und Argumentvervollständigung veröffentlichen. Der Client entdeckt diesen Katalog und kommuniziert über ausgehandelte Protokollmethoden anstatt einer privaten Integration.

ADK-Rust 2 verwendet das offizielle rmcp 2.2 SDK und MCP 2025-11-25-Typen.

Wo ADK-Rust passt

Rendering architecture…

McpToolset passt eine initialisierte MCP-Client-Verbindung an ADK-Rust an. McpServerManager besitzt ein sich änderndes Verzeichnis lokaler stdio-Child-Prozesse und aggregiert deren Tools. Anwendungen, die Fähigkeiten veröffentlichen, können MCP-Server mit adk_tool::mcp::rmcp erstellen, welche die exakte SDK-Version ist, die vom Framework verwendet wird.

Wählen Sie die richtige Oberfläche

Sie müssenVerwenden SieVerantwortlichkeit
Einen bekannten lokalen Server verbindenMcpToolset + TokioChildProcessDie Anwendung startet den Kindprozess
Einen entfernten MCP-Dienst verbindenMcpHttpClientBuilderDie entfernte Bereitstellung ist für die Verfügbarkeit verantwortlich
Lokale Serverdefinitionen zur Laufzeit ändernMcpServerManagerDie Anwendung verwaltet eine lokale Registrierung und Kindprozesse
Einen MCP-Server veröffentlichenadk_tool::mcp::rmcpIhr Dienst ist für Schemas, Autorisierung und Nebeneffekte verantwortlich
Eine veraltete Sampling-Integration am Laufen haltenmcp-sampling FunktionKompatibilität nur unter SEP-2577

Implementierte Fähigkeitskarte

FunktionalitätADK-Rust APIVerhalten
Werkzeugerkennung und AufrufeMcpToolset, ToolsetRohe Schemata und multimodale Ergebnisse werden beibehalten
Werkzeugfilterungwith_filter, with_toolsDas Modell sieht nur ausgewählte Werkzeuge
Ressourcen und Vorlagenlist_resources, list_resource_templates, read_resourceKontext über stabile URIs lesen
Promptslist_prompts, get_promptWiederverwendbare serverseitige Nachrichten auflösen
Vervollständigungcomplete_prompt_argument, complete_resource_argumentDen Server um Argumentvorschläge bitten
Ressourcen-Abonnementssubscribe_resource, unsubscribe_resourceBenutzerdefinierte Handler erhalten Aktualisierungsbenachrichtigungen
ErmittlungElicitationHandlerFormular- und URL-Modi
AufgabenMcpTaskConfigVerhandelte Werkzeugaufruf-Aufgabenerstellung, Abfrage, Ergebnis und Abbruch
Streamfähiges HTTPMcpHttpClientBuilderTimeouts, Header, Auth-Injektion, Wiederherstellung abgelaufener Sitzungen
Dynamisches lokales RegisterMcpServerManagerHinzufügen, aktualisieren, aktivieren, deaktivieren, entfernen, speichern, überwachen und neu starten
Erweiterte SDK-Arbeitadk_tool::mcp::rmcpServer-Handler, Transporte, Benachrichtigungen und Erweiterungstypen

Dokumentationspfad

Wichtige Grenzen

  • Das dynamische Management zielt derzeit auf lokale stdio-Kindprozesse ab.
  • Die Zustandsüberwachung des Managers erkennt eine geschlossene MCP-Verbindung. Sie beweist nicht, dass die Datenbank des Servers oder die externe API fehlerfrei ist.
  • autoApprove wird für kompatible Konfiguration beibehalten; ADK-Rust interpretiert es nicht als Autorisierung.
  • OAuth2Config führt eine feste client-credentials-Token-Anforderung durch. Es ist nicht die vollständige MCP-Autorisierungsermittlung und der browser-authorization-Fluss.
  • Sampling, Roots und Logging sind stromaufwärts durch SEP-2577 veraltet.

Diese Grenzen sind Teil des öffentlichen Vertrags und sollten im Bereitstellungsdesign berücksichtigt werden.