VS Code lets GitHub Copilot's agent use MCP (Model Context Protocol) servers: tools for a browser, a database, your issue tracker or a publishing service. VS Code changed where these servers live on October 21, 2026, so older guides that start with .vscode/mcp.json are now describing the format VS Code calls deprecated.
The short version: run MCP: Add Server from the Command Palette, choose HTTP for a URL or Command (stdio) for a local program, and give it an ID. Your servers now go in the Copilot user file ~/.copilot/mcp-config.json, under "mcpServers". Manage them with MCP: List Servers, which also shows each server's output when something fails. Everything below is from VS Code's MCP documentation, updated October 21, 2026.
How do I add an MCP server to VS Code?
- Open the Command Palette and run MCP: Add Server.
- Choose HTTP and paste the server's URL, or Command (stdio) and enter the command that starts it.
- Enter a server ID that is not already used.
- Approve any trust or sign-in prompt, after reading what it asks for.
To browse servers instead, search @mcp in the Extensions view and choose Install for yourself or Install in Workspace to share it with the project, or pick MCP: Add Server › Browse MCP Servers....
Where is the VS Code MCP config file now?
- Copilot user file:
~/.copilot/mcp-config.json(or$COPILOT_HOME/mcp-config.json). Supports stdio, HTTP and SSE servers and a working directory. - Workspace
.mcp.jsonat the project root, when the experimental settingchat.mcp.workspaceRootConfig.enabledis on. Stdio and HTTP only. .vscode/mcp.jsonand the user-profilemcp.jsonstill work but are marked deprecated in the guided flow.
The two newer files use the portable format with a top-level "mcpServers" object, the same shape Claude Code and Cursor use:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}
The older VS Code format uses "servers" instead, with "type": "stdio", "http" or "sse" on each entry. Do not copy entries between the two formats without changing that top-level key.
How do I keep API keys out of the config?
In the VS Code format, declare an input and reference it; VS Code asks for the value the first time the server starts and stores it securely:
{
"inputs": [
{ "type": "promptString", "id": "api-token", "description": "API token", "password": true }
],
"servers": {
"example": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": { "Authorization": "Bearer ${input:api-token}" }
}
}
}
Two limits to know: the portable files do not support input variables or environment files, and servers that need an interactive input are not forwarded to Copilot harness sessions. Servers that sign in with OAuth avoid both problems, because no token sits in any file. Never commit a file with a real token in it.
How do I start, stop or debug an MCP server?
Run MCP: List Servers, pick a server, and choose Start, Stop, Restart, Enable or Disable, Uninstall, or Show Output for its log. VS Code's own troubleshooting list, in short:
- A stdio server will not start: check the command, its arguments, that the runtime is installed, and
PATH. - A Docker server fails: do not run the container detached (
-d). - An HTTP server fails: check the URL, network access and the sign-in steps.
- Startup is blocked by trust: workspace servers follow Workspace Trust; other servers ask separately, and MCP: Reset Trust clears those answers.
- Tools do not show up: check the server is enabled and exposes them, under Chat: Open Customizations › Tools.
After a fix, restart the server and check a real tool result, not just that it started.
Do my MCP servers sync between machines?
Only the user-profile mcp.json syncs, when Settings Sync has MCP Servers selected. The Copilot user mcp-config.json and workspace .mcp.json do not. In a dev container, put servers under customizations.vscode.mcp in devcontainer.json. Companies can limit which servers are allowed through GitHub's enterprise MCP allowlist, and local settings cannot override it.
A worked example: posting from VS Code
Run MCP: Add Server › HTTP, paste https://api.skryvo.ai/mcp, name it skryvo and sign in when asked. Then ask Copilot: "Use the Skryvo MCP server to write a LinkedIn post about the release we just merged and schedule it for Tuesday at 9am." It drafts the post in your brand's voice and Skryvo schedules it only after you approve. The VS Code setup page has the details; the same server works in Claude Code, Cursor and Codex.
Put new servers in the Copilot user file, keep tokens behind inputs or OAuth, and use Show Output before guessing why a tool is quiet.
Let your agent write the next one in your voice
Skryvo drafts each post in your saved voice and publishes it after your go-ahead. Free to start.