Claude Code: MCP (Model Context Protocol)

Última atualização: 2026-08-31

O MCP permite que o Claude Code vá além de ler/escrever arquivos locais — através de servidores MCP, pode conectar a bancos de dados, operar browsers, chamar APIs, com expansão de capacidade ilimitada.

💡 Dica: MCP (Model Context Protocol) é um protocolo aberto da Anthropic que permite que modelos de IA se conectem com segurança a fontes de dados e ferramentas externas. O Claude Code suporta MCP nativamente.

📋 Pré-requisitos: Capítulo 11 - Configuração de Permissões

1. O Que Você Vai Aprender


2. Conceitos Centrais do MCP

(1) Visão Geral da Arquitetura

100%
graph LR
    CC[Claude Code] <--> MCP[MCP Client]
    MCP <--> S1[Filesystem Server]
    MCP <--> S2[Database Server]
    MCP <--> S3[GitHub Server]
    MCP <--> S4[Browser Server]
Conceito Descrição Analogia
MCP Host Programa que executa o modelo de IA Browser
MCP Client Comunica-se com o Server HTTP Client
MCP Server Fornece ferramentas e dados HTTP Server
Tool Operação exposta pelo Server API Endpoint
Resource Dados expostos pelo Server API Resource

(2) Capacidades do MCP

Capacidade Sem MCP Com MCP
Ler arquivos locais ✅ Integrado ✅ Integrado
Escrever arquivos locais ✅ Integrado ✅ Integrado
Executar Shell ✅ Integrado ✅ Integrado
Consultar banco de dados ✅ PostgreSQL MCP
Operar GitHub ❌ (apenas CLI) ✅ GitHub MCP
Automação de browser ✅ Browser MCP
Buscar na web ✅ Search MCP

▶ Exemplo 1: Fluxo de Trabalho com MCP

TEXT 📖 Somente leitura
# Sem MCP: Consulta manual ao banco
> Check how many records are in the users table
Claude Code: I can't access the database directly. Run:
  psql -c "SELECT COUNT(*) FROM users"

# Com MCP (PostgreSQL Server): Consulta direta
> Check how many records are in the users table
Claude Code: [Query via PostgreSQL MCP]
  users table has 12,450 records.
  Active users: 8,920 (71.6%),
  Registered in last 7 days: 342.

3. Configuração de Servidor MCP

(1) Configuração Global

JSON
// ~/.claude/mcp_settings.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-filesystem", "/home/user/projects"]
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost:5432/mydb"
      }
    }
  }
}

(2) Configuração em Nível de Projeto

JSON
// .claude/mcp_settings.json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxxxx"
      }
    }
  }
}

4. Servidores MCP Comuns

(1) Servidores MCP Oficiais

Server Função Comando de Instalação
Filesystem Operações de arquivo aprimoradas npx -y @anthropic/mcp-filesystem
PostgreSQL Consultas de banco de dados npx -y @anthropic/mcp-postgres
GitHub Operações de API do GitHub npx -y @anthropic/mcp-github
GitLab Operações de API do GitLab npx -y @anthropic/mcp-gitlab
Browser Automação de browser npx -y @anthropic/mcp-browser
Brave Search Busca na web npx -y @anthropic/mcp-brave-search

▶ Exemplo 2: Prática com PostgreSQL MCP

TEXT 📖 Somente leitura
> Query user registrations in the last 7 days, grouped by day

Claude Code: [Using PostgreSQL MCP]
  → Executing SQL query...
  Results: 7-day breakdown with daily counts

5. Servidor MCP Customizado

▶ Exemplo 3: Criar Servidor MCP Simples

TYPESCRIPT
import { Server } from "@anthropic/mcp";

const server = new Server({
  name: "weather",
  version: "1.0.0",
});

server.tool("get_weather", "Get current weather for a city", {
  city: { type: "string", description: "City name" },
}, async ({ city }) => {
  const response = await fetch(
    `https://api.weather.com/current?city=${city}`
  );
  const data = await response.json();
  return {
    content: [{
      type: "text",
      text: `${city}: ${data.temperature}°C, ${data.condition}`
    }]
  };
});

server.start();

6. Segurança e Permissões do MCP

Prática Descrição
Menor privilégio Apenas configure servidores MCP necessários
Variáveis de ambiente Tokens/senhas via env vars, não hardcodados
Somente leitura primeiro MCP de banco prefere conexões somente leitura
Logs de auditoria Registrar histórico de chamadas de ferramentas MCP
Isolamento de rede Não expor bancos de dados de produção ao MCP

❓ Perguntas Frequentes

P: Diferença entre MCP e chamadas de API? R: MCP é um protocolo padronizado fornecendo descoberta e invocação unificada de ferramentas. Chamadas de API precisam de código hardcodado; MCP permite ao Claude Code descobrir e usar ferramentas dinamicamente.

P: Servidores MCP deixam o Claude Code mais lento? R: Levemente mais lento na inicialização (carregando config MCP), mas apenas chamadas de ferramentas MCP consomem tempo durante execução. Operações regulares não são afetadas.

P: Como debugar problemas de conexão MCP? R: Execute claude /mcp para ver servidores conectados e ferramentas. Verifique caminhos de arquivo de config e variáveis de ambiente.

P: MCP pode conectar a bancos de dados de produção? R: Tecnicamente sim, mas fortemente não recomendado. Use réplicas somente leitura ou bancos de desenvolvimento.


📖 Resumo


📝 Exercícios

  1. Básico (⭐): Configure o servidor Filesystem MCP, verifique que operações de arquivo aprimoradas funcionam.
  2. Intermediário (⭐⭐): Configure PostgreSQL MCP, consulte e analise resultados de banco de dados com o Claude Code.
  3. Avançado (⭐⭐⭐): Crie um servidor MCP customizado fornecendo funcionalidade de negócio específica, integre ao Claude Code.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%