Codex: Codex MCP

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

MCP (Model Context Protocol) é a ponte do Codex para o mundo externo — bancos de dados, APIs, serviços na nuvem, sistemas de documentação e mais.

📋 Pré-requisitos: Compreensão das operações básicas e configuração do Codex

1. O Que Você Vai Aprender


2. O Que é MCP

MCP significa Model Context Protocol, definindo um protocolo padrão para comunicação de Agent de IA com ferramentas externas.

100%
graph LR
    A[Codex Agent] --> B[MCP Client]
    B --> C[MCP Server: Banco de Dados]
    B --> D[MCP Server: GitHub]
    B --> E[MCP Server: Documentação]
    B --> F[MCP Server: Serviços na Nuvem]
Conceito Descrição
MCP Server Serviço que fornece ferramentas e dados
MCP Client Client embutido do Codex
Tool Operação exposta pelo Server
Resource Dados fornecidos pelo Server

3. Servidores MCP Embutidos

O Codex inclui servidores MCP comumente usados:

Server Função Ferramentas de Exemplo
filesystem Operações de arquivo read_file, write_file, list_dir
github Operações GitHub create_pr, list_issues, review_pr
fetch Requisições de rede get_url, post_url
database Operações de banco de dados query, insert, update

4. Configurando Servidores MCP

(1) Configuração Global

JSON
{
  "mcp_servers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxx"
      }
    }
  }
}

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

JSON
// .codex/mcp.json
{
  "mcp_servers": {
    "database": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://localhost/mydb"
      }
    }
  }
}

▶ Exemplo 1: Alice Conecta a um Banco de Dados

JSON
// Config MCP do projeto de Alice
{
  "mcp_servers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://localhost/ecommerce"
      }
    }
  }
}
TEXT 📖 Somente leitura
# Alice faz o Codex consultar o banco de dados
> Query the order count and total amount for the last 7 days

# Codex chama o banco de dados via MCP
→ Connected to postgres MCP server
→ Executing: SELECT COUNT(*), SUM(amount) FROM orders WHERE created_at > NOW() - INTERVAL '7 days'
→ Result: 1,234 orders, $89,567.89 total

5. Cenários MCP Comuns

(1) Operações de Banco de Dados

TEXT 📖 Somente leitura
> View the structure of the users table
> Query the number of active users
> Create a database migration for the new feature

(2) Integração com GitHub

TEXT 📖 Somente leitura
> List pending Issues
> Create a PR and link it to Issue #15
> View review comments on PR #42

(3) Consulta de Documentação

TEXT 📖 Somente leitura
> Look up the API design doc in Notion
> Read the technical spec from Confluence
> Search the project Wiki for deployment guide

(4) Operações de Serviços na Nuvem

TEXT 📖 Somente leitura
> View AWS S3 bucket list
> Check CloudWatch alerts
> List EC2 instance status

▶ Exemplo 2: Fluxo MCP de Bob

TEXT 📖 Somente leitura
# Bob usa MCP para desenvolvimento orientado a dados
> 1. Query the structure of the products table in the database
> 2. Create TypeScript type definitions based on the Schema
> 3. Generate CRUD API endpoints
> 4. Write integration tests

# Codex via MCP:
→ Connected to postgres MCP server
→ Reading products table schema...
→ Creating TypeScript types...
→ Generating API endpoints...
→ Writing integration tests...
→ All done ✓

6. Servidor MCP Personalizado

(1) Criar um Servidor MCP Simples

TYPESCRIPT
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";

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

server.tool("search_docs", { query: { type: "string" } }, async ({ query }) => {
  const results = await searchDocumentation(query);
  return { content: [{ type: "text", text: JSON.stringify(results) }] };
});

const transport = new StdioServerTransport();
await server.connect(transport);

(2) Registrar no Codex

JSON
{
  "mcp_servers": {
    "my-docs": {
      "command": "node",
      "args": ["/path/to/my-mcp-server.js"]
    }
  }
}

7. Segurança do MCP

Medida de Segurança Descrição
Controle de Permissão Cada MCP Server apenas expõe ferramentas necessárias
Isolamento de Ambiente MCP Servers rodam em processos independentes
Logging de Auditoria Registrar todas as chamadas de ferramentas MCP
Read-only Primeiro Banco de dados e outros serviços sensíveis preferem acesso apenas leitura

❓ Perguntas Frequentes

P: Qual a diferença entre MCP e chamadas de API regulares? R: MCP é um protocolo padronizado. O Codex pode descobrir e usar automaticamente ferramentas MCP sem escrever código de chamada de API manualmente. APIs regulares requerem integração manual.

P: Quais bancos de dados o MCP suporta? R: PostgreSQL, MySQL, SQLite, MongoDB e outros bancos de dados mainstream. A comunidade tem servidores MCP para ainda mais bancos de dados.

P: Criar um MCP Server personalizado é complexo? R: Não muito. Usando o MCP SDK, criar um Server leva apenas algumas dezenas de linhas de código. O trabalho principal é implementar a lógica da ferramenta específica.

P: O MCP pode expor dados sensíveis? R: Depende da configuração. Recomendado usar contas apenas leitura para MCP de banco de dados, e limitar endpoints acessíveis para MCP de API.

P: O MCP afeta a performance? R: Cada MCP Server é um processo independente com overhead de inicialização. Primeira chamada é ligeiramente mais lenta; chamadas subsequentes são normais.


📖 Resumo


📝 Exercícios

  1. Básico (⭐): Configure um servidor MCP (ex.: filesystem), faça o Codex usá-lo para operar em arquivos.
  2. Intermediário (⭐⭐): Configure um servidor MCP de banco de dados, faça o Codex consultar dados e gerar código.
  3. Avançado (⭐⭐⭐): Crie um servidor MCP personalizado que conecta à API interna da sua empresa.
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%