Protocole de contexte de modèle dans ADK-Rust

Le Model Context Protocol (MCP) constitue la frontière entre une application d’IA et une capacité gérée séparément. Un serveur MCP peut publier des outils, des ressources lisibles, des modèles d’invite et la complétion d’arguments. Le client découvre ce catalogue et communique via des méthodes de protocole négociées plutôt que par une intégration privée.

ADK-Rust 2 utilise le SDK officiel rmcp 3.1. Le client négocie MCP 2025-11-25 par défaut et atteint les serveurs 2026-07-28 via leur procédure d’établissement de liaison héritée. Voir compatibilité rmcp.

Où s’intègre ADK-Rust

Rendering architecture…

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

Choisir la surface appropriée

Vous devezUtiliserResponsabilité
Connecter un serveur local connuMcpToolset + TokioChildProcessL’application démarre le processus enfant
Connecter un service MCP distantMcpHttpClientBuilderLe déploiement distant est responsable de la disponibilité
Modifier les définitions des serveurs locaux à l’exécutionMcpServerManagerL’application possède un registre local et des processus enfants
Publier un serveur MCPadk_tool::mcp::rmcpVotre service possède les schémas, l’autorisation et les effets de bord
Maintenir une intégration d’échantillonnage obsolète fonctionnellemcp-sampling fonctionnalitéCompatibilité 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 des 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 URIs
Inviteslist_prompts, get_promptRésoudre les messages réutilisables gérés par le 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ésultats et annulation de tâches d’appel d’outil négociées
HTTP diffusé en continuMcpHttpClientBuilderDélais d’expiration, en-têtes, injection d’authentification, récupération après expiration de session
Registre local dynamiqueMcpServerManagerAjouter, mettre à jour, activer, désactiver, supprimer, enregistrer, surveiller et redémarrer
Travail avancé sur SDKadk_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 locaux utilisant stdio.
  • La surveillance de l'état par le gestionnaire détecte une connexion MCP fermée. Elle ne prouve pas que la base de données du serveur ou son API externe est opérationnel.
  • autoApprove est conservé pour assurer la compatibilité de la configuration ; ADK-Rust ne l'interprète pas comme une autorisation.
  • OAuth2Config effectue une requête de jeton avec les informations d'identification du client. Il ne s'agit pas du processus complet de découverte de l'autorisation MCP et d'autorisation via navigateur.
  • L'échantillonnage, les racines et la journalisation sont obsolètes en amont via SEP-2577.

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