Model Context Protocol dans ADK-Rust

Le Model Context Protocol (MCP) est la limite entre une application d'IA et une capacité détenue séparément. Un serveur MCP peut publier des outils, des ressources lisibles, des prompt templates et des argument completion. Le client découvre ce catalogue et communique via des protocol methods négociées plutôt qu'une intégration privée.

ADK-Rust 2 utilise l'rmcp 2.2 SDK officiel et les 2025-11-25 types MCP.

Où s'intègre ADK-Rust

Rendering architecture…

McpToolset adapte une connexion client MCP initialisée à ADK-Rust. McpServerManager possède un registre évolutif de processus enfants stdio locaux et agrège leurs outils. Les applications qui publient des capacités peuvent construire des serveurs MCP avec adk_tool::mcp::rmcp, qui est la version exacte du SDK utilisée par le framework.

Choisir la bonne surface

Vous avez besoin deUtiliserPropriété
Connecter un serveur local connuMcpToolset + TokioChildProcessL'application démarre le processus enfant
Connecter un service MCP distantMcpHttpClientBuilderLe déploiement distant gère la disponibilité
Modifier les définitions de serveur local à l'exécutionMcpServerManagerL'application possède un registre local et des processus enfants
Publier un serveur MCPadk_tool::mcp::rmcpVotre service possède les schemas, l'authorization et les side effects
Maintenir une intégration d'échantillonnage obsolète en fonctionnementmcp-sampling featureCompatibilité uniquement sous SEP-2577

Carte des capacités implémentées

CapacitéADK-Rust APIComportement
Découverte et appels d'outilsMcpToolset, ToolsetLes schémas bruts et les résultats multimodaux sont préservés
Filtrage d'outilswith_filter, with_toolsLe modèle ne voit que les outils sélectionnés
Ressources et modèleslist_resources, list_resource_templates, read_resourceLire le contexte via des URI stables
Inviteslist_prompts, get_promptRésoudre les messages réutilisables appartenant au serveur
Complétioncomplete_prompt_argument, complete_resource_argumentDemander au serveur des suggestions d'arguments
Abonnements aux ressourcessubscribe_resource, unsubscribe_resourceLes gestionnaires personnalisés reçoivent des notifications de mise à jour
ÉlicitationElicitationHandlerModes formulaire et URL
TâchesMcpTaskConfigCréation, interrogation, résultat et annulation de tâches d'appel d'outil négociées
HTTP streamableMcpHttpClientBuilderDélais d'attente, en-têtes, injection d'authentification, récupération de session expirée
Registre local dynamiqueMcpServerManagerAjouter, mettre à jour, activer, désactiver, supprimer, sauvegarder, surveiller et redémarrer
Travaux SDK avancésadk_tool::mcp::rmcpGestionnaires de serveur, transports, notifications et types d'extension

Chemin de la documentation

Limites importantes

  • La gestion dynamique cible actuellement les processus enfants stdio locaux.
  • La surveillance de l'état du gestionnaire détecte une connexion MCP fermée. Cela ne prouve pas que la base de données du serveur ou l'API externe est saine.
  • autoApprove est préservé pour une configuration compatible ; ADK-Rust ne l'interprète pas comme une autorisation.
  • OAuth2Config effectue une requête de jeton client-credentials fixe. Ce n'est pas le flux complet de découverte d'autorisation MCP et d'autorisation par navigateur.
  • L'échantillonnage, les racines et la journalisation sont dépréciés en amont via SEP-2577.

Ces limites font partie du contrat public et doivent être prises en compte dans la conception du déploiement.