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

Arquitetura central

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 LLMs
O 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.

Visão geral#

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
image-20250312145458026

Componentes principais#

Camada de protocolo#

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.
TypeScript
Python
As classes principais incluem:
Protocol
Client
Server

Camada de transporte#

A camada de transporte lida com a comunicação real entre clientes e servidores. O MCP suporta múltiplos mecanismos de transporte:
1.
Transporte Stdio
Usa entrada/saída padrão para comunicação
Ideal para processos locais
2.
HTTP com transporte SSE
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.

Tipos de mensagem#

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:

Ciclo de vida da conexão#

1. Inicialização#

image.png
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

2. Troca de mensagens#

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

3. Terminação#

Qualquer uma das partes pode terminar a conexão:
Encerramento limpo via close()
Desconexão de transporte
Condições de erro

Tratamento de erros#

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

Exemplo de implementação#

Aqui está um exemplo básico de implementação de um servidor MCP:
TypeScript
Python

Melhores práticas#

Seleção de transporte#

1.
Comunicação local
Use o transporte stdio para processos locais
Eficiente para comunicação na mesma máquina
Gerenciamento de processos simples
2.
Comunicação remota
Use SSE para cenários que exigem compatibilidade com HTTP
Considere as implicações de segurança, incluindo autenticação e autorização

Manipulação de mensagens#

1.
Processamento de solicitações
Valide as entradas completamente
Use esquemas type-safe
Lide com erros graciosamente
Implemente timeouts
2.
Relatório de progresso
Use tokens de progresso para operações longas
Relate o progresso incrementalmente
Inclua o progresso total quando conhecido
3.
Gerenciamento de erros
Use códigos de erro apropriados
Inclua mensagens de erro úteis
Limpe os recursos em caso de erros

Considerações de segurança#

1.
Segurança de transporte
Use TLS para conexões remotas
Valide as origens da conexão
Implemente autenticação quando necessário
2.
Validação de mensagens
Valide todas as mensagens recebidas
Sanitize as entradas
Verifique os limites de tamanho da mensagem
Verifique o formato JSON-RPC
3.
Proteção de recursos
Implemente controles de acesso
Valide os caminhos de recursos
Monitore o uso de recursos
Limite a taxa de solicitações
4.
Tratamento de erros
Não vaze informações confidenciais
Registre erros relevantes para a segurança
Implemente a limpeza adequada
Lide com cenários de DoS

Depuração e monitoramento#

1.
Logging
Registre eventos de protocolo
Rastreie o fluxo de mensagens
Monitore o desempenho
Registre erros
2.
Diagnostics
Implemente verificações de integridade
Monitore o estado da conexão
Rastreie o uso de recursos
Perfile o desempenho
3.
Testing
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
Previous
Inspetor
Next
Recursos
Built with