Pular para conteúdo

Aula 14 - Deploy de Servidor MCP 🚢

Do Local para a Produção


Agenda de Hoje 📅

  1. Dockerizando o Servidor
  2. Gestão de Variáveis de Ambiente
  3. CI/CD: Automatizando o Lançamento
  4. SSE vs Stdio em Produção
  5. Escalabilidade e Monitoramento

1. Por que Docker? 🐳

  • Empacota tudo o que você precisa.
  • Evita o "funciona na minha máquina".
  • Isola o servidor do sistema do usuário.

2. Dockerfile MCP

FROM node:20
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "dist/index.js"]

3. Variáveis de Ambiente (.env) 🔑

  • API Keys.
  • URLs de Banco de Dados.
  • Jamais suba senhas no Git!

4. O Fluxo de CI/CD 🤖

graph LR
    A[Git Push] --> B[GitHub Actions]
    B -- "Test & Build" --> C[Docker Hub]
    C -- "Deploy" --> D[Cloud Provider]

5. SSE: Expondo via URL 🌍

  • Permite que o servidor seja acessado remotamente.
  • Use Nginx ou API Gateways.

6. Hospedagem na Nuvem (Cloud)

  • AWS / GCP / Azure.
  • Render / Fly.io / Railway (Recomendados).

7. Prática: Buildando a Imagem 💻

$ docker build -t meu-mcp .
$ docker run -p 3000:3000 meu-mcp

8. Logs Centralizados (Loki/Elastic)

  • Ver todos os erros em um só lugar.
  • Essencial para escala.

9. Segurança de Rede (TLS/SSL)

  • Sempre use HTTPS para servidores remotos.
  • Protege o tráfego JSON-RPC.

10. Resumo ✅

  • Docker simplifica o deploy.
  • CI/CD garante agilidade.
  • Segurança de chaves é obrigatória.

11. Mini-Projeto: Arquivo de Setup

  • Criar um docker-compose simples.

12. Dúvidas? 🤔

"Fazer deploy é uma arte; automatizá-lo é uma necessidade."