Documentação Oficial do MCP em Português
  1. Conceitos
Documentação Oficial do MCP em Português
  • Get Started
    • Introdução
    • Servidores de exemplo
    • Clientes de exemplo
    • Início rápido
      • Para os desenvolvedores de servidores
      • Para os desenvolvedores de clientes
      • Para utilizadores do Claude Desktop
  • Tutoriais
    • Construção de MCP com LLMs
    • Depuração
    • Inspetor
  • Conceitos
    • Arquitetura central
    • Recursos
    • Avisos
    • Ferramentas
    • Amostragem
    • Raízes
    • Transportes
  • Desenvolvimento
    • O que há de novo
    • Roteiro
    • Contribuindo
  1. Conceitos

Transportes

Aprenda sobre os mecanismos de comunicação do MCP
Os Transportes no Model Context Protocol (MCP) fornecem a base para a comunicação entre clientes e servidores. Um transporte lida com a mecânica subjacente de como as mensagens são enviadas e recebidas.

Formato da Mensagem#

O MCP usa JSON-RPC 2.0 como seu formato de transmissão. A camada de transporte é responsável por converter mensagens de protocolo MCP em formato JSON-RPC para transmissão e converter mensagens JSON-RPC recebidas de volta em mensagens de protocolo MCP.
Existem três tipos de mensagens JSON-RPC usadas:

Requisições#

Respostas#

Notificações#

Tipos de Transporte Integrados#

O MCP inclui duas implementações de transporte padrão:

Entrada/Saída Padrão (stdio)#

O transporte stdio permite a comunicação através de fluxos de entrada e saída padrão. Isso é particularmente útil para integrações locais e ferramentas de linha de comando.
Use stdio quando:
Construir ferramentas de linha de comando
Implementar integrações locais
Precisar de comunicação de processo simples
Trabalhar com scripts de shell
TypeScript (Servidor)

Eventos Enviados pelo Servidor (SSE)#

O transporte SSE permite o streaming de servidor para cliente com requisições HTTP POST para comunicação de cliente para servidor.
Use SSE quando:
Apenas o streaming de servidor para cliente é necessário
Trabalhar com redes restritas
Implementar atualizações simples
TypeScript (Servidor)

Transportes Personalizados#

O MCP facilita a implementação de transportes personalizados para necessidades específicas. Qualquer implementação de transporte só precisa estar em conformidade com a interface Transport:
Você pode implementar transportes personalizados para:
Protocolos de rede personalizados
Canais de comunicação especializados
Integração com sistemas existentes
Otimização de desempenho
TypeScript
Python
Observe que, embora os servidores MCP sejam frequentemente implementados com asyncio, recomendamos a implementação de interfaces de baixo nível, como transportes, com anyio para uma compatibilidade mais ampla.

Tratamento de Erros#

As implementações de transporte devem lidar com vários cenários de erro:
1.
Erros de conexão
2.
Erros de análise de mensagem
3.
Erros de protocolo
4.
Timeouts de rede
5.
Limpeza de recursos
Exemplo de tratamento de erros:
TypeScript
Python
Observe que, embora os servidores MCP sejam frequentemente implementados com asyncio, recomendamos a implementação de interfaces de baixo nível, como transportes, com anyio para uma compatibilidade mais ampla.

Melhores Práticas#

Ao implementar ou usar o transporte MCP:
1.
Lidar com o ciclo de vida da conexão corretamente
2.
Implementar tratamento de erros adequado
3.
Limpar recursos ao fechar a conexão
4.
Usar timeouts apropriados
5.
Validar mensagens antes de enviar
6.
Registrar eventos de transporte para depuração
7.
Implementar lógica de reconexão quando apropriado
8.
Lidar com backpressure em filas de mensagens
9.
Monitorar a saúde da conexão
10.
Implementar medidas de segurança adequadas

Considerações de Segurança#

Ao implementar o transporte:

Autenticação e Autorização#

Implementar mecanismos de autenticação adequados
Validar as credenciais do cliente
Usar tratamento seguro de tokens
Implementar verificações de autorização

Segurança de Dados#

Usar TLS para transporte de rede
Criptografar dados confidenciais
Validar a integridade da mensagem
Implementar limites de tamanho de mensagem
Higienizar dados de entrada

Segurança de Rede#

Implementar limitação de taxa
Usar timeouts apropriados
Lidar com cenários de negação de serviço
Monitorar padrões incomuns
Implementar regras de firewall adequadas

Depuração de Transporte#

Dicas para depurar problemas de transporte:
1.
Ativar o registro de depuração
2.
Monitorar o fluxo de mensagens
3.
Verificar os estados de conexão
4.
Validar os formatos de mensagem
5.
Testar cenários de erro
6.
Usar ferramentas de análise de rede
7.
Implementar verificações de saúde
8.
Monitorar o uso de recursos
9.
Testar casos extremos
10.
Usar rastreamento de erros adequado
Modified at 2025-03-12 10:14:29
Previous
Raízes
Next
O que há de novo
Built with