Pular para conteúdo

Aula 03 - Arquitetura do MCP 🏗️

Entendendo os Componentes e Fluxos


Agenda de Hoje 📅

  1. Cliente, Servidor e Modelo
  2. Métodos de Transporte (Stdio vs SSE)
  3. O Fluxo de Inicialização
  4. Cicatrizando a Comunicação
  5. 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

  1. Modelo solicita tool(args).
  2. Cliente valida e envia Request.
  3. Servidor executa e retorna Result.
  4. Cliente entrega Result para 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."