Voltar as noticias
Opções de Transporte MCP
MCP ProtocolAltaEN

Opções de Transporte MCP

Dev.to - MCP·5 de agosto de 2026

Recentemente passei horas depurando um bot de suporte construído com LangGraph e MCP, apenas para perceber que o problema não estava no modelo ou no gráfico, mas no mecanismo de transporte. O bot foi projetado para ter uma conversa com um usuário, e funcionou perfeitamente quando executado localmente, mas quando implantado em um servidor remoto, frequentemente perdia o contexto e respondia com respostas irrelevantes. Após analisar os logs, descobri que o problema era devido à forma como eu estava usando o transporte MCP.

Por padrão, o MCP usa um transporte stdio local, que é ótimo para desenvolvimento e testes, mas não é adequado para implantação remota. O transporte stdio local usa os fluxos de entrada e saída padrão para enviar e receber mensagens, o que funciona bem quando o cliente e o servidor estão sendo executados na mesma máquina. No entanto, quando o cliente e o servidor estão sendo executados em máquinas diferentes, um mecanismo de transporte remoto é necessário.

É aí que entra o transporte HTTP Streamable. Esse mecanismo de transporte permite que o MCP envie e receba mensagens via HTTP, tornando possível implantar o bot de suporte em um servidor remoto. Para mudar para o transporte HTTP Streamable, eu precisava modificar o código para usar o mcp.transport.http em vez do módulo padrão mcp.transport.stdio.

Aqui está um exemplo de como usar o transporte HTTP Streamable com LangGraph e MCP:

import langgraph
from mcp import Client
from mcp.transport.http import HttpTransport

# Crie um modelo LangGraph
model = langgraph.Model()

# Crie um cliente MCP com o transporte HTTP Streamable
transport = HttpTransport("https://example.com/mcp")
client = Client(transport)

# Crie um gráfico de estado com um único nó
graph = langgraph.StateGraph()
node = graph.add_node("start")

# Adicione uma aresta condicional ao nó
graph.add_conditional_edges(node, [
    ("input", "hello", "output", "Hello!"),
])

# Compile o gráfico e implante-o no servidor remoto
compiled_graph = graph.compile()
client.deploy(compiled_graph)

# Envie uma mensagem para o servidor remoto e imprima a resposta
response = client.send("hello")
print(response)

Neste exemplo, criamos um modelo LangGraph e um cliente MCP com o transporte HTTP Streamable. Em seguida, criamos um gráfico de estado com um único nó e adicionamos uma aresta condicional ao nó. Finalmente, compilamos o gráfico, implantamos no servidor remoto e enviamos uma mensagem para o servidor para testar a implantação.

Uma armadilha prática a ser observada ao usar o transporte HTTP Streamable é que ele requer uma conexão confiável entre o cliente e o servidor. Se a conexão for perdida, o cliente precisará reconectar-se ao servidor antes que possa enviar ou receber mensagens. Para lidar com isso, você pode usar um mecanismo de repetição, como a biblioteca tenacity em Python, para reconectar automaticamente ao servidor se a conexão for perdida.

À medida que continuamos a construir sistemas de IA agentiva mais complexos com LangGraph e MCP, precisaremos considerar outros fatores que podem impactar o desempenho e a confiabilidade de nossos sistemas, como escalabilidade e tolerância a falhas. Amanhã, exploraremos algumas das estratégias para construir sistemas de IA agentiva mais robustos e resilientes.

Contexto Triplo Up

Empresas brasileiras que utilizam bots de suporte precisam garantir que seus sistemas funcionem adequadamente em ambientes remotos. A escolha do mecanismo de transporte é crucial para evitar falhas na comunicação e garantir a eficácia do atendimento ao cliente.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.