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
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 devez | Utiliser | Responsabilité |
|---|---|---|
| Connecter un serveur local connu | McpToolset + TokioChildProcess | Lâapplication dĂ©marre le processus enfant |
| Connecter un service MCP distant | McpHttpClientBuilder | Le déploiement distant est responsable de la disponibilité |
| Modifier les dĂ©finitions des serveurs locaux Ă lâexĂ©cution | McpServerManager | Lâapplication possĂšde un registre local et des processus enfants |
| Publier un serveur MCP | adk_tool::mcp::rmcp | Votre service possĂšde les schĂ©mas, lâautorisation et les effets de bord |
| Maintenir une intĂ©gration dâĂ©chantillonnage obsolĂšte fonctionnelle | mcp-sampling fonctionnalitĂ© | CompatibilitĂ© uniquement sous SEP-2577 |
Carte des capacités implémentées
| Capacité | ADK-Rust API | Comportement |
|---|---|---|
| DĂ©couverte et appels dâoutils | McpToolset, Toolset | Les schĂ©mas bruts et les rĂ©sultats multimodaux sont prĂ©servĂ©s |
| Filtrage des outils | with_filter, with_tools | Le modÚle ne voit que les outils sélectionnés |
| Ressources et modĂšles | list_resources, list_resource_templates, read_resource | Lire le contexte via URIs |
| Invites | list_prompts, get_prompt | Résoudre les messages réutilisables gérés par le serveur |
| ComplĂ©tion | complete_prompt_argument, complete_resource_argument | Demander au serveur des suggestions dâarguments |
| Abonnements aux ressources | subscribe_resource, unsubscribe_resource | Les gestionnaires personnalisés reçoivent des notifications de mise à jour |
| Ălicitation | ElicitationHandler | Modes formulaire et URL |
| TĂąches | McpTaskConfig | CrĂ©ation, interrogation, rĂ©sultats et annulation de tĂąches dâappel dâoutil nĂ©gociĂ©es |
| HTTP diffusĂ© en continu | McpHttpClientBuilder | DĂ©lais dâexpiration, en-tĂȘtes, injection dâauthentification, rĂ©cupĂ©ration aprĂšs expiration de session |
| Registre local dynamique | McpServerManager | Ajouter, mettre à jour, activer, désactiver, supprimer, enregistrer, surveiller et redémarrer |
| Travail avancĂ© sur SDK | adk_tool::mcp::rmcp | Gestionnaires de serveur, transports, notifications et types dâextension |
Chemin de la documentation
- Construire un client MCP
- Gérer dynamiquement les serveurs MCP locaux
- Publier un serveur MCP
- Sécurité et autorisation
- Tests et vérification
- Normalisation des schémas tenant compte du fournisseur
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.
autoApproveest conservĂ© pour assurer la compatibilitĂ© de la configuration ; ADK-Rust ne l'interprĂšte pas comme une autorisation.OAuth2Configeffectue 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.