Protocolo de Contexto do Modelo em ADK-Rust
O Protocolo de Contexto do Modelo (MCP) é o limite entre uma aplicação de IA e uma capacidade de propriedade separada. Um servidor MCP pode publicar tools, recursos legíveis, prompt templates e preenchimento de argumentos. O cliente descobre esse catálogo e se comunica através de métodos de protocolo negociados em vez de uma integração privada.
ADK-Rust 2 usa o SDK oficial rmcp 2.2 e os tipos MCP 2025-11-25.
Onde ADK-Rust se encaixa
McpToolset adapta uma conexão de cliente MCP inicializada a ADK-Rust. McpServerManager possui um registro mutável de processos filhos stdio locais e agrega suas tools. Aplicações que publicam capacidades podem construir servidores MCP com adk_tool::mcp::rmcp, que é a versão exata do SDK usada pelo framework.
Escolha a superfície certa
| Você precisa | Usar | Propriedade |
|---|---|---|
| Conectar um servidor local conhecido | McpToolset + TokioChildProcess | A aplicação inicia o processo filho |
| Conectar um serviço MCP remoto | McpHttpClientBuilder | A implantação remota possui disponibilidade |
| Alterar definições de servidor local em tempo de execução | McpServerManager | A aplicação possui um registro local e processos filhos |
| Publicar um servidor MCP | adk_tool::mcp::rmcp | Seu serviço é responsável por esquemas, autorização e efeitos colaterais |
| Manter uma integração de amostragem obsoleta funcionando | mcp-sampling recurso | Compatibilidade apenas sob SEP-2577 |
Mapa de capacidades implementadas
| Capacidade | ADK-Rust API | Comportamento |
|---|---|---|
| Descoberta e chamadas de ferramentas | McpToolset, Toolset | Esquemas brutos e resultados multimodais são preservados |
| Filtragem de ferramentas | with_filter, with_tools | O modelo vê apenas as ferramentas selecionadas |
| Recursos e modelos | list_resources, list_resource_templates, read_resource | Ler contexto através de URIs estáveis |
| Instruções | list_prompts, get_prompt | Resolver mensagens reutilizáveis do servidor |
| Conclusão | complete_prompt_argument, complete_resource_argument | Solicitar sugestões de argumentos ao servidor |
| Assinaturas de recursos | subscribe_resource, unsubscribe_resource | Manipuladores personalizados recebem notificações de atualização |
| Elicitação | ElicitationHandler | Modos de Formulário e URL |
| Tarefas | McpTaskConfig | Criação, sondagem, resultado e cancelamento de tarefas de chamada de ferramenta negociadas |
| HTTP com Streaming | McpHttpClientBuilder | Tempos limite, cabeçalhos, injeção de autenticação, recuperação de sessão expirada |
| Registro local dinâmico | McpServerManager | Adicionar, atualizar, habilitar, desabilitar, remover, salvar, monitorar e reiniciar |
| Trabalho avançado com SDK | adk_tool::mcp::rmcp | Manipuladores de servidor, transportes, notificações e tipos de extensão |
Caminho da documentação
- Construir um cliente MCP
- Gerenciar servidores MCP locais dinamicamente
- Publicar um servidor MCP
- Segurança e autorização
- Testes e verificação
- Normalização de esquema ciente do provedor
Limites importantes
- O gerenciamento dinâmico atualmente visa processos filhos stdio locais.
- O monitoramento de saúde do gerenciador detecta uma conexão MCP fechada. Isso não prova que o banco de dados do servidor ou a API externa esteja saudável.
autoApproveé preservado para configuração compatível; ADK-Rust não o interpreta como autorização.OAuth2Configexecuta uma solicitação de token de credenciais de cliente fixa. Não é o fluxo completo de descoberta de autorização MCP e autorização via navegador.- A amostragem, raízes e registro estão obsoletos a montante através do SEP-2577.
Esses limites fazem parte do contrato público e devem ser refletidos no design de implantação.