Support a single unified mcp.json for both VS Code and Copilot CLI for maintainability purpose
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
Description
Currently, VS Code and GitHub Copilot CLI use two different MCP configuration schemas:
- VS Code (
.vscode/mcp.jsonor user-levelmcp.json): uses a top-levelserverskey, andtypeis optional. - Copilot CLI (
~/.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.json file/schema that can be used by both VS Code and Copilot CLI without conversion. For example:
- Accept the
serverskey as an alias formcpServers(or vice versa), and - Make the
typefield 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
- #3835 (Incompatible mcp.json schema with VSCode)
- #146 (Respect VS Code User Settings for Copilot CLI Configuration)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the schemas and locations in .vscode/mcp.json, user-level mcp.json, ~/.copilot/mcp-config.json, .mcp.json, and .github/mcp.json. Start by tracing how each configuration is discovered and validated; done means one shared mcp.json works in both VS Code and Copilot CLI without manual conversion, including the requested key alias and type handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- vscode
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100