Pular para o conteúdo principal

Visão Geral

Server-Sent Events (SSE) fornecem uma forma padrão para um servidor web enviar atualizações a um cliente através de uma única conexão HTTP de longa duração. No contexto do MCP, SSE é utilizado para que servidores remotos transmitam dados (como respostas de ferramentas) para sua aplicação CrewAI em tempo real.

Conceitos-Chave

  • Servidores Remotos: SSE é adequado para servidores MCP hospedados remotamente.
  • Fluxo Unidirecional: Normalmente, SSE é um canal de comunicação de mão única, do servidor para o cliente.
  • Configuração do MCPServerAdapter: Para SSE, você fornecerá a URL do servidor e especificará o tipo de transporte.

Conectando via SSE

Você pode se conectar a um servidor MCP baseado em SSE usando duas abordagens principais para gerenciar o ciclo de vida da conexão:

1. Conexão Totalmente Gerenciada (Recomendado)

Utilizar um gerenciador de contexto Python (with statement) é a abordagem recomendada. Ele lida automaticamente com o estabelecimento e o encerramento da conexão com o servidor MCP SSE.
Substitua "http://localhost:8000/sse" pela URL real do seu servidor MCP SSE.

2. Ciclo de Vida Manual da Conexão

Caso precise de um controle mais detalhado, você pode gerenciar manualmente o ciclo de vida da conexão do MCPServerAdapter.
Você DEVE chamar mcp_server_adapter.stop() para garantir que a conexão seja encerrada e os recursos liberados. O uso de um bloco try...finally é altamente recomendado.

Considerações de Segurança para SSE

Ataques de DNS Rebinding: Transportes SSE podem ser vulneráveis a ataques de DNS rebinding se o servidor MCP não estiver devidamente protegido. Isso pode permitir que sites maliciosos interajam com servidores MCP locais ou da intranet.
Para mitigar esse risco:
  • As implementações do servidor MCP devem validar os cabeçalhos Origin em conexões SSE recebidas.
  • Ao rodar servidores MCP SSE locais para desenvolvimento, faça o bind apenas em localhost (127.0.0.1) ao invés de todas as interfaces de rede (0.0.0.0).
  • Implemente autenticação adequada para todas as conexões SSE caso exponham ferramentas ou dados sensíveis.
Para uma visão abrangente das melhores práticas de segurança, consulte nossa página de Considerações de Segurança e a documentação oficial MCP Transport Security.