Visão Geral
O transporte HTTP Streamable oferece uma maneira flexível de se conectar a servidores MCP remotos. Ele é frequentemente baseado em HTTP e pode suportar vários padrões de comunicação, incluindo requisição-resposta e streaming, às vezes utilizando Server-Sent Events (SSE) para fluxos do servidor para o cliente dentro de uma interação HTTP mais ampla.Conceitos-Chave
- Servidores Remotos: Projetado para servidores MCP hospedados remotamente.
- Flexibilidade: Pode suportar padrões de interação mais complexos do que SSE puro, potencialmente incluindo comunicação bidirecional se o servidor implementá-la.
- Configuração do
MCPServerAdapter
: Você precisará fornecer a URL base do servidor para comunicação MCP e especificar"streamable-http"
como o tipo de transporte.
Conectando via HTTP Streamable
Você tem dois métodos principais para gerenciar o ciclo de vida da conexão com um servidor MCP HTTP Streamable:1. Conexão Totalmente Gerenciada (Recomendado)
A abordagem recomendada é usar um gerenciador de contexto Python (with
statement), que lida automaticamente com a configuração e encerramento da conexão.
"http://localhost:8001/mcp"
pela URL real do seu servidor MCP HTTP Streamable.
2. Ciclo de Vida da Conexão Manual
Para cenários que exigem controle mais explícito, você pode gerenciar a conexão doMCPServerAdapter
manualmente.
É crítico chamar
mcp_server_adapter.stop()
quando terminar para fechar a conexão e liberar recursos. Usar um bloco try...finally
é a forma mais segura de garantir isso.Considerações de Segurança
Ao utilizar o transporte HTTP Streamable, as melhores práticas gerais de segurança web são fundamentais:- Use HTTPS: Sempre prefira HTTPS (HTTP Seguro) para as URLs do seu servidor MCP para criptografar os dados em trânsito.
- Autenticação: Implemente mecanismos robustos de autenticação se seu servidor MCP expuser ferramentas ou dados sensíveis.
- Validação de Entrada: Garanta que seu servidor MCP valide todas as requisições e parâmetros recebidos.