Description
Currently, VS Code and GitHub Copilot CLI use two different MCP configuration schemas:
- VS Code (
.vscode/mcp.json or user-level mcp.json): uses a top-level servers key, and type is optional.
- Copilot CLI (
~/.copilot/mcp-config.json, .mcp.json, .github/mcp.json): uses a top-level mcpServers key, and type is required for each server entry.
This forces users who work with both VS Code and Copilot CLI to maintain two near-duplicate JSON files and manually keep them in sync whenever a server is added, removed, or updated — which is error-prone and adds unnecessary maintenance overhead.
Feature Request
Please support a single, unified mcp.json file/schema that can be used by both VS Code and Copilot CLI without conversion. For example:
- Accept the
servers key as an alias for mcpServers (or vice versa), and
- Make the
type field optional/inferable (e.g. default to stdio/local when command is present, or http when url is present) so existing VS Code configs work as-is.
This would let a single mcp.json (whether at the user/global level or per-repository) be shared across both tools, eliminating duplicate configuration and reducing drift between environments.
Related issues
Description
Currently, VS Code and GitHub Copilot CLI use two different MCP configuration schemas:
.vscode/mcp.jsonor user-levelmcp.json): uses a top-levelserverskey, andtypeis optional.~/.copilot/mcp-config.json,.mcp.json,.github/mcp.json): uses a top-levelmcpServerskey, andtypeis required for each server entry.This forces users who work with both VS Code and Copilot CLI to maintain two near-duplicate JSON files and manually keep them in sync whenever a server is added, removed, or updated — which is error-prone and adds unnecessary maintenance overhead.
Feature Request
Please support a single, unified
mcp.jsonfile/schema that can be used by both VS Code and Copilot CLI without conversion. For example:serverskey as an alias formcpServers(or vice versa), andtypefield optional/inferable (e.g. default tostdio/localwhencommandis present, orhttpwhenurlis present) so existing VS Code configs work as-is.This would let a single
mcp.json(whether at the user/global level or per-repository) be shared across both tools, eliminating duplicate configuration and reducing drift between environments.Related issues