Protocolo de Contexto del Modelo en ADK-Rust
Model Context Protocol (MCP) es el límite entre una aplicación de IA y una capacidad de propiedad separada. Un servidor MCP puede publicar tools, recursos legibles, prompt templates y argument completion. El cliente descubre ese catálogo y se comunica a través de métodos de protocolo negociados en lugar de una integración privada.
ADK-Rust 2 utiliza el SDK oficial de rmcp 2.2 y los tipos MCP 2025-11-25.
Dónde encaja ADK-Rust
McpToolset adapta una conexión de cliente MCP inicializada a ADK-Rust. McpServerManager posee un registro cambiante de procesos hijo stdio locales y agrega sus tools. Las aplicaciones que publican capacidades pueden construir servidores MCP con adk_tool::mcp::rmcp, que es la versión exacta del SDK utilizada por el framework.
Elige la superficie adecuada
| Necesitas | Usar | Propiedad |
|---|---|---|
| Conectar un servidor local conocido | McpToolset + TokioChildProcess | La aplicación inicia el proceso hijo |
| Conectar un servicio MCP remoto | McpHttpClientBuilder | La implementación remota posee la disponibilidad |
| Cambiar definiciones de servidor local en tiempo de ejecución | McpServerManager | La aplicación posee un registro local y procesos hijo |
| Publicar un servidor MCP | adk_tool::mcp::rmcp | Tu servicio posee esquemas, autorización y efectos secundarios |
| Mantener una integración de muestreo deprecada funcionando | funcionalidad de mcp-sampling | Compatibilidad solo bajo SEP-2577 |
Mapa de capacidades implementadas
| Capacidad | ADK-Rust API | Comportamiento |
|---|---|---|
| Descubrimiento y llamadas de herramientas | McpToolset, Toolset | Los esquemas en bruto y los resultados multimodales se preservan |
| Filtrado de herramientas | with_filter, with_tools | El modelo solo ve las herramientas seleccionadas |
| Recursos y plantillas | list_resources, list_resource_templates, read_resource | Lee el contexto a través de URIs estables |
| Prompts | list_prompts, get_prompt | Resuelve mensajes reutilizables propiedad del servidor |
| Completado | complete_prompt_argument, complete_resource_argument | Solicita al servidor sugerencias de argumentos |
| Suscripciones de recursos | subscribe_resource, unsubscribe_resource | Los manejadores personalizados reciben notificaciones de actualización |
| Elicitación | ElicitationHandler | Modos de formulario y URL |
| Tareas | McpTaskConfig | Creación, sondeo, resultado y cancelación de tareas de llamada a herramientas negociadas |
| HTTP con capacidad de transmisión | McpHttpClientBuilder | Tiempos de espera, encabezados, inyección de autenticación, recuperación de sesiones caducadas |
| Registro local dinámico | McpServerManager | Añadir, actualizar, habilitar, deshabilitar, eliminar, guardar, monitorear y reiniciar |
| Trabajo avanzado con el SDK | adk_tool::mcp::rmcp | Manejadores de servidor, transportes, notificaciones y tipos de extensión |
Ruta de la documentación
- Construir un cliente MCP
- Administrar servidores MCP locales dinámicamente
- Publicar un servidor MCP
- Seguridad y autorización
- Pruebas y verificación
- Normalización de esquemas consciente del proveedor
Límites importantes
- La gestión dinámica actualmente se dirige a procesos secundarios stdio locales.
- La monitorización de la salud del gestor detecta una conexión MCP cerrada. No prueba que la base de datos del servidor o la API externa estén saludables.
autoApprovese conserva para una configuración compatible; ADK-Rust no lo interpreta como autorización.OAuth2Configrealiza una solicitud de token de credenciales de cliente fija. No es el flujo completo de descubrimiento de autorización MCP y autorización del navegador.- El muestreo, las raíces y el registro están obsoletos en el nivel superior a través de SEP-2577.
Estos límites son parte del contrato público y deben reflejarse en el diseño de la implementación.