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
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üssen | Verwenden Sie | Verantwortlichkeit |
|---|---|---|
| Einen bekannten lokalen Server verbinden | McpToolset + TokioChildProcess | Die Anwendung startet den Kindprozess |
| Einen entfernten MCP-Dienst verbinden | McpHttpClientBuilder | Die entfernte Bereitstellung ist für die Verfügbarkeit verantwortlich |
| Lokale Serverdefinitionen zur Laufzeit ändern | McpServerManager | Die Anwendung verwaltet eine lokale Registrierung und Kindprozesse |
| Einen MCP-Server veröffentlichen | adk_tool::mcp::rmcp | Ihr Dienst ist für Schemas, Autorisierung und Nebeneffekte verantwortlich |
| Eine veraltete Sampling-Integration am Laufen halten | mcp-sampling Funktion | Kompatibilität nur unter SEP-2577 |
Implementierte Fähigkeitskarte
| Funktionalität | ADK-Rust API | Verhalten |
|---|---|---|
| Werkzeugerkennung und Aufrufe | McpToolset, Toolset | Rohe Schemata und multimodale Ergebnisse werden beibehalten |
| Werkzeugfilterung | with_filter, with_tools | Das Modell sieht nur ausgewählte Werkzeuge |
| Ressourcen und Vorlagen | list_resources, list_resource_templates, read_resource | Kontext über stabile URIs lesen |
| Prompts | list_prompts, get_prompt | Wiederverwendbare serverseitige Nachrichten auflösen |
| Vervollständigung | complete_prompt_argument, complete_resource_argument | Den Server um Argumentvorschläge bitten |
| Ressourcen-Abonnements | subscribe_resource, unsubscribe_resource | Benutzerdefinierte Handler erhalten Aktualisierungsbenachrichtigungen |
| Ermittlung | ElicitationHandler | Formular- und URL-Modi |
| Aufgaben | McpTaskConfig | Verhandelte Werkzeugaufruf-Aufgabenerstellung, Abfrage, Ergebnis und Abbruch |
| Streamfähiges HTTP | McpHttpClientBuilder | Timeouts, Header, Auth-Injektion, Wiederherstellung abgelaufener Sitzungen |
| Dynamisches lokales Register | McpServerManager | Hinzufügen, aktualisieren, aktivieren, deaktivieren, entfernen, speichern, überwachen und neu starten |
| 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
- Provider-bewusste Schemanormalisierung
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 externeAPIfehlerfrei ist. autoApprovewird für kompatible Konfiguration beibehalten; ADK-Rust interpretiert es nicht als Autorisierung.OAuth2Configführt eine festeclient-credentials-Token-Anforderung durch. Es ist nicht die vollständigeMCP-Autorisierungsermittlung und derbrowser-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.