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
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üssen | Verwenden | Zuständigkeit |
|---|---|---|
| Einen bekannten lokalen Server verbinden | McpToolset + TokioChildProcess | Die Anwendung startet den untergeordneten Prozess |
| Eine entfernte MCP-Dienstleistung verbinden | McpHttpClientBuilder | Die entfernte Bereitstellung ist für die Verfügbarkeit zuständig |
| Definitionen lokaler Server zur Laufzeit ändern | McpServerManager | Die Anwendung besitzt eine lokale Registrierung und untergeordnete Prozesse |
| Einen MCP-Server veröffentlichen | adk_tool::mcp::rmcp | Ihr Dienst besitzt Schemata, Autorisierung und Seiteneffekte |
| Eine veraltete Sampling-Integration funktionsfähig halten | mcp-sampling Funktion | Nur Kompatibilität unter SEP-2577 |
Implementierte Fähigkeitsübersicht
| Fähigkeit | ADK-Rust API | Verhalten |
|---|---|---|
| Ermittlung und Aufrufe von Tools | McpToolset, Toolset | Rohe Schemata und multimodale Ergebnisse bleiben erhalten |
| Tool-Filterung | with_filter, with_tools | Das Modell sieht nur ausgewählte Tools |
| Ressourcen und Vorlagen | list_resources, list_resource_templates, read_resource | Kontext über stabile URIs lesen |
| Eingabeaufforderungen | list_prompts, get_prompt | Wiederverwendbare serverseitige Nachrichten auflösen |
| Vervollständigung | complete_prompt_argument, complete_resource_argument | Den Server nach Argumentvorschlägen fragen |
| Ressourcenabonnements | subscribe_resource, unsubscribe_resource | Benutzerdefinierte Handler erhalten Benachrichtigungen über Aktualisierungen |
| Anforderung | ElicitationHandler | Formular- und URL-Modi |
| Aufgaben | McpTaskConfig | Ausgehandelte Erstellung, Abfrage, Ergebnis und Abbruch von Tool-Aufgaben |
| Streambare HTTP | McpHttpClientBuilder | Timeouts, Header, Authentifizierungsinjektion, Wiederherstellung abgelaufener Sitzungen |
| Dynamische lokale Registry | McpServerManager | Hinzufügen, Aktualisieren, Aktivieren, Deaktivieren, Entfernen, Speichern, Überwachen und Neustarten |
| Erweiterte SDK-Arbeit | adk_tool::mcp::rmcp | Server-Handler, Transporte, Benachrichtigungen und Erweiterungstypen |
Dokumentationspfad
- Einen MCP-Client erstellen
- Lokale MCP-Server dynamisch verwalten
- Einen MCP-Server veröffentlichen
- Sicherheit und Autorisierung
- Testen und Verifizieren
- Anbieterbewusste Schemanormalisierung
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.
autoApprovewird für kompatible Konfigurationen beibehalten; ADK-Rust interpretiert es nicht als Autorisierung.OAuth2Configfü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.