Para usar servidores MCP en Visual Studio Code y en el harness de GitHub Copilot, prepara archivos distintos: VS Code usa una configuración con la clave raíz servers, mientras que Copilot lee directamente el formato portable, cuya clave es mcpServers. Puedes mantener una lista común de servidores, pero el archivo portable no conserva varias opciones de VS Code.

MCP, o Model Context Protocol, permite que los clientes de IA accedan a herramientas y otras capacidades ofrecidas por servidores. Si trabajas también con Cursor, Coder ha descrito una vía para aprovisionar su configuración en espacios de trabajo gestionados; las rutas de VS Code y Copilot, en cambio, están detalladas en la referencia oficial de Microsoft.

Qué archivo lee cada cliente

El formato de espacio de trabajo de VS Code se guarda en .vscode/mcp.json; su archivo de perfil de usuario también sigue el formato de VS Code. El formato portable usa .mcp.json en el espacio de trabajo o un archivo de usuario de Copilot. Cambian tanto la ubicación como la clave principal y la forma de escribir las referencias a variables.

FormatoArchivo del espacio de trabajoArchivo de usuarioClave principalReferencia de variable
VS Code.vscode/mcp.jsonmcp.json en el perfil de usuario de VS Codeservers${env:NAME}
Portable de Copilot.mcp.json$COPILOT_HOME/mcp-config.json, o ~/.copilot/mcp-config.json como alternativamcpServers${NAME} o ${NAME:-default}

El harness de Copilot lee directamente el formato portable. VS Code puede reenviar servidores compatibles desde su propio formato, pero no los que necesitan variables de entrada interactiva como ${input:...}. Por eso, que un servidor aparezca en una sesión de VS Code no garantiza que llegue al harness de Copilot.

Cómo organizar los archivos

Antes de generar configuraciones, apunta qué servidores necesita el equipo y qué opciones de VS Code utiliza cada uno. Después, sigue este orden:

  1. Elige el formato según el cliente. Conserva .vscode/mcp.json para la configuración propia de VS Code. Si el harness de Copilot debe leer la configuración directamente, prepara también el formato portable.
  2. Adapta las referencias a variables. Usa la sintaxis correspondiente a cada archivo: ${env:NAME} en el formato de VS Code y ${NAME} o ${NAME:-default} en el portable. No copies las expresiones de un formato al otro sin ajustarlas.
  3. Comprueba cada archivo generado. Una estrategia descrita por Tech Insider parte de mcp.sources.json y genera salidas para Cursor, VS Code y Copilot. Los scripts que presenta revisan el JSON, las claves principales, las referencias a variables, posibles secretos escritos literalmente y la coincidencia de nombres de servidores; un modo --check permite revisar cambios desde CI. La autora informó de haber ejecutado esas comprobaciones en Linux.
  4. Prueba el servidor en el cliente previsto. La revisión del archivo no prueba que el proceso arranque, que la autenticación funcione o que las herramientas respondan. Tech Insider recomienda probar el servidor por separado con MCP Inspector y realizar una llamada representativa desde cada cliente.

La generación desde una fuente común puede ayudar a mantener coherente el inventario, pero cada destino necesita la estructura que su cliente espera. Las comprobaciones automáticas reducen errores de formato y diferencias entre archivos; la prueba en el cliente comprueba otra parte del recorrido.

Qué pierde el formato portable

Microsoft indica que la configuración portable no incluye las solicitudes de entrada de VS Code, envFile, el modo de desarrollo ni los ajustes de sandbox por servidor. Si el equipo depende de alguna de esas opciones, el archivo portable no sustituye por completo a la configuración de VS Code: mantén el archivo nativo para esas necesidades y usa el portable para las sesiones de Copilot.

Una vía de provisión gestionada para Cursor

En un artículo publicado el 20 de agosto de 2025, Coder describió un módulo que acepta JSON MCP y lo escribe en ~/.cursor/mcp.json al iniciar un espacio de trabajo gestionado. La empresa presenta sus plantillas de Terraform como forma de mantener esa configuración bajo control de versiones. Es una opción de aprovisionamiento de Cursor para esos espacios de trabajo, distinta del formato portable que usa el harness de Copilot.