MÓDULO 3.4

🌐 MCP — conectando ferramentas e dados

97 milhões de downloads/mês. Linux Foundation. Anthropic, OpenAI, Google: todos adotaram. O TCP/IP da era agêntica — o protocolo que conecta agentes a ferramentas e dados externos.

6
Tópicos
50
Minutos
Médio
Nível
Técnico
Tipo
1

📜 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
2

🌐 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

Nov 2024 Anthropic lança MCP como open source. Primeiro batch de servers oficiais.
Mar 2025 OpenAI anuncia suporte nativo ao MCP no Agents SDK.
Abr 2025 Google DeepMind confirma suporte MCP. Cursor e Windsurf adotam.
Dez 2025 Linux Foundation assume governança. MCP se torna padrão neutro de vendor.
Mar 2026 97M downloads/mês. Centenas de servers na comunidade. Padrão consolidado.
3

🔌 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.

4

🛠️ 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)
5

📦 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

GitHub — issues, PRs, repos, code search
Slack — mensagens, canais, histórico
Notion — páginas, databases, blocos
Google Drive — docs, sheets, search
PostgreSQL — queries read-only seguras
Brave Search — busca web sem chave cara
Filesystem — leitura/escrita local controlada
Context7 — documentação de libs up-to-date

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"]
    }
  }
}
6

🏗️ 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

MCP = padrão aberto consolidado — 97M downloads/mês, Linux Foundation, multi-vendor
Tríade: Server + Client + Transport — stdio local, SSE/HTTP para cloud
Tools vs Resources vs Prompts — ação com efeito / leitura idempotente / template
Servers prontos — GitHub, Slack, Notion, Drive, PostgreSQL — instalação em 1 comando
FastMCP para servers próprios — sistemas internos merecem MCP server, não integrações ad-hoc
Use /mcp-builder skill — skill dedicada para construir do zero com guidance passo a passo

Próximo Módulo:

3.5 — Context Engineering — a nova disciplina