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
- Conceitos e arquitetura do MCP
- Servidores MCP embutidos
- Integração MCP personalizada
- Cenários MCP comuns
2. O Que é MCP
MCP significa Model Context Protocol, definindo um protocolo padrão para comunicação de Agent de IA com ferramentas externas.
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
{
"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
// .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
// Config MCP do projeto de Alice
{
"mcp_servers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://localhost/ecommerce"
}
}
}
}
# 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
> 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
> List pending Issues
> Create a PR and link it to Issue #15
> View review comments on PR #42
(3) Consulta de Documentação
> 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
> View AWS S3 bucket list
> Check CloudWatch alerts
> List EC2 instance status
▶ Exemplo 2: Fluxo MCP de Bob
# 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
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
{
"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
- MCP é o protocolo padrão para conexões de Agent de IA a ferramentas externas
- Servidores embutidos: filesystem / github / fetch / database
- Configuração: mcp.json global ou em nível de projeto
- Cenários: operações de banco de dados, integração GitHub, consultas de documentação, serviços na nuvem
- Segurança: controle de permissão, read-only primeiro, logging de auditoria
📝 Exercícios
- Básico (⭐): Configure um servidor MCP (ex.: filesystem), faça o Codex usá-lo para operar em arquivos.
- Intermediário (⭐⭐): Configure um servidor MCP de banco de dados, faça o Codex consultar dados e gerar código.
- Avançado (⭐⭐⭐): Crie um servidor MCP personalizado que conecta à API interna da sua empresa.