github / github/copilot-cli

Support a single unified mcp.json for both VS Code and Copilot CLI for maintainability purpose

Open
#4,429 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
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.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
  • #3835 (Incompatible mcp.json schema with VSCode)
  • #146 (Respect VS Code User Settings for Copilot CLI Configuration)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.