Protocolo de Contexto del Modelo en ADK-Rust
El Protocolo de Contexto del Modelo (MCP) es el límite entre una aplicación de IA y una capacidad administrada por separado. Un servidor MCP puede publicar herramientas, recursos legibles, plantillas de indicaciones y completado de argumentos. El cliente descubre ese catálogo y se comunica mediante métodos de protocolo negociados en lugar de una integración privada.
ADK-Rust 2 utiliza el SDK oficial de rmcp 3.1. El cliente negocia MCP
2025-11-25 de forma predeterminada y llega a servidores 2026-07-28 mediante su
protocolo de enlace heredado. Consulta compatibilidad con rmcp.
Dónde encaja ADK-Rust
McpToolset adapta una conexión de cliente MCP inicializada a ADK-Rust.
McpServerManager administra un registro cambiante de procesos secundarios locales de stdio y agrega sus herramientas. Las aplicaciones que publican capacidades pueden crear servidores MCP con adk_tool::mcp::rmcp, que es la versión exacta de SDK utilizada por el framework.
Elige la interfaz adecuada
| Necesitas | Usa | Propiedad |
|---|---|---|
| Conectar un servidor local conocido | McpToolset + TokioChildProcess | La aplicación inicia el proceso secundario |
| Conectar un servicio MCP remoto | McpHttpClientBuilder | La implementación remota garantiza la disponibilidad |
| Cambiar las definiciones del servidor local en tiempo de ejecución | McpServerManager | La aplicación posee un registro local y procesos secundarios |
| Publicar un servidor MCP | adk_tool::mcp::rmcp | Tu servicio posee esquemas, autorización y efectos secundarios |
| Mantener operativa una integración de muestreo obsoleta | mcp-sampling característica | Solo compatibilidad con SEP-2577 |
Mapa de capacidades implementadas
| Capacidad | ADK-Rust API | Comportamiento |
|---|---|---|
| Descubrimiento y llamadas de herramientas | McpToolset, Toolset | Los esquemas sin procesar y los resultados multimodales se conservan |
| Filtrado de herramientas | with_filter, with_tools | El modelo solo ve las herramientas seleccionadas |
| Recursos y plantillas | list_resources, list_resource_templates, read_resource | Leer el contexto mediante URIs estable |
| Indicaciones | list_prompts, get_prompt | Resolver mensajes reutilizables administrados por el servidor |
| Finalización | complete_prompt_argument, complete_resource_argument | Solicitar al servidor sugerencias de argumentos |
| Suscripciones a recursos | subscribe_resource, unsubscribe_resource | Los controladores personalizados reciben notificaciones de actualización |
| Recopilación de información | ElicitationHandler | Modos de formulario y URL |
| Tareas | McpTaskConfig | Creación, sondeo, resultados y cancelación de tareas de llamadas a herramientas negociadas |
| HTTP transmisible por secuencias | McpHttpClientBuilder | Tiempos de espera, encabezados, inyección de autenticación y recuperación de sesiones expiradas |
| Registro local dinámico | McpServerManager | Añadir, actualizar, habilitar, deshabilitar, eliminar, guardar, supervisar y reiniciar |
| Trabajo avanzado con SDK | adk_tool::mcp::rmcp | Controladores de servidor, transportes, notificaciones y tipos de extensión |
Ruta de la documentación
- Crear un cliente de MCP
- Gestionar dinámicamente servidores locales de MCP
- Publicar un servidor de MCP
- Seguridad y autorización
- Pruebas y verificación
- Normalización de esquemas compatible con el proveedor
Límites importantes
- La gestión dinámica actualmente se dirige a procesos secundarios locales de stdio.
- La supervisión del estado del administrador detecta una conexión MCP cerrada. No demuestra que la base de datos del servidor ni su API externo estén en buen estado.
autoApprovese conserva para configuraciones compatibles; ADK-Rust no lo interpreta como autorización.OAuth2Configrealiza una solicitud de token de credenciales del cliente fija. No es el flujo completo de descubrimiento de autorización y autorización mediante navegador de MCP.- El muestreo, las raíces y el registro están obsoletos aguas arriba mediante SEP-2577.
Estos límites forman parte del contrato público y deben reflejarse en el diseño de la implementación.