Três editores, três respostas diferentes para a mesma pergunta. O VS Code guarda
os servidores MCP sob uma chave de primeiro nível chamada servers, o Zed chama
a mesma coisa de context_servers, e o Windsurf — que se chama Devin Desktop
desde 2 de junho de 2026 — usa mcpServers, a chave que a maioria dos outros
clientes usa. Erre a chave e o cliente sobe em silêncio: sem ferramentas e sem
erro nenhum.
O servidor em si não muda. Um servidor MCP local é um programa iniciado por stdio
com um comando e alguns argumentos, e cada um desses editores executa o mesmo
binário do mesmo jeito. O que você realmente faz em cada editor é registrar dois
valores — command e args — dentro do formato de configuração daquele editor.
Este guia dá o arquivo exato, a chave exata e o passo de verificação exato de
cada um, tudo conferido na documentação dos fornecedores em 14 de agosto de 2026.
Se o protocolo em si é novidade para você, o que é um servidor MCP cobre o vocabulário primeiro. Se você usa Claude ou Cursor, esses têm os próprios guias e costumam instalar com um clique; este artigo é sobre os três que não.
Todo servidor MCP local é descrito pelos mesmos dois valores:
command = "/absolute/path/to/the/executable"
args = ["--some-flag"]
É essa a carga inteira. O caminho absoluto importa mais do que parece: o editor
inicia o processo por conta própria, muitas vezes sem passar pelo seu shell de
login, então tudo que depende do PATH ou de um alias de shell vai funcionar no
seu terminal e falhar no cliente. Copie o caminho completo.
Todo o resto deste guia é empacotamento: em qual arquivo os dois valores entram e como se chama a chave em volta deles.
servers, não mcpServersO VS Code lê a configuração de MCP de um arquivo chamado mcp.json, em um de
dois lugares:
.vscode/mcp.json — viaja junto com o repositório, e
por isso é o lugar certo para os servidores que a equipe inteira deve ter.mcp.json aberto com o comando
MCP: Open User Configuration pela Command Palette — o lugar certo para
fontes de dados pessoais.O primeiro nível do arquivo tem servers, mais as seções opcionais inputs e
sandbox. Um servidor local fica assim:
{
"servers": {
"my-server": {
"type": "stdio",
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"]
}
}
}
Duas coisas surpreendem quem vem de outro cliente. A primeira é que a chave é
mesmo servers: um bloco mcpServers colado ali não é um erro que o VS Code
reporte, é simplesmente uma chave que ele não lê. A segunda é que o VS Code
limita cada requisição de chat a 128 ferramentas ativas, de modo que uma máquina
com muitos servidores registrados pode precisar que alguns sejam desligados antes
que o seu fique alcançável; o botão Configure Tools na visão de Chat é onde
isso acontece.
Há também um formato portável: para a configuração compartilhada com o Agent Host
e com o restante do ferramental do Copilot, o VS Code documenta um .mcp.json do
espaço de trabalho ou um ~/.copilot/mcp-config.json do usuário, que o Agent
Host lê nativamente.
Para verificar: rode MCP: List Servers pela Command Palette, selecione o seu servidor e use Show Output para ler o log dele. Um servidor que não subiu diz isso ali, normalmente junto com o caminho que não conseguiu executar.
O Zed chama os servidores MCP de context servers, e a chave de ajustes
acompanha: context_servers. Abra o arquivo de ajustes com a ação
zed: open settings file em vez de caçar o caminho, e então acrescente:
{
"context_servers": {
"my-server": {
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"],
"env": {}
}
}
}
Servidores remotos usam url e, opcionalmente, headers no mesmo bloco, o que
faz de context_servers o único lugar onde os dois transportes convivem. O Zed
também tem um caminho pela interface: Settings → AI → MCP Servers e depois
Add Server → Add Local Server, que escreve a mesma entrada por você. Muitos
servidores populares vêm ainda empacotados como extensões do Zed, instaláveis por
essa tela, mas um servidor que é entregue dentro de um aplicativo de desktop não
vai estar nessa lista, e a entrada manual acima é o caminho.
Para verificar: abra Settings → AI → MCP Servers e olhe o indicador ao lado do seu servidor. Um ponto verde com a dica Server is active quer dizer que o aperto de mão deu certo.
Esta é a parte com a qual a maioria dos guias da web ainda não se atualizou. A
Cognition renomeou o Windsurf para Devin Desktop em 2 de junho de 2026, na
forma de uma atualização remota comum: sem reinstalar, sem assistente de
migração, e com planos, extensões e atalhos de teclado preservados. Os antigos
domínios de marketing agora redirecionam para devin.ai, e a documentação vive
em docs.devin.ai.
Para MCP, a consequência prática é que agora existem dois destinos possíveis, e qual deles é o certo depende do agente com quem você está falando:
| Agente | Arquivo de configuração MCP | Chave de primeiro nível |
|---|---|---|
| Cascade (legado) | ~/.codeium/windsurf/mcp_config.json |
mcpServers |
| Devin Local (atual) | ~/.config/devin/mcp_config.json |
mcpServers |
A documentação do Cascade ainda descreve o caminho ~/.codeium/windsurf/: ele
permaneceu disponível até 1 de julho de 2026 para permitir uma migração gradual.
O sucessor, o Devin Local, é uma reescrita em Rust que a Cognition descreve
como até 30% mais eficiente em tokens e com suporte a subagentes, e é o agente
padrão das abas novas. O Devin Local não lê o arquivo do Cascade: ele usa a
configuração da CLI do Devin, na qual os servidores no escopo do projeto ficam em
.devin/mcp_config.json e os pessoais, com chaves de API, no
.devin/mcp_config.local.json, que fica fora do repositório pelo gitignore.
Se você acrescentou um servidor meses atrás e o seu agente parou de enxergá-lo, esta é a explicação mais provável: o arquivo está certo, quem mudou foi o agente que o lê.
Mais um limite que vale conhecer: o Cascade limita o agente a 100 ferramentas no total por vez. Como no VS Code, uma configuração cheia pode empurrar as ferramentas do seu servidor para fora do alcance sem que nada pareça quebrado.
Para verificar: clique no ícone MCPs no canto superior direito do painel do Cascade para abrir a página de ajustes de MCP, onde as ferramentas de cada servidor são listadas e podem ser ligadas uma a uma. Um servidor sem ferramenta alguma listada não subiu.
| VS Code | Zed | Devin Desktop (Windsurf) | |
|---|---|---|---|
| Arquivo | .vscode/mcp.json ou o mcp.json do perfil do usuário |
arquivo de ajustes (zed: open settings file) |
~/.codeium/windsurf/mcp_config.json (Cascade) ou ~/.config/devin/mcp_config.json (Devin Local) |
| Chave | servers |
context_servers |
mcpServers |
Precisa de type: stdio |
Sim | Não | Não |
| Caminho pela interface | MCP: Add Server | Settings → AI → MCP Servers | Ícone MCPs no painel do Cascade |
| Teto de ferramentas | 128 por requisição | Não documentado | 100 no total (Cascade) |
A linha para ler duas vezes é a da chave. Toda outra diferença se anuncia com uma mensagem de erro; uma chave errada, não.
Claude Desktop, Claude Code e Cursor usam todos mcpServers e todos guardam o
arquivo em um lugar previsível: claude_desktop_config.json na pasta de suporte
do aplicativo, ~/.claude.json e ~/.cursor/mcp.json, respectivamente. É essa
consistência que explica por que tantos aplicativos entregam um instalador de um
clique para esses três e param por aí.
Os três editores deste guia desviam cada um em um eixo: o VS Code no nome da chave, o Zed no nome da chave e no vocabulário, o Devin Desktop no local do arquivo depois da troca de nome. Nada disso é difícil, mas nada disso é adivinhável, e é por isso que copiar o JSON direto do README de um fornecedor produz tantas vezes um cliente que sobe sem ferramenta nenhuma.
Depois de editar qualquer um desses arquivos à mão, reinicie o editor. A maioria dos clientes lê a configuração de MCP na inicialização, e uma configuração que parece correta mas nunca foi relida é a causa isolada mais comum do «o assistente não vê os meus dados».
O Speak-Y traz o servidor MCP dentro do aplicativo de macOS, então não há nada para instalar do npm nem token para emitir. Em Configurações → Integrações, o Instalar ao lado de um cliente detectado escreve a configuração de Claude Code, Claude Desktop e Cursor, cada uma no formato do próprio cliente. VS Code, Zed e Devin Desktop não estão nessa lista: para eles, você copia os mesmos dois valores nos formatos acima:
command = "/Applications/Speak-Y.app/Contents/MacOS/Speak-Y"
args = ["--mcp"]
Acrescentar --read-only como segundo argumento sobe o servidor sem nenhuma das
ferramentas que alteram dados — útil quando você quer que o agente de um editor
busque nas transcrições sem nunca tocar em tags, nomes de participantes ou
canais de equipe. As instalações de um clique de propósito não
acrescentam essa opção: somente leitura é uma decisão, então você a toma de forma
explícita.
O que o assistente ganha, então, são treze ferramentas: cinco que leem — busca nas gravações, transcrições, resumos, itens de ação, tags — e oito que alteram alguma coisa, declaradas ao cliente como alteradoras de dados para que ele pergunte antes de chamá-las. A leitura acontece localmente, contra a biblioteca na sua máquina; os comandos que alteram passam pelo aplicativo em execução e ficam registrados onde você pode lê-los depois. O servidor é gratuito em todos os planos.
O motivo de isso pesar mais em um editor do que em um aplicativo de conversa é o contexto. Um agente de código que consegue ler o que de fato foi decidido na reunião de terça não precisa que você redigite a decisão em um prompt: é o mesmo argumento de Cursor e o contexto das reuniões, que vale sem alteração para VS Code e Zed assim que a configuração acima estiver no lugar.
Se o seu servidor está registrado e o assistente continua sem relatar nada, a causa é quase sempre uma de quatro: o editor não foi reiniciado, o caminho ficou velho depois de uma atualização do aplicativo, o teto de ferramentas está cheio, ou o nome da chave está errado para aquele cliente. Confira nessa ordem antes de reescrever qualquer coisa.
O VS Code guarda os servidores MCP em um arquivo chamado mcp.json: ou .vscode/mcp.json dentro de um espaço de trabalho, ou um mcp.json no seu perfil de usuário, que você abre com o comando MCP: Open User Configuration. Diferente da maioria dos clientes, a chave de primeiro nível dele é servers, e não mcpServers.
O Zed usa context_servers no arquivo de ajustes, e não mcpServers. Uma entrada local leva command, args e env; uma remota leva url e headers. Abra o arquivo com a ação zed: open settings file, ou acrescente o servidor por Settings → AI → MCP Servers.
Não. A Cognition renomeou o Windsurf para Devin Desktop em 2 de junho de 2026, na forma de uma atualização remota que preservou planos, extensões e ajustes. O Cascade, o agente que lia ~/.codeium/windsurf/mcp_config.json, continuou disponível até 1 de julho de 2026; o sucessor dele, o Devin Local, lê os arquivos de configuração da CLI do Devin.
Não. O mesmo binário stdio funciona em todos os clientes; o que muda é o arquivo em que você o registra e o nome da chave de primeiro nível. Você escreve o comando e os argumentos uma vez e cola esses mesmos dois valores no formato de configuração de cada editor.
Cada cliente tem o próprio indicador: no VS Code, rode MCP: List Servers pela Command Palette e use Show Output para ler o log; no Zed, abra Settings → AI → MCP Servers e procure o ponto verde com Server is active; e no Devin Desktop, abra o ícone MCPs no painel do Cascade para ver as ferramentas do servidor listadas.