Claro, aqui está a tradução do conteúdo para Português, seguindo as suas instruções:Entenda como o MCP conecta clientes, servidores e LLMsO Model Context Protocol (MCP) é construído sobre uma arquitetura flexível e extensível que permite uma comunicação perfeita entre aplicações LLM e integrações. Este documento abrange os principais componentes e conceitos arquiteturais.O MCP segue uma arquitetura cliente-servidor onde:Hosts são aplicações LLM (como Claude Desktop ou IDEs) que iniciam conexões
Clientes mantêm conexões 1:1 com servidores, dentro da aplicação host
Servidores fornecem contexto, ferramentas e prompts para clientes
A camada de protocolo lida com o enquadramento de mensagens, vinculação de solicitação/resposta e padrões de comunicação de alto nível.As classes principais incluem:A camada de transporte lida com a comunicação real entre clientes e servidores. O MCP suporta múltiplos mecanismos de transporte:1.
Usa entrada/saída padrão para comunicação
Ideal para processos locais
2.
Usa Server-Sent Events para mensagens do servidor para o cliente
HTTP POST para mensagens do cliente para o servidor
Todos os transportes usam JSON-RPC 2.0 para trocar mensagens. Consulte a especificação para informações detalhadas sobre o formato de mensagem do Model Context Protocol.O MCP tem estes principais tipos de mensagens:1.
Requests (Solicitações) esperam uma resposta do outro lado: 2.
Results (Resultados) são respostas bem-sucedidas a solicitações: 3.
Errors (Erros) indicam que uma solicitação falhou: 4.
Notifications (Notificações) são mensagens unidirecionais que não esperam uma resposta: 1.
O cliente envia a solicitação initialize
com a versão e os recursos do protocolo
2.
O servidor responde com sua versão e recursos do protocolo
3.
O cliente envia a notificação initialized
como reconhecimento
4.
A troca normal de mensagens começa
Após a inicialização, os seguintes padrões são suportados:Request-Response: Cliente ou servidor envia solicitações, o outro responde
Notifications: Qualquer uma das partes envia mensagens unidirecionais
Qualquer uma das partes pode terminar a conexão:Encerramento limpo via close()
O MCP define estes códigos de erro padrão:SDKs e aplicações podem definir seus próprios códigos de erro acima de -32000.Os erros são propagados através de:Respostas de erro a solicitações
Eventos de erro em transportes
Tratadores de erro de nível de protocolo
Aqui está um exemplo básico de implementação de um servidor MCP:1.
Use o transporte stdio para processos locais
Eficiente para comunicação na mesma máquina
Gerenciamento de processos simples
2.
Use SSE para cenários que exigem compatibilidade com HTTP
Considere as implicações de segurança, incluindo autenticação e autorização
1.
Processamento de solicitaçõesValide as entradas completamente
Lide com erros graciosamente
2.
Use tokens de progresso para operaç ões longas
Relate o progresso incrementalmente
Inclua o progresso total quando conhecido
3.
Use códigos de erro apropriados
Inclua mensagens de erro úteis
Limpe os recursos em caso de erros
1.
Use TLS para conexões remotas
Valide as origens da conexão
Implemente autenticação quando necessário
2.
Valide todas as mensagens recebidas
Verifique os limites de tamanho da mensagem
Verifique o formato JSON-RPC
3.
Implemente controles de acesso
Valide os caminhos de recursos
Monitore o uso de recursos
Limite a taxa de solicitações
4.
Não vaze informações confidenciais
Registre erros relevantes para a segurança
Implemente a limpeza adequada
1.
Registre eventos de protocolo
Rastreie o fluxo de mensagens
2.
Implemente verificações de integridade
Monitore o estado da conexão
Rastreie o uso de recursos
3.
Teste diferentes transportes
Verifique o tratamento de erros
Verifique os casos extremos
Teste a carga dos servidores
Modified at 2025-03-12 10:09:55