Configurar MCP no Claude Code: adicionar servidores

Como adicionar servidores MCP ao Claude Code: claude mcp add para stdio e HTTP, escopos, .mcp.json, /mcp e OAuth, importar do Claude Desktop, timeouts e limites.

Solviera Teknoloji 12 min de leitura

Para configurar MCP no Claude Code, rode claude mcp add no terminal. Um servidor local é claude mcp add <nome> -- <comando>, um remoto é claude mcp add --transport http <nome> <url>, e --scope decide se o servidor vale só para você neste projeto (local, o padrão), para o time inteiro por meio de um arquivo .mcp.json (project) ou para você em todos os projetos (user). Depois digite /mcp dentro de uma sessão para conferir a conexão e fazer login nos servidores que usam OAuth.

Este guia passa por cada etapa: transportes, o separador --, variáveis de ambiente e headers, escopos, escrever o .mcp.json à mão, os comandos list, get e remove, OAuth, importação do Claude Desktop, timeouts e limites de saída, e o que conferir antes de confiar nos servidores de um projeto. Os comandos vêm da documentação de MCP do Claude Code da Anthropic, em outubro de 2026. Se MCP é novidade para você, comece por o que é um servidor MCP; se quer saber quais servidores adicionar, veja os melhores servidores MCP para programar.

Referência rápida

TarefaComando
Adicionar servidor local (stdio)claude mcp add <nome> -- <comando> [argumentos...]
Adicionar servidor remoto (HTTP)claude mcp add --transport http <nome> <url>
Adicionar a partir de um trecho JSONclaude mcp add-json <nome> '<json>'
Compartilhar com o timeadicione --scope project (grava o .mcp.json)
Usar em todos os seus projetosadicione --scope user
Listar servidores e o status delesclaude mcp list
Ver os detalhes de um servidorclaude mcp get <nome>
Remover um servidorclaude mcp remove <nome>
Fazer login em um servidor OAuth/mcp em uma sessão, ou claude mcp login <nome>
Importar do Claude Desktopclaude mcp add-from-claude-desktop
Status, login, desativar, reconectar/mcp dentro do Claude Code

As opções curtas também funcionam: -t para --transport, -s para --scope, -e para --env e -H para --header.

Escolha o transporte: stdio, HTTP ou SSE

Um servidor MCP chega ao Claude Code de uma de três formas:

TransporteO que éQuando usar
stdioUm processo local que o Claude Code inicia e com o qual conversa por stdin e stdoutServidores que você roda com npx, uvx, Docker ou um script próprio
httpUm servidor remoto via HTTP streamableServiços hospedados: Notion, Sentry, GitHub, Stripe e outros. A Anthropic recomenda para servidores remotos
sseServer-Sent EventsSó servidores remotos antigos. A documentação marca o SSE como obsoleto

Você quase não precisa mais de --transport sse. Desde o Claude Code 2.1.265, claude mcp add --transport http tenta HTTP primeiro e muda sozinho para SSE quando o servidor não aceita HTTP. Em versões mais antigas, passe --transport sse explicitamente.

Adicionar um servidor stdio local

A regra que mais confunde: as opções do próprio Claude Code (--transport, --scope, --env) vêm antes do nome do servidor, e tudo depois de -- é o comando do servidor, repassado sem alteração.

# Forma básica
claude mcp add [opções] <nome> -- <comando> [argumentos...]

# Playwright, rodando com npx
claude mcp add playwright -- npx -y @playwright/mcp@latest

# Um servidor que precisa de uma API key no ambiente
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

Sem o --, uma opção do servidor como --port 8080 seria lida como opção do Claude Code e o comando falharia. Outra pegadinha citada na documentação: --env aceita vários pares KEY=value, então se o nome do servidor vier logo depois, ele é lido como mais um par e rejeitado. Coloque outra opção no meio, como --transport stdio, igual ao exemplo acima.

O Claude Code define CLAUDE_PROJECT_DIR no ambiente de cada servidor stdio, assim o servidor encontra a raiz do projeto sem depender do diretório de trabalho.

Adicionar um servidor HTTP remoto

Servidores remotos recebem uma URL em vez de um comando. Adicione headers com --header quando o servidor pedir uma API key ou um bearer token:

# Um servidor hospedado que faz login com OAuth
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Um servidor que usa um token estático
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

O header que você digita aqui fica salvo em texto puro no arquivo de configuração. Para qualquer coisa compartilhada, prefira OAuth ou uma referência ${VAR} no .mcp.json, explicada abaixo.

Se o README do servidor já traz uma definição em JSON, pule as opções e cole com add-json. O comando recebe o objeto que ficaria dentro de mcpServers, não o arquivo inteiro:

claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'

Escolha o escopo

Cada claude mcp add grava em um de três escopos:

EscopoOpçãoSalvo emQuem recebe
Local (padrão)--scope local~/.claude.json, sob o caminho deste projetoSó você, só neste projeto
Project--scope project.mcp.json na raiz do projetoTodo mundo que clona o repo
User--scope user~/.claude.jsonSó você, em todos os projetos
claude mcp add --transport http stripe https://mcp.stripe.com                      # local
claude mcp add --transport http shared-server --scope project https://example.com/mcp
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

Regra prática: ferramentas pessoais e tudo que leva suas próprias credenciais vão em user ou local; servidores de que o time inteiro precisa para trabalhar no repo vão em project.

Atenção: “local” aqui não é o .claude/settings.local.json. Servidores MCP locais ficam em ~/.claude.json, na sua pasta de usuário.

Quando o mesmo nome está definido em mais de um lugar, o Claude Code usa o de maior prioridade e não mescla campos: primeiro local, depois project, depois user, depois servidores de plugins e, por último, os conectores do claude.ai. Se dois escopos apontam o mesmo nome para endpoints diferentes, claude mcp list e /mcp avisam.

Escrever o .mcp.json à mão

Um servidor com escopo project é só um arquivo .mcp.json que você pode editar e revisar em pull requests:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    },
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

${VAR} é substituído pelo valor de uma variável de ambiente, e ${VAR:-default} usa um valor padrão quando ela não existe. A expansão funciona em command, args, env, url e headers, e é assim que você commita o arquivo sem commitar tokens: cada desenvolvedor define API_KEY no próprio shell. Se uma variável faltar e não tiver valor padrão, claude mcp list e /mcp avisam e deixam o texto sem expandir.

Um "timeout" por servidor, em milissegundos, define um limite rígido para as chamadas de ferramenta daquele servidor.

Gerenciar servidores: list, get, remove e /mcp

No shell:

claude mcp list          # todos os servidores, com status de conexão
claude mcp get notion    # detalhes de um servidor, inclusive por que falhou
claude mcp remove notion # remove do escopo onde está

list e get mostram o detalhe do erro com as credenciais ocultas. Um servidor de projeto que você ainda não aprovou aparece como pendente até você abrir o claude no modo interativo e aprová-lo.

Dentro de uma sessão, /mcp é o painel de controle. Ele mostra o status e a quantidade de ferramentas de cada servidor, e no menu de um servidor você pode se autenticar, se reautenticar, limpar a autenticação, reconectar ou desativar o servidor sem apagar a configuração. /mcp reconnect all tenta de novo todos os servidores com falha de uma vez (Claude Code 2.1.284 ou mais recente).

Servidores conectados trazem mais do que ferramentas. Digite @ para referenciar recursos de um servidor ao lado dos seus arquivos, e / para ver os prompts dele, listados como /servidor:prompt (MCP). As ferramentas se chamam mcp__<servidor>__<ferramenta>, e é esse nome que você usa nas regras de permissão e nos matchers de hooks.

Fazer login em servidores OAuth

Muitos servidores hospedados, como Sentry, Notion ou Linear, usam OAuth em vez de um token estático. Adicione o servidor com --transport http e sem header, e depois faça login:

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

No Claude Code, rode /mcp, escolha o servidor e clique em Authenticate. O navegador abre, você faz login, e o Claude Code guarda o token e o renova. Também dá para fazer pelo shell, sem abrir uma sessão:

claude mcp login sentry               # abre o navegador
claude mcp login sentry --no-browser  # imprime a URL, para sessões SSH
claude mcp logout sentry              # esquece as credenciais salvas

Execuções headless (claude -p) não conseguem mostrar uma tela de login, então faça login uma vez no modo interativo antes. Alguns servidores exigem uma porta de callback fixa ou um app OAuth pré-registrado; para eles, passe --callback-port, --client-id e --client-secret ao adicionar o servidor. O secret é pedido com entrada mascarada, ou lido de MCP_CLIENT_SECRET no CI.

Importar servidores do Claude Desktop

Se você já configurou servidores no app Claude Desktop, não precisa digitar tudo de novo:

claude mcp add-from-claude-desktop

Uma janela deixa você escolher quais servidores importar. Em outubro de 2026, isso só funciona no macOS e no WSL. Adicione --scope user para importar para a sua configuração de usuário. Nomes de servidor só podem ter letras, números, hífens e underscores, então um servidor do Desktop com espaço no nome é ignorado e reportado, e um nome que já existe ganha um sufixo como server_1.

Solução de problemas

SintomaO que tentar
O servidor não conectaclaude mcp get <nome> para ver o erro, depois Reconnect no /mcp
Servidor lento dá timeout na inicializaçãoInicie com MCP_TIMEOUT=10000 claude (dez segundos)
Chamadas longas de ferramenta são cortadasMCP_TOOL_TIMEOUT para todos os servidores, ou "timeout" por servidor no .mcp.json
Aviso de saída ou resultados truncadosO Claude Code avisa acima de 10.000 tokens e corta em 25.000 por padrão. Aumente com MAX_MCP_OUTPUT_TOKENS=50000
As opções do servidor são ignoradas ou rejeitadasOpções do Claude Code antes do nome, comando do servidor depois de --
Aviso de ${VAR} no /mcpDefina a variável no shell de onde você inicia o Claude Code, ou adicione :-default
Servidor ignorado ao carregarO nome é reservado (workspace, claude-in-chrome, computer-use e mais alguns); renomeie
O token funciona no curl, mas não aquiProcure um espaço ou quebra de linha no fim do token colado; o Claude Code avisa sobre espaços ocultos

Resultados de texto longos têm um segundo limite: um resultado com mais de 50.000 caracteres é salvo em um arquivo em vez de entrar direto no contexto.

Servidores remotos que caem no meio da sessão são retentados até cinco vezes com intervalo crescente, mas servidores stdio não são retentados automaticamente, então um servidor local que travou precisa ser reconectado pelo /mcp.

O contexto é o outro custo a acompanhar. Nos modelos atuais, o Claude Code usa busca de ferramentas (tool search) por padrão: na inicialização só carrega os nomes das ferramentas e as instruções dos servidores, e as definições completas são carregadas quando o Claude precisa delas. Isso deixa uma lista longa de servidores barata, mas cada servidor ainda é mais uma peça que pode falhar ou ser mal usada, então mantenha a lista curta. Em scripts, --mcp-config <arquivo> carrega servidores extras para uma única execução, e --strict-mcp-config faz o Claude Code usar só esses.

Segurança: servidores de projeto são código do repo

Um .mcp.json em um repo pode iniciar qualquer comando local ou apontar para qualquer URL. É isso que o torna útil para times, e também o motivo de o Claude Code tratá-lo com cuidado:

  • Aprovação primeiro. Em uma sessão interativa, o Claude Code pergunta antes de usar servidores com escopo project. claude mcp reset-project-choices limpa suas respostas anteriores.
  • Um repo não aprova a si mesmo. Configurações como enableAllProjectMcpServers commitadas no .claude/settings.json do projeto são ignoradas até você confiar na pasta, e o servidor continua pendente. Aprovações das suas próprias configurações de usuário continuam valendo.
  • Execuções headless não perguntam. Em claude -p e no Agent SDK não existe a pergunta, então os servidores de projeto carregam sem ela. Para bloquear um servidor em qualquer modo, coloque-o em disabledMcpjsonServers.
  • As credenciais ficam em casa. Em url e headers de um servidor remoto, variáveis sensíveis como ANTHROPIC_API_KEY são expandidas como vazias mesmo que estejam definidas, então um projeto não consegue mandar sua chave da Anthropic para o servidor dele sem você perceber.
  • Confie tão pouco no que o servidor devolve quanto no que ele executa. A documentação da Anthropic avisa que servidores que buscam conteúdo externo podem expor você a prompt injection. Prefira modos somente leitura e tokens com permissões mínimas.

Antes de aprovar, leia o command, os args e a url de cada servidor do mesmo jeito que você leria um script postinstall. O panorama geral está em segurança de agentes de código com IA.

Quando você usa mais do que o Claude Code

Tudo acima vale por CLI. O Codex guarda seus servidores em ~/.codex/config.toml, o Gemini CLI no próprio settings.json, e cada ferramenta tem seus comandos. Se o Claude Code é o único agente que você usa, claude mcp add e um .mcp.json commitado bastam, e nada aqui exige outra ferramenta.

Se você usa várias CLIs de código, as listas acabam se desencontrando. É para isso que existe o gerenciador de MCP do AgentVera, o app desktop que publica este blog:

  • Adicionado uma vez, conectado na inicialização. Você registra servidores stdio, HTTP e SSE no AgentVera, e eles se conectam quando os agentes iniciam: em todos os agentes, nos que você escolher, nos agentes de um grupo ou em um papel de time. Claude Code, Codex e os outros agentes de CLI com suporte a MCP recebem esses servidores.
  • Em sintonia com a configuração do Claude Code. Os servidores das configurações do Claude Code e do Codex aparecem com o status deles; você pode importá-los para o AgentVera ou removê-los da CLI, e os servidores do AgentVera também podem ser gravados nas configurações da CLI.
  • Um só login, sem tokens em arquivos. Servidores remotos passam pelo gateway do AgentVera, você faz login uma vez no app em um servidor OAuth, e a CLI do agente não guarda nenhum header nem token. Variáveis de ambiente e headers secretos ficam no chaveiro do sistema operacional.
  • Custos à vista. Um teste de conexão lista as ferramentas, prompts e recursos de um servidor com um custo aproximado em tokens por ferramenta.

Resumindo

Comece com um servidor de que você realmente precisa, adicionado com claude mcp add no escopo mais restrito que funcione. Confira com claude mcp list ou /mcp, faça login com /mcp ou claude mcp login, e só mova para um .mcp.json commitado quando o time inteiro precisar, com os tokens em referências ${VAR}. Quando algo quebrar, claude mcp get, MCP_TIMEOUT e MAX_MCP_OUTPUT_TOKENS resolvem quase tudo.

Leia mais:

Perguntas frequentes

Como adiciono um servidor MCP ao Claude Code?

Rode claude mcp add no terminal. Para um servidor local: claude mcp add <nome> -- <comando> [argumentos]. Para um remoto: claude mcp add --transport http <nome> <url>. Depois use claude mcp list, ou /mcp dentro de uma sessão, para conferir se ele conecta.

Onde o Claude Code guarda os servidores MCP?

Servidores com escopo local (padrão) e user ficam em ~/.claude.json; os locais, sob o caminho do projeto atual. Servidores com escopo project ficam em um arquivo .mcp.json na raiz do projeto, que você pode commitar para o seu time.

Qual a diferença entre os escopos local, project e user?

Local vale só para você e só neste projeto. Project vale para todo mundo que clona o repo, via .mcp.json. User vale só para você, mas em todos os projetos da sua máquina. Se um nome existe em vários escopos, local vence project, e project vence user.

Como faço login em um servidor MCP que usa OAuth?

Adicione-o com --transport http, depois rode /mcp no Claude Code e escolha Authenticate, ou use claude mcp login <nome> no shell. O login no navegador conclui o fluxo, e o Claude Code guarda e renova o token para você.

Por que meu servidor MCP dá timeout ou corta a saída?

Servidores lentos podem precisar de mais tempo para iniciar: abra o Claude Code com MCP_TIMEOUT=10000 para dez segundos. A saída das ferramentas tem limite padrão de 25.000 tokens, com aviso acima de 10.000; aumente o limite com MAX_MCP_OUTPUT_TOKENS.

É seguro usar o .mcp.json de um repo clonado?

Trate-o como qualquer código que você não escreveu. O Claude Code pede aprovação antes de usar servidores de projeto em uma sessão interativa, e um repo clonado não consegue aprovar os próprios servidores. Leia cada comando e cada URL antes de aceitar.

Reúna seus agentes em uma só mesa.

Baixe o AgentVera de graça; as CLIs que você já instalou estão prontas para usar.

Mais artigos