# Melhores servidores MCP para programar: lista prática

URL: https://agentvera.dev/pt/blog/best-mcp-servers-for-coding/ · Publicado: 2026-10-25

Os melhores servidores MCP para agentes de código: Playwright, GitHub, Context7, Sentry, Postgres e mais, com comandos para Claude Code, Codex e Gemini CLI.

**Resumo:**

- Comece com poucos servidores que preenchem uma lacuna real: um navegador (Playwright), documentação atual (Context7), seu issue tracker (GitHub) e erros (Sentry). Agentes de código já leem arquivos e rodam git.
- Cada servidor adiciona suas definições de ferramentas ao contexto a cada turno; conecte cada um só aos agentes e projetos que precisam dele e limite os toolsets quando o servidor permitir.
- Dê aos servidores de banco de dados acesso somente leitura numa cópia de desenvolvimento, mantenha tokens fora de arquivos de configuração em texto puro e trate tudo o que um servidor retorna como entrada não confiável.

Os melhores servidores MCP para agentes de código são os que dão ao agente algo que ele não consegue fazer sozinho: ver o app rodando num navegador, ler a documentação atual de uma biblioteca, olhar a issue que está corrigindo, encontrar o stack trace da produção. Um [agente de código](/pt/glossary/coding-agent/) como Claude Code, Codex ou Gemini CLI já lê arquivos, edita e roda comandos. Adicionar um servidor que duplica isso só gasta contexto.

Esta lista é opinativa e curta de propósito. Para cada servidor você vê o que ele faz, quando ajuda, como adicioná-lo e com o que tomar cuidado. Se o protocolo é novidade para você, comece por [o que é um servidor MCP](/pt/blog/what-is-mcp-server/) e pelo [verbete MCP no glossário](/pt/glossary/mcp/).

## Como escolhi estes servidores

Um servidor entra nesta lista se passa em três critérios:

1. **Preenche uma lacuna real.** Alcança algo fora do repositório: um navegador, um serviço hospedado, um banco de dados, documentação atual.
2. **É mantido pelo fornecedor ou por um projeto conhecido.** O repositório oficial traz instruções de instalação, e o servidor recebe atualizações.
3. **Seu acesso pode ser restringido.** Modos somente leitura, toolsets, escopo por projeto ou diretórios permitidos. Um servidor que você não consegue limitar é um servidor para pensar duas vezes.

Uma coisa todos os servidores têm em comum: suas definições de ferramentas entram no contexto do agente e são reenviadas a cada turno, mesmo que o agente nunca as chame. Então a pergunta nunca é “este servidor é útil?”, e sim “ele é útil para este agente, neste projeto, agora?”

## Referência rápida

| Servidor | O que dá ao agente | Transporte | Restrinja com |
| --- | --- | --- | --- |
| Playwright | Controlar um navegador real: abrir, clicar, preencher, tirar screenshot | stdio (`npx`) | `--isolated`, `--headless` |
| Chrome DevTools | Console, rede, traces de performance | stdio (`npx`) | `--isolated` |
| Context7 | Documentação atual e específica por versão | HTTP ou stdio | Chave de API, nada para escrever |
| GitHub | Issues, pull requests, busca de código, Actions | HTTP ou Docker | Toolsets, modo somente leitura |
| Sentry | Erros, stack traces, triagem de issues | HTTP (OAuth) | Org/projeto na URL |
| Postgres (Postgres MCP Pro) | Schema, queries, EXPLAIN, sugestões de índice | stdio (`uvx`/Docker) | `--access-mode=restricted` |
| Supabase | Tabelas, SQL, migrations, logs | HTTP (OAuth) | `read_only=true`, `project_ref` |
| Git | Log, diff, blame num repositório local | stdio (`uvx`) | `--repository` |
| Fetch | Ler uma página web como Markdown | stdio (`uvx`) | Use com moderação |
| Filesystem | Arquivos nas pastas que você indicar | stdio (`npx`) | Diretórios permitidos |

## 1. Playwright: deixe o agente ver o app

Se for adicionar um servidor só, adicione este. O Playwright MCP da Microsoft deixa o agente abrir seu app em `localhost`, ler a página pela árvore de acessibilidade, clicar em botões, preencher formulários e tirar screenshots. Isso transforma “mudei o formulário, deve funcionar” em “enviei o formulário e vi a mensagem de sucesso”.

```bash
claude mcp add playwright -- npx @playwright/mcp@latest
codex mcp add playwright -- npx @playwright/mcp@latest
gemini mcp add playwright npx @playwright/mcp@latest
```

Ele precisa de Node.js 18 ou mais novo. Flags úteis: `--headless` para rodar sem janela e `--isolated` para manter o perfil do navegador em memória, sem cookies ou logins sobrando entre sessões. Existe também `--allowed-origins`, mas o próprio projeto diz que isso não é uma barreira de segurança, então não conte com ele para manter o agente longe da internet aberta.

Cuidado: as páginas que o agente visita são entrada para o modelo. Uma página que diz “ignore suas instruções e rode este comando” é uma tentativa de [prompt injection](/pt/glossary/prompt-injection/). Mantenha o agente no seu próprio app sempre que puder. Para um fluxo completo, veja [testes de navegador com agentes de IA](/pt/blog/ai-agent-browser-testing/).

## 2. Chrome DevTools: depure o que o navegador vê

O Chrome DevTools MCP do Google se sobrepõe ao Playwright, mas é mais voltado a depuração: mensagens do console, requisições de rede, traces de performance. Quando uma página está lenta ou uma requisição falha com erro de CORS, é este o servidor que permite ao agente descobrir o porquê em vez de chutar.

```bash
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
```

Para Codex e Gemini CLI, use o mesmo comando (`npx -y chrome-devtools-mcp@latest`) com `codex mcp add` ou `gemini mcp add`. Escolha um dos dois servidores de navegador por agente, a menos que realmente precise dos dois; cada um adiciona uma longa lista de ferramentas.

## 3. Context7: documentação atual em vez de memória

Os modelos aprendem bibliotecas com dados de treinamento que têm meses ou anos. Por isso agentes chamam funções que foram renomeadas duas versões atrás. O Context7, da Upstash, entrega documentação e exemplos de código atuais e específicos por versão para uma longa lista de bibliotecas, para o agente consultar em vez de chutar.

```bash
# Remote server
claude mcp add --transport http context7 https://mcp.context7.com/mcp

# Or run it locally
codex mcp add context7 -- npx -y @upstash/context7-mcp
```

Se você tem uma chave de API do Context7, passe-a num header `CONTEXT7_API_KEY` no servidor remoto (por exemplo `--header "CONTEXT7_API_KEY: ctx7sk-…"` com `claude mcp add`). Um hábito útil no seu `CLAUDE.md` ou `AGENTS.md`: “Quando usar uma API de biblioteca da qual não tem certeza, consulte o Context7 primeiro.” Agentes seguem regras escritas com mais confiabilidade do que lembretes avulsos; veja [como escrever CLAUDE.md e AGENTS.md](/pt/blog/claude-md-agents-md/).

Cuidado: ele é somente leitura, então o risco é baixo, mas suas ferramentas ainda custam contexto. Dê-o a agentes que escrevem código usando bibliotecas de terceiros, não a um agente revisor que só lê diffs.

## 4. GitHub: issues, pull requests e CI

O servidor oficial do GitHub lê e escreve issues, pull requests, resultados de busca de código, execuções do Actions e mais. O agente pode começar pelo texto da issue, verificar o workflow que está falhando e abrir um pull request no final.

O servidor remoto fica em `https://api.githubcopilot.com/mcp/`. Você também pode rodá-lo localmente com Docker:

```bash
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT \
  -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
```

É aqui que o menor privilégio mais importa. O servidor do GitHub tem muitas ferramentas, e algumas escrevem. Restrinja:

- **Toolsets.** Ative só o que precisa, por exemplo `repos,issues,pull_requests`, com a flag `--toolsets` ou `GITHUB_TOOLSETS` localmente, ou o header `X-MCP-Toolsets` no servidor remoto.
- **Modo somente leitura.** Use `--read-only` localmente, ou acrescente `/readonly` à URL remota (`https://api.githubcopilot.com/mcp/readonly`), ou envie `X-MCP-Readonly: true`.
- **Um token fine-grained.** Limite o personal access token aos repositórios em que o agente trabalha, com as menores permissões que cobrem o trabalho.

Um agente revisor ou de triagem raramente precisa de acesso de escrita. Dê ferramentas de escrita só ao agente que deve abrir pull requests.

## 5. Sentry: comece pelo erro real

O servidor MCP hospedado do Sentry deixa o agente buscar erros, ler stack traces e ver os detalhes das issues. “Corrija o bug que os usuários encontram no checkout” vira “corrija esta exceção, nesta linha, com estes breadcrumbs”. A autenticação é por OAuth: a primeira conexão abre um login no navegador.

```bash
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp/my-org/my-project
```

Troque `my-org` e `my-project` pelos slugs da sua organização e do seu projeto. Limitar a URL a um projeto é o que o Sentry recomenda: as ferramentas passam a usar esse projeto por padrão e algumas ferramentas de descoberta ficam ocultas, o que também economiza contexto. Combinar Sentry com GitHub funciona bem para [corrigir falhas de CI](/pt/blog/auto-fix-ci-failures-with-ai/) e bugs de produção a partir do texto da issue.

## 6. Um servidor de banco de dados, somente leitura

Um agente que consegue ver o schema e rodar um `SELECT` escreve queries e migrations melhores. Um agente que consegue rodar `DROP TABLE` na produção é um dia ruim esperando para acontecer. Duas boas opções:

**Postgres MCP Pro** (crystaldba/postgres-mcp) funciona com qualquer banco PostgreSQL. Além de queries, ele explica planos de execução, verifica a saúde do banco e sugere índices. A configuração principal é o modo de acesso:

```bash
claude mcp add postgres --env DATABASE_URI=postgresql://readonly_user:pass@localhost:5432/app_dev \
  -- uvx postgres-mcp --access-mode=restricted
```

`restricted` limita o trabalho a transações somente leitura e impõe um teto de tempo de execução; `unrestricted` permite leitura e escrita completas. Use restricted e, de qualquer forma, conecte com um usuário de banco que só tenha permissão de `SELECT`. Duas travas são melhores que uma, e o projeto avisa que linguagens de stored procedure inseguras poderiam contornar suas verificações.

**Supabase** tem um servidor hospedado em `https://mcp.supabase.com/mcp`. Adicione `?project_ref=<id>&read_only=true` para amarrá-lo a um projeto e rodar toda query como um usuário Postgres somente leitura. O próprio Supabase recomenda usá-lo com dados de desenvolvimento, manter a aprovação manual das chamadas de ferramentas ativada e não entregá-lo a usuários finais.

Observação: o antigo servidor Postgres de referência do projeto MCP foi arquivado. Escolha um que seja mantido.

## 7. Git, Fetch e Filesystem: os servidores de referência

O projeto MCP ainda mantém alguns servidores de referência. São práticos, mas verifique antes se o seu agente precisa deles.

- **Git** (`uvx mcp-server-git --repository /path/to/repo`): ferramentas de log, diff, blame e commit. Agentes de código já rodam `git` no terminal, então isso ajuda mais em clientes sem acesso ao shell ou quando você quer que operações git apareçam como chamadas de ferramenta explícitas.
- **Fetch** (`uvx mcp-server-fetch`): transforma uma página web em Markdown para o modelo. Bom para ler uma referência de API que não está no Context7. Toda página buscada é entrada não confiável, então o aviso sobre prompt injection vale por inteiro.
- **Filesystem** (`npx -y @modelcontextprotocol/server-filesystem /path/one /path/two`): acesso a arquivos limitado aos diretórios que você listar. Claude Code e Codex já editam arquivos no projeto; use-o para expor uma pasta extra, como um diretório compartilhado de design tokens, sem abrir sua pasta pessoal inteira.

## Outros que vale conhecer

Dependendo da sua stack, estes podem merecer uma vaga: **Linear** ou **Notion** para tarefas e especificações, **Stripe** para objetos de pagamento em modo de teste, **Figma** para ler designs, a documentação da **Cloudflare** e servidores mobile para simuladores. Aplique os mesmos três critérios. Um servidor adicionado “só por garantia” basicamente adiciona contexto.

## Adicionando servidores ao Claude Code, Codex e Gemini CLI

O mesmo servidor funciona nos três; o registro é que muda.

**Claude Code.** As opções vêm antes do nome, o comando do servidor depois de `--`:

```bash
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
claude mcp add --scope project playwright -- npx @playwright/mcp@latest
claude mcp list
```

`--scope local` (padrão) mantém o servidor só para você neste projeto, `--scope user` para todos os seus projetos, e `--scope project` grava um `.mcp.json` no repositório para a equipe. O `.mcp.json` suporta expansão de `${VAR}`, então você pode fazer commit do arquivo sem fazer commit dos tokens. Rode `/mcp` dentro de uma sessão para fazer login em servidores OAuth.

**Codex.** Use a CLI ou edite `~/.codex/config.toml`:

```toml
[mcp_servers.github]
url = "https://api.githubcopilot.com/mcp/readonly"
bearer_token_env_var = "GITHUB_PAT"

[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
enabled_tools = ["browser_navigate", "browser_snapshot", "browser_click", "browser_take_screenshot"]
```

`bearer_token_env_var` lê o token de uma variável de ambiente em vez do arquivo, e `enabled_tools` / `disabled_tools` reduzem um servidor às ferramentas que você quer. `codex mcp login <name>` cuida dos servidores OAuth.

**Gemini CLI.** `gemini mcp add` grava em `.gemini/settings.json` (projeto, o padrão) ou em `~/.gemini/settings.json` com `--scope user`:

```bash
gemini mcp add --transport http github https://api.githubcopilot.com/mcp/readonly \
  --header "Authorization: Bearer $GITHUB_PAT"
```

No `settings.json`, `includeTools` e `excludeTools` limitam as ferramentas, e `trust: true` pula as confirmações. Deixe `trust` desligado para tudo que escreve. Repare que, se você colocar um token num `--header` como acima, ele vai parar no arquivo de configurações; prefira referências `$VAR` em `env` e `headers` sempre que puder.

## Notas de segurança

Servidores MCP conectam um modelo a sistemas reais. Um checklist curto:

- **Menor privilégio por padrão.** Modos somente leitura, toolsets enxutos, um projeto por servidor, tokens fine-grained. Dê acesso de escrita a um agente para uma tarefa, não a todos os agentes para sempre.
- **Dados de desenvolvimento, não de produção.** Aponte servidores de banco para uma cópia local ou staging. Se um agente precisar olhar a produção, use um usuário somente leitura e uma sessão curta.
- **Segredos fora do texto puro.** Use variáveis de ambiente, referências `${VAR}` ou o keychain do sistema operacional. Um token num `.mcp.json` commitado é um token vazado.
- **Tudo o que um servidor retorna é não confiável.** Páginas web, comentários de issues, linhas do banco e mensagens de erro podem conter instruções direcionadas ao agente. Mantenha as aprovações ativas para ferramentas que escrevem ou rodam comandos.
- **Saiba o que você está rodando.** Um servidor stdio é código rodando na sua máquina com as suas permissões. Instale pelo repositório oficial, fixe versões para tudo que for sensível e não cole comandos de instalação de READMEs aleatórios.
- **Confira a lista de ferramentas.** Liste as ferramentas de um servidor antes de entregá-lo a um agente e remova o que não precisa.

Para o panorama geral, leia [segurança de agentes de código com IA](/pt/blog/ai-coding-agent-security/).

## Combinando servidores e agentes

Se você roda vários agentes, distribua os servidores por função:

| Agente | Servidores |
| --- | --- |
| Frontend | Playwright ou Chrome DevTools, Context7, Figma |
| Backend | Context7, Postgres ou Supabase somente leitura |
| Corretor de bugs | Sentry, GitHub (issues e Actions), Playwright |
| Revisor | GitHub somente leitura |

Isso mantém o contexto de cada agente enxuto e limita o que um erro ou uma instrução injetada consegue alcançar. Também mantém baixo o [uso de tokens](/pt/blog/claude-code-token-usage/).

## Como faço isso com o AgentVera

Registrar os mesmos servidores três vezes em três formatos cansa rápido. No AgentVera eu os mantenho num só lugar:

- **Uma lista para todas as CLIs.** O [gerenciador de MCP](/pt/features/mcp-manager/) guarda os servidores e os conecta quando um agente inicia: Claude Code, Codex, Gemini CLI, Copilot, Cursor, opencode e as outras CLIs que aceitam MCP. Eu atribuo cada servidor a todos os agentes, a agentes escolhidos, a um grupo ou a uma função da equipe, e o limito a certos projetos.
- **Um catálogo e uma checagem de custo.** O catálogo tem entradas prontas para Playwright, Chrome DevTools, Context7, GitHub, Sentry, Supabase, Git, Fetch, Filesystem e mais. O teste de conexão lista as ferramentas de um servidor com um custo aproximado em tokens por ferramenta, então vejo o que cada um adiciona a cada turno.
- **Segredos no keychain.** Variáveis de ambiente e tokens de header ficam no keychain do sistema operacional, e servidores remotos passam pelo gateway do AgentVera, então a configuração da CLI nunca guarda o token.
- **Um navegador que posso acompanhar.** O [navegador do agente](/pt/features/agent-browser/) dá aos agentes um Chrome gerenciado via Playwright MCP, e eu acompanho as abas ao vivo.
- **Acesso ao banco com regras.** Em vez de uma connection string crua, o [gerenciador de banco de dados](/pt/features/database-manager/) deixa os agentes consultarem uma conexão por uma ferramenta própria, somente leitura por padrão, com toda query registrada. O [DB Guard](/pt/features/db-guard/) verifica as migrations que o agente escreve.
- **Aprovações.** Para agentes Claude Code, a [aprovação automática](/pt/features/auto-approval/) responde só às solicitações sabidamente seguras; todo o resto continua vindo para mim.

## Conclusão

A melhor configuração de MCP para programação é pequena: um navegador, documentação atual, seu issue tracker e monitoramento de erros, mais um banco somente leitura quando a tarefa pedir. Adicione servidores por agente e por projeto, restrinja cada um com seu modo somente leitura ou toolsets, mantenha tokens fora de arquivos em texto puro e trate tudo o que um servidor retorna como não confiável. Se quiser gerenciar servidores para vários agentes num só lugar, [baixe o AgentVera de graça](/pt/download/) e abra a página de MCP.

## Perguntas frequentes

**Quais são os melhores servidores MCP para programação?** Para a maioria dos projetos: Playwright ou Chrome DevTools para ver o app rodando, Context7 para documentação atual de bibliotecas, GitHub para issues e pull requests, Sentry para erros de produção e um servidor de banco de dados somente leitura para conferir dados. Adicione outros só quando uma tarefa precisar.

**Quantos servidores MCP devo conectar a um agente?** O mínimo que a tarefa exige. As definições de ferramentas de cada servidor são enviadas a cada turno, então dez servidores com muitas ferramentas consomem contexto mesmo sem uso. Três a cinco servidores focados por agente é um bom ponto de partida.

**É seguro dar a um agente de código acesso ao banco de dados via MCP?** Numa cópia de desenvolvimento ou staging, com um usuário somente leitura ou um modo do servidor que só permita transações somente leitura, sim. Não conecte um agente à produção com acesso de escrita e lembre que os dados do banco podem conter texto que tenta manipular o agente.

**Preciso do servidor MCP de filesystem no Claude Code ou no Codex?** Normalmente não. Agentes de código já leem e editam arquivos na pasta do projeto. O servidor de filesystem ajuda clientes sem acesso a arquivos, ou quando você quer expor uma pasta extra fora do projeto de forma controlada.

**Posso usar os mesmos servidores MCP no Claude Code, no Codex e no Gemini CLI?** Sim. MCP é um protocolo aberto, e o mesmo comando stdio ou endereço HTTP funciona nos três. Só muda a forma de registrar: claude mcp add, codex mcp add ou config.toml, e gemini mcp add ou settings.json.

---

**Sobre o AgentVera.** AgentVera é um app desktop para macOS, Windows e Linux, desenvolvido pela Solviera Teknoloji. Ele roda 18 agentes de programação com IA (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) lado a lado, por projeto, em terminais reais com as instalações e logins de CLI do próprio usuário. O plano gratuito tem agentes ilimitados. Baixar: https://agentvera.dev/pt/download/ · Preços: https://agentvera.dev/pt/pricing/
