Voltar para Trilha 2
Modulo 2.1

MCP: Model Context Protocol

O protocolo que conecta LLMs ao mundo real. Ferramentas, dados e servicos acessiveis de forma padronizada.

1

🔌 Fundamentos de MCP - Por que se tornou infraestrutura (1.864+ servidores registrados)

O que e:

MCP (Model Context Protocol) e um protocolo aberto criado pela Anthropic que padroniza como LLMs se conectam a fontes de dados e ferramentas externas. Funciona como uma "porta USB-C" para IA: uma interface unica que conecta qualquer modelo a qualquer recurso.

Por que aprender:

Com 1.864+ servidores registrados e adocao por todas as grandes plataformas (Claude, Cursor, Windsurf, VS Code), MCP nao e mais experimental. E infraestrutura. Saber usar e construir servidores MCP e o que separa quem usa IA de quem constroi sistemas com IA.

Conceitos-chave:

Protocolo cliente-servidor, JSON-RPC 2.0, tools/resources/prompts como primitivas, host vs client vs server, ciclo de vida de conexao, capability negotiation.

2

🌐 HTTP como transporte - Padrao em producao substituindo stdio

O que e:

A evolucao do transporte MCP de stdio (standard input/output) para Streamable HTTP. Stdio funciona bem localmente, mas em producao voce precisa de HTTP para escalar, autenticar e monitorar conexoes entre clientes e servidores MCP.

Por que aprender:

Servidores MCP em producao precisam de autenticacao (OAuth 2.1), rate limiting, logging e deploy distribuido. Stdio nao suporta nada disso. HTTP com SSE (Server-Sent Events) se tornou o padrao para servidores remotos.

Conceitos-chave:

Streamable HTTP transport, Server-Sent Events (SSE), OAuth 2.1 para autenticacao, stdio vs HTTP trade-offs, session management, reconnection handling.

3

📋 MCP Server Cards - .well-known/mcp para descoberta automatica

O que e:

MCP Server Cards sao documentos JSON publicados em .well-known/mcp.json que descrevem as capacidades de um servidor MCP. Permitem que clientes descubram automaticamente quais ferramentas, recursos e prompts um servidor oferece, sem configuracao manual.

Por que aprender:

A descoberta automatica elimina a configuracao manual de servidores. Em vez de listar endpoints e capacidades num arquivo de config, o cliente simplesmente consulta o .well-known/mcp.json e sabe o que esta disponivel. Isso habilita composicao dinamica de ferramentas.

Conceitos-chave:

Well-known URIs, server card schema, capability advertisement, tool discovery, dynamic registration, versioning de capacidades.

4

🔗 Conectando LLMs - Ferramentas, arquivos, terminal, docs e servicos externos

O que e:

A pratica de conectar LLMs a recursos do mundo real via MCP: sistemas de arquivos, terminais, bancos de dados, APIs, documentacao e servicos SaaS. Cada conexao e um servidor MCP que expoe tools (acoes), resources (dados) ou prompts (templates).

Por que aprender:

O poder de um LLM isolado e limitado. Quando voce conecta um modelo ao GitHub, ao banco de dados, ao Slack e ao sistema de arquivos via MCP, ele se torna um agente capaz de executar tarefas reais. A diferenca entre "chatbot" e "assistente de engenharia" esta nas conexoes.

Conceitos-chave:

Tool definitions com JSON Schema, resources como URIs enderecaveis, prompts como templates reutilizaveis, composicao de multiplos servidores, sandboxing e permissoes.

5

🏗️ Servidor MCP - Estrutura de um servidor e desenho de capacidades

O que e:

A construcao de um servidor MCP do zero: definir quais ferramentas expor, como estruturar inputs/outputs, como validar requisicoes e como fazer o deploy. Um servidor MCP e basicamente um processo que fala JSON-RPC e expoe capacidades que um LLM pode invocar.

Por que aprender:

Usar servidores prontos e o basico. Construir os seus e o que transforma qualquer sistema legado, API interna ou workflow proprietario em algo que um LLM pode operar. Voce cria a ponte entre a IA e o seu dominio especifico.

Conceitos-chave:

@modelcontextprotocol/sdk, handler patterns, input validation com Zod/JSON Schema, error handling, logging estruturado, testes de servidor, deploy com Docker.

6

⚠️ Riscos operacionais - Agentes com acesso a ferramentas reais, quando evitar

O que e:

Os riscos concretos de dar a um LLM acesso a ferramentas que afetam o mundo real: deletar arquivos, executar comandos, fazer deploy, enviar emails. Inclui prompt injection via tools, exfiltracao de dados, acao em loop destrutivo e falta de auditoria.

Por que aprender:

Um agente com acesso ao terminal pode rodar rm -rf se o prompt for manipulado. Um agente com acesso ao email pode enviar dados sensiveis. Entender os riscos antes de dar poder a um LLM e a diferenca entre engenharia e negligencia.

Conceitos-chave:

Principio do menor privilegio, tool poisoning, prompt injection indireta via resources, sandboxing de execucao, human-in-the-loop, audit logging, rate limiting, permissoes granulares.

📝 Exercicios

Projeto: MCP para banco de dados (3h)

Construir MCP server em Python (FastMCP) que conecta a SQLite. Tools: query_db, list_tables, describe_table, insert_record. Conectar ao Claude e fazer queries em linguagem natural. Meta: perguntar "quais usuarios se cadastraram essa semana?" e obter query SQL + resultado.

Projeto: MCP para API externa (2h)

Wrapar API REST publica (GitHub, OpenWeather, NewsAPI) como MCP server. Mapear endpoints como tools, adicionar rate limiting e cache simples. Discussao: por que documentar bem cada tool e critico pro modelo escolher certo?

Projeto: MCP com permissoes (2h)

MCP server de filesystem com controle de acesso: apenas leitura em /prod, escrita em /workspace. Implementar e testar. Aprender por que permission scoping e seguranca critica.

Lab: Compor 3 MCPs (90 min)

Conectar 3 MCP servers simultaneamente (filesystem + database + GitHub) ao Claude Code. Executar uma tarefa que exige os tres (ex: ler issue do GitHub, consultar dados no DB, gerar arquivo de relatorio). Observar como o modelo decide qual tool usar.