MODULO 2.6

🔌 MCP Servers

Model Context Protocol: conecte Claude a servicos externos como databases, APIs e ferramentas.

6
Topicos
35
Minutos
Avancado
Nivel
Pratico
Tipo
1

🔌 O que e MCP

Model Context Protocol (MCP) e um protocolo padrao para conectar LLMs a servicos externos. Permite que Claude acesse databases, APIs, sistemas de arquivos especiais e muito mais.

O que MCP oferece

  • Tools: Novas ferramentas que Claude pode usar
  • Resources: Dados que Claude pode ler
  • Prompts: Templates de prompt pre-definidos
2

🏗️ Arquitetura MCP

MCP usa arquitetura cliente-servidor com comunicacao via JSON-RPC sobre stdio ou HTTP/SSE.

Fluxo de Comunicacao

┌──────────────┐     JSON-RPC      ┌──────────────┐
│              │  ──────────────►  │              │
│  Claude Code │      stdio        │  MCP Server  │
│   (Client)   │  ◄──────────────  │   (Tools)    │
│              │                   │              │
└──────────────┘                   └──────────────┘
                                          │
                                          ▼
                                   ┌──────────────┐
                                   │   External   │
                                   │   Service    │
                                   │  (DB, API)   │
                                   └──────────────┘
3

⚙️ Configurando MCP Servers

settings.json

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "$GITHUB_TOKEN"
      }
    }
  }
}
4

📦 Servers Populares

@mcp/server-filesystem

Acesso controlado a sistema de arquivos

@mcp/server-github

Integracao com GitHub API

@mcp/server-postgres

Conexao com PostgreSQL

@mcp/server-slack

Integracao com Slack

@mcp/server-memory

Memoria persistente entre sessoes

@mcp/server-brave-search

Busca web via Brave

5

🛠️ Criando seu MCP Server

Estrutura Basica (TypeScript)

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server({
  name: 'my-server',
  version: '1.0.0'
});

// Registrar tool
server.setRequestHandler('tools/list', async () => ({
  tools: [{
    name: 'my_tool',
    description: 'Does something useful',
    inputSchema: { type: 'object', properties: {} }
  }]
}));

// Iniciar servidor
const transport = new StdioServerTransport();
await server.connect(transport);
6

🔐 Seguranca e Permissoes

⚠️ Consideracoes de Seguranca

  • MCP servers podem acessar dados sensiveis - audite antes de usar
  • Use variaveis de ambiente para credentials, nunca hardcode
  • Limite permissoes ao minimo necessario
  • Servers de terceiros devem ser de fontes confiaveis

💡 Boa Pratica

Crie um MCP server separado para cada servico em vez de um server monolitico. Isso facilita auditoria e permite permissoes granulares.

📚 Resumo do Modulo

MCP - Model Context Protocol para integracao com servicos externos
Arquitetura - Cliente (Claude) + Server + Servico externo via JSON-RPC
Configuracao - mcpServers em settings.json com command e args
Servers - filesystem, github, postgres, slack, memory, etc

Proximo Modulo:

2.7 - IDE Integrations