📜 O que é MCP
Model Context Protocol é um padrão aberto criado pela Anthropic em novembro de 2024 para conectar agentes a ferramentas, bases de dados e dados externos. Antes do MCP, cada integração era custom — código novo para cada ferramenta nova. MCP padroniza essa conversa, como o USB padronizou periféricos.
🔌 Analogia: MCP como USB
- •Antes do USB — cada periférico tinha conector diferente. Impressora PS/2, mouse serial, teclado AT.
- •Depois do USB — um padrão. Qualquer periférico, qualquer computador.
- •Antes do MCP — cada integração era código custom. GitHub, Slack, Notion: API diferente para cada um.
- •Com MCP — um protocolo. Qualquer ferramenta com MCP Server conecta com qualquer agente MCP Client.
📊 Números de adoção (2026)
- 97 milhões de downloads/mês de MCP servers (mar/2026)
- Linux Foundation assumiu governança do protocolo (dez/2025)
- Anthropic (criador, nov/2024), OpenAI (mar/2025), Google DeepMind (abr/2025)
- Cursor, Windsurf, Zed, JetBrains, VS Code — todos suportam nativamente
🌐 Adoção 2025-2026 e por que importa
Quando OpenAI e Google adotam o protocolo criado pela Anthropic, não é gentileza — é pragmatismo. MCP virou o padrão de fato antes de ser padrão oficial. Quem construiu integrações MCP em 2025 acordou em 2026 com ferramentas funcionando em todos os grandes agentes.
📅 Timeline de adoção
🔌 Anatomia técnica: Server, Client, Transport
MCP tem três componentes principais. Server expõe capacidades (ferramentas, dados, prompts). Client é o agente que chama o server. Transport é o meio de comunicação entre eles. Entender essa tríade é pré-requisito para usar ou construir qualquer integração MCP.
🏗️ Os três componentes
MCP Server
Processo separado que expõe capabilities via protocolo padronizado. Pode ser local (seu computador) ou remoto (cloud). Responsável por autenticação, rate limiting, segurança dos dados expostos.
MCP Client (Agente)
Claude Code, Cursor, ou qualquer agente que implemente o protocolo MCP client. Descobre as capabilities do server via tools/list, depois invoca via tools/call.
Transport
stdio — para servers locais (processo filho). Mais simples, sem network overhead.
SSE (Server-Sent Events) — para servers remotos, streaming de eventos.
HTTP Streamable — novo padrão (2025), mais robusto para produção.
💡 Quando usar qual transport
Use stdio para desenvolvimento local e scripts pessoais. Use SSE/HTTP quando o server precisa ser compartilhado com um time ou rodar em cloud. Marco e Sally usam servers locais stdio; uma empresa com time de 20 pessoas precisa de server HTTP centralizado.
🛠️ Tools, Resources e Prompts
MCP define três tipos de capability que um server pode expor. Saber quando usar cada um evita anti-padrões comuns — como expor uma ação destrutiva como Resource em vez de Tool, ou duplicar dados desnecessariamente.
🎯 Os 3 tipos de capability
🛠️ Tools — ações que o agente executa
Operações com efeito colateral: criar issue no GitHub, enviar mensagem no Slack, atualizar registro no CRM.
tool: create_github_issue(title, body, labels) → issue_url
📖 Resources — dados que o agente lê
Conteúdo estático ou dinâmico que o agente pode consumir: arquivos, documentos, dados de banco. Sem efeito colateral.
resource: file://platters/marketing.md → conteúdo do arquivo
💬 Prompts — templates reutilizáveis
Instruções parametrizadas que o server oferece ao agente. Análogo às skills, mas servidos pelo server.
prompt: analise_campanha(periodo="7d") → instrução montada
✓ Use Tool quando
- ✓A operação muda estado (cria, edita, deleta)
- ✓Precisa de confirmação antes de executar
- ✓Retorna resultado de execução, não dado
✓ Use Resource quando
- ✓Apenas leitura de dado existente
- ✓Conteúdo pode ser cacheado
- ✓Seguro de invocar múltiplas vezes (idempotente)
📦 Servers prontos para usar
Você não precisa construir do zero. Centenas de MCP servers oficiais e da comunidade cobrem as ferramentas mais comuns. Instalação em um comando — e o agente passa a ter acesso à ferramenta imediatamente.
📦 Servers populares
⚡ Instalação típica no Claude Code
# Adicionar ao .claude/settings.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projetos"]
}
}
}
🏗️ Construindo seu próprio MCP Server
Quando os servers da comunidade não cobrem seus sistemas internos, você constrói o seu. Todo sistema interno sério merece um MCP server — ERP próprio, base de dados interna, API legada. Com FastMCP (Python) ou o SDK oficial, isso leva horas, não semanas.
🐍 Exemplo: MCP Server com FastMCP (Python)
from fastmcp import FastMCP
import pandas as pd
mcp = FastMCP("Servidor de Vendas Marco")
@mcp.tool()
def consulta_kpis(periodo: str = "7d") -> dict:
"""Retorna KPIs de vendas do período especificado"""
df = pd.read_csv('vendas.csv')
# filtrar por período, calcular KPIs
return {
"receita": df['valor'].sum(),
"pedidos": len(df),
"ticket_medio": df['valor'].mean()
}
@mcp.resource("platter://marketing")
def marketing_platter() -> str:
"""Retorna o Silver Platter de marketing atual"""
with open('platters/marketing_current.md') as f:
return f.read()
if __name__ == "__main__":
mcp.run() # stdio por padrão
💡 Use a skill mcp-builder
O curso tem uma skill dedicada: /mcp-builder. Ela guia a construção de MCP servers do zero — desde design das capabilities até deploy e configuração no Claude Code. Acione com /mcp-builder no Claude Code.
📋 Resumo do Módulo
Próximo Módulo:
3.5 — Context Engineering — a nova disciplina