Tres editores, tres respuestas distintas a la misma pregunta. VS Code guarda los
servidores MCP bajo una clave de primer nivel llamada servers, Zed llama a lo
mismo context_servers, y Windsurf — que se llama Devin Desktop desde el 2 de
junio de 2026 — usa mcpServers, la clave que emplea la mayoría de los demás
clientes. Si se equivoca de clave, el cliente arranca en silencio: sin
herramientas y sin ningún error.
El servidor en sí no cambia. Un servidor MCP local es un programa que se inicia
por stdio con un comando y unos argumentos, y cada uno de estos editores ejecuta
el mismo binario de la misma manera. Lo que usted hace realmente en cada editor
es registrar dos valores — command y args — dentro de la forma de
configuración propia de ese editor. Esta guía da el archivo exacto, la clave
exacta y el paso de verificación exacto de cada uno, todo contrastado con la
documentación de cada proveedor a 14 de agosto de 2026.
Si el protocolo en sí le resulta nuevo, qué es un servidor MCP cubre primero el vocabulario. Si usa Claude o Cursor, esos tienen sus propias guías y suelen instalarse con un clic; este artículo trata de los tres que no.
Todo servidor MCP local se describe con los dos mismos valores:
command = "/absolute/path/to/the/executable"
args = ["--some-flag"]
Eso es toda la carga útil. La ruta absoluta importa más de lo que parece: el
editor lanza el proceso por su cuenta, a menudo sin pasar por el shell de inicio
de sesión, así que cualquier cosa que dependa de PATH o de un alias del shell
funcionará en su terminal y fallará en el cliente. Copie la ruta completa.
Todo lo demás en esta guía es empaquetado: en qué archivo van esos dos valores y cómo se llama la clave que los envuelve.
servers, no mcpServersVS Code lee la configuración de MCP de un archivo llamado mcp.json, en uno de
estos dos sitios:
.vscode/mcp.json — viaja con el repositorio, así que
es el sitio adecuado para los servidores que debería tener todo su equipo.mcp.json que se abre con el comando
MCP: Open User Configuration desde la Command Palette — el sitio adecuado
para sus fuentes de datos personales.El primer nivel del archivo contiene servers, más las secciones opcionales
inputs y sandbox. Un servidor local tiene este aspecto:
{
"servers": {
"my-server": {
"type": "stdio",
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"]
}
}
}
Hay dos cosas que sorprenden a quien viene de otro cliente. La primera es que la
clave es de verdad servers: un bloque mcpServers pegado tal cual no es un
error que VS Code señale, es sencillamente una clave que no lee. La segunda es
que VS Code limita cada petición de chat a 128 herramientas activas, de modo que
en una máquina con muchos servidores registrados quizá haya que desactivar
algunos para que el suyo sea alcanzable; el botón Configure Tools de la vista
Chat es donde se hace eso.
También hay una forma portable: para la configuración compartida con el
Agent Host y el resto de las herramientas de Copilot, VS Code documenta un
.mcp.json del espacio de trabajo o un ~/.copilot/mcp-config.json de usuario,
que el Agent Host lee de forma nativa.
Para comprobarlo: ejecute MCP: List Servers desde la Command Palette, seleccione su servidor y use Show Output para leer su registro. Un servidor que no arrancó lo dice ahí, normalmente junto con la ruta que no pudo ejecutar.
Zed llama a los servidores MCP context servers, y la clave de ajustes va en
consecuencia: context_servers. Abra el archivo de ajustes con la acción
zed: open settings file en lugar de buscar la ruta a mano, y añada:
{
"context_servers": {
"my-server": {
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"],
"env": {}
}
}
}
Los servidores remotos usan url y, opcionalmente, headers en el mismo bloque,
lo que convierte a context_servers en el único sitio donde conviven los dos
transportes. Zed también tiene una ruta por interfaz:
Settings → AI → MCP Servers y luego Add Server → Add Local Server, que
escribe la misma entrada por usted. Muchos servidores populares vienen además
empaquetados como extensiones de Zed, instalables desde esa pantalla, pero un
servidor que se entrega dentro de una aplicación de escritorio no aparecerá en
esa lista, y la entrada manual de arriba es el camino.
Para comprobarlo: abra Settings → AI → MCP Servers y mire el indicador que hay junto a su servidor. Un punto verde con el mensaje emergente Server is active significa que el saludo inicial funcionó.
Esta es la parte con la que la mayoría de las guías de la red no se ha puesto al
día. Cognition renombró Windsurf como Devin Desktop el 2 de junio de 2026,
en forma de actualización remota corriente: sin reinstalar, sin asistente de
migración, y con los planes, las extensiones y los atajos de teclado intactos.
Los antiguos dominios comerciales ahora redirigen a devin.ai, y la
documentación vive en docs.devin.ai.
Para MCP, la consecuencia práctica es que ahora hay dos destinos posibles, y cuál es el correcto depende del agente con el que esté hablando:
| Agente | Archivo de configuración MCP | Clave de primer nivel |
|---|---|---|
| Cascade (heredado) | ~/.codeium/windsurf/mcp_config.json |
mcpServers |
| Devin Local (actual) | ~/.config/devin/mcp_config.json |
mcpServers |
La documentación de Cascade sigue describiendo la ruta ~/.codeium/windsurf/:
el agente siguió disponible hasta el 1 de julio de 2026 para permitir una
migración gradual. Su sucesor, Devin Local, es una reescritura en Rust que
Cognition describe como hasta un 30 % más eficiente en tokens y con soporte de
subagentes, y es el agente por defecto de las pestañas nuevas. Devin Local no lee
el archivo de Cascade: usa la configuración de la CLI de Devin, donde los
servidores del ámbito del proyecto van en .devin/mcp_config.json y los
personales con claves de API en .devin/mcp_config.local.json, excluido por
gitignore.
Si añadió un servidor hace meses y su agente dejó de verlo, esta es la razón más probable: el archivo está bien, lo que cambió es el agente que lo lee.
Otro límite que conviene conocer: Cascade limita el agente a 100 herramientas en total en un momento dado. Igual que en VS Code, una configuración cargada puede dejar las herramientas de su servidor fuera de alcance sin que nada parezca roto.
Para comprobarlo: pulse el icono MCPs de la esquina superior derecha del panel de Cascade para abrir la página de ajustes de MCP, donde se listan las herramientas de cada servidor y se pueden activar una a una. Un servidor sin herramientas listadas no arrancó.
| VS Code | Zed | Devin Desktop (Windsurf) | |
|---|---|---|---|
| Archivo | .vscode/mcp.json o el mcp.json del perfil de usuario |
archivo de ajustes (zed: open settings file) |
~/.codeium/windsurf/mcp_config.json (Cascade) o ~/.config/devin/mcp_config.json (Devin Local) |
| Clave | servers |
context_servers |
mcpServers |
Hace falta type: stdio |
Sí | No | No |
| Ruta por interfaz | MCP: Add Server | Settings → AI → MCP Servers | Icono MCPs del panel de Cascade |
| Tope de herramientas | 128 por petición | Sin documentar | 100 en total (Cascade) |
La fila que hay que leer dos veces es la de la clave. Cualquier otra diferencia se anuncia con un mensaje de error; una clave equivocada, no.
Claude Desktop, Claude Code y Cursor usan todos mcpServers y todos guardan el
archivo en un sitio predecible: claude_desktop_config.json en la carpeta de
soporte de la aplicación, ~/.claude.json y ~/.cursor/mcp.json,
respectivamente. Esa coherencia es la razón de que tantas aplicaciones incluyan
un instalador de un clic para esos tres y ahí se detengan.
Los tres editores de esta guía se desvían cada uno en un eje: VS Code en el nombre de la clave, Zed en el nombre de la clave y en el vocabulario, y Devin Desktop en la ubicación del archivo tras el cambio de nombre. Nada de esto es difícil, pero nada de esto se adivina, y por eso copiar el JSON directamente del README de un proveedor produce tan a menudo un cliente que arranca sin herramientas.
Después de editar a mano cualquiera de estos archivos, reinicie el editor. La mayoría de los clientes leen la configuración de MCP al arrancar, y una configuración que parece correcta pero que nunca se volvió a leer es la causa más frecuente del «el asistente no ve mis datos».
Speak-Y incluye su servidor MCP dentro de la aplicación de macOS, así que no hay nada que instalar desde npm ni ningún token que emitir. Desde Configuración → Integraciones, Instalar junto a un cliente detectado escribe la configuración de Claude Code, Claude Desktop y Cursor, cada una en su propio formato. VS Code, Zed y Devin Desktop no están en esa lista: para ellos copie los dos mismos valores en las formas de arriba:
command = "/Applications/Speak-Y.app/Contents/MacOS/Speak-Y"
args = ["--mcp"]
Añadir --read-only como segundo argumento arranca el servidor sin ninguna de
las herramientas que cambian datos, algo útil cuando quiere que el agente de un
editor busque en las transcripciones pero no toque nunca las etiquetas, los
nombres de los participantes ni los canales de equipo. Las
instalaciones de un clic no añaden esa opción a propósito: la lectura sola es una
decisión, así que la toma usted de forma explícita.
Lo que el asistente recibe entonces son trece herramientas: cinco que leen — búsqueda en las grabaciones, transcripciones, resúmenes, tareas pendientes, etiquetas — y ocho que cambian algo, declaradas al cliente como modificadoras de datos para que pregunte antes de llamarlas. La lectura ocurre en local contra la biblioteca de su máquina; los comandos que cambian algo pasan por la aplicación en ejecución y quedan registrados donde usted puede leerlos después. El servidor es gratuito en todos los planes.
Que esto importe más en un editor que en una aplicación de chat es una cuestión de contexto. Un agente de código capaz de leer lo que de verdad se decidió en la llamada del martes no necesita que usted vuelva a teclear la decisión en un prompt: es el mismo argumento de Cursor y el contexto de las reuniones, que se aplica sin cambios a VS Code y a Zed en cuanto la configuración de arriba está puesta.
Si su servidor está registrado y el asistente sigue sin informar de nada, la causa es casi siempre una de estas cuatro: no se reinició el editor, la ruta quedó obsoleta tras actualizar la aplicación, el tope de herramientas está lleno, o el nombre de la clave no es el que corresponde a ese cliente. Compruébelas en ese orden antes de reescribir nada.
VS Code guarda los servidores MCP en un archivo llamado mcp.json: o bien .vscode/mcp.json dentro de un espacio de trabajo, o bien un mcp.json en su perfil de usuario, que se abre con el comando MCP: Open User Configuration. A diferencia de la mayoría de los clientes, su clave de primer nivel es servers y no mcpServers.
Zed usa context_servers en su archivo de ajustes, no mcpServers. Una entrada local lleva command, args y env; una remota lleva url y headers. Abra el archivo con la acción zed: open settings file, o añada el servidor desde Settings → AI → MCP Servers.
No. Cognition renombró Windsurf como Devin Desktop el 2 de junio de 2026, mediante una actualización remota que mantuvo intactos los planes, las extensiones y los ajustes. Cascade, el agente que leía ~/.codeium/windsurf/mcp_config.json, siguió disponible hasta el 1 de julio de 2026; su sucesor, Devin Local, lee en su lugar los archivos de configuración de la CLI de Devin.
No. El mismo binario stdio funciona en todos los clientes; lo que cambia es el archivo donde lo registra y el nombre de la clave de primer nivel. Usted escribe el comando y los argumentos una vez y pega esos dos mismos valores en la forma de configuración propia de cada editor.
Cada cliente tiene su propio indicador: en VS Code ejecute MCP: List Servers desde la Command Palette y use Show Output para leer el registro; en Zed abra Settings → AI → MCP Servers y busque el punto verde que indica Server is active; y en Devin Desktop abra el icono MCPs del panel de Cascade para ver las herramientas del servidor.