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.