Aula 03 - Arquitetura do MCP 🏗️
Entendendo os Componentes e Fluxos
Agenda de Hoje 📅
- Cliente, Servidor e Modelo
- Métodos de Transporte (Stdio vs SSE)
- O Fluxo de Inicialização
- Cicatrizando a Comunicação
- Segurança por Design
1. Os Três Atores Principais 🎭
graph TD
A[Modelo - LLM] --- B[Cliente - Host]
B --- C[Servidor - Source]
1.1 O Modelo (A Inteligência) 🧠
- Tome as decisões.
- Analisa os dados recebidos.
- Decide qual ferramenta chamar.
1.2 O Cliente (O Orquestrador) 👷
- Conecta o modelo aos servidores.
- Gerencia o estado e as permissões.
- Ex: Claude Desktop, Cursor, IDEs.
1.3 O Servidor (A Fonte) 💾
- Expor dados e funcionalidades.
- Conecta ao mundo real (Arquivos, APIs, DB).
- Rodam como processos isolados.
2. Métodos de Transporte 🚀
2.1 Stdio (Standard I/O) 📂
- Comunicação local via terminais.
- Muito seguro (isolado na máquina).
- Baixa latência.
2.2 SSE (HTTP + Server-Sent Events) ☁️
- Ideal para conexões remotas.
- Escalonável na nuvem.
- Exige tratamento de rede.
3. Ciclo de Vida do Servidor 🔄
- Launch -> Initialize -> Run -> Shutdown.
4. O Passo a Passo da Chamada
- Modelo solicita
tool(args). - Cliente valida e envia
Request. - Servidor executa e retorna
Result. - Cliente entrega
Resultpara o Modelo.
5. Diagrama de Sequência
sequenceDiagram
participant M as Modelo
participant C as Cliente
participant S as Servidor
M->>C: Desejo usar Tool X
C->>S: tools/call (X)
S-->>C: result (JSON)
C->>M: Aqui está o dado
6. Isolamento e Segurança 🔐
- Servidores rodam como subprocessos.
- Não afetam a estabilidade do Cliente.
- Permissões granulares por ferramenta.
7. Prática: Monitorando Processos
$ ps -ef | grep mcp-server
root 1234 ... /usr/bin/node my-mcp-server.js
[INFO] Servidor rodando isolado.
8. Descoberta Dinâmica (Capabilities) 🔍
- O servidor diz ao cliente o que ele "sabe" fazer.
- Permite extensibilidade sem mudar o código do cliente.
9. Tratamento de Notificações 📩
- Mudança de estado sem interrupção.
- Logs de depuração em tempo real.
10. Resumo ✅
- Arquitetura desacoplada em 3 pilares.
- Stdio para local, SSE para remoto.
- Segurança centrada no Cliente.
11. Mini-Projeto: Fluxograma
- Desenhar o fluxo de uma consulta ao banco via MCP.
12. Dúvidas? 🤔
"A arquitetura correta simplifica o impossível."