Model Context Protocol em ADK-Rust
O Model Context Protocol (MCP) é a fronteira entre uma aplicação de IA e uma capacidade mantida separadamente. Um servidor MCP pode publicar ferramentas, recursos legíveis, modelos de prompt e conclusão de argumentos. O cliente descobre esse catálogo e se comunica por meio de métodos de protocolo negociados, em vez de uma integração privada.
ADK-Rust 2 usa o rmcp 3.1 SDK oficial. O cliente negocia MCP
2025-11-25 por padrão e alcança servidores 2026-07-28 por meio do handshake legado
deles. Consulte compatibilidade com rmcp.
Onde ADK-Rust se encaixa
McpToolset adapta uma conexão de cliente MCP inicializada para ADK-Rust.
McpServerManager mantém um registro dinâmico de processos filho stdio locais e
agrega suas ferramentas. Aplicações que publicam capacidades podem criar
servidores MCP com adk_tool::mcp::rmcp, que é a versão exata de SDK usada pelo
framework.
Escolha a interface adequada
| Você precisa | Use | Responsabilidade |
|---|---|---|
| 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 é responsável pela disponibilidade |
| Alterar definições do servidor local em tempo de execução | McpServerManager | A aplicação gerencia um registro local e processos filho |
| Publicar um servidor MCP | adk_tool::mcp::rmcp | Seu serviço gerencia esquemas, autorização e efeitos colaterais |
| Manter uma integração de amostragem obsoleta funcionando | mcp-sampling recurso | Apenas compatibilidade 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 o contexto por meio de URIs estável |
| Prompts | list_prompts, get_prompt | Resolver mensagens reutilizáveis pertencentes ao servidor |
| Conclusão | complete_prompt_argument, complete_resource_argument | Solicitar ao servidor sugestões de argumentos |
| Assinaturas de recursos | subscribe_resource, unsubscribe_resource | Manipuladores personalizados recebem notificações de atualização |
| Elucidação | ElicitationHandler | Modos de formulário e URL |
| Tarefas | McpTaskConfig | Criação, consulta, resultado e cancelamento de tarefas de chamadas de ferramentas negociadas |
| HTTP transmitível | McpHttpClientBuilder | Tempos limite, cabeçalhos, injeção de autenticação, recuperação de sessão expirada |
| Registro local dinâmico | McpServerManager | Adicionar, atualizar, ativar, desativar, 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
- Criar um cliente MCP
- Gerenciar dinamicamente servidores MCP locais
- Publicar um servidor MCP
- Segurança e autorização
- Testes e verificação
- Normalização de esquemas com reconhecimento do provedor
Limites importantes
- O gerenciamento dinâmico atualmente tem como alvo processos filhos locais stdio.
- O monitoramento de integridade do gerenciador detecta uma conexão MCP fechada. Ele não comprova que o banco de dados do servidor ou o API externo está íntegro.
autoApproveé preservado para configurações compatíveis; ADK-Rust não o interpreta como autorização.OAuth2Configexecuta uma solicitação de token de client-credentials fixa. Ele não é o fluxo completo de descoberta de autorização e autorização pelo navegador do MCP.- Sampling, roots e logging estão obsoletos upstream por meio do SEP-2577.
Esses limites fazem parte do contrato público e devem ser refletidos no projeto de implantação.