microsoft / microsoft/vscode

MCP migration to Copilot Agent Host Harness

Open
#332,782 0 comments 0 reactions 1 assignee Claimed by @vritant24 View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

# Configs and their support

| config | local | Copilot AH |
| - | - | - |
| `.code-workspace` settings | 🟩 | πŸŸ₯ |
| `.vscode/mcp.json` | 🟩 | 🟨 |
| `/mcp.json` | 🟩 | 🟨 |
| `/mcp.json` | 🟩 | 🟨 |
| `/profiles//mcp.json` | 🟩 | 🟨 |
| `devcontainer.json` or `devcontainer-feature.json` | 🟩 | 🟨 |
| Extension contributed MCP servers | 🟩 | 🟨 |
| Agent Plugin bundled MCP servers | 🟩 | 🟩 |
| `.mcp.json` | 🟩 | 🟩 |
| Agenthost root config MCP servers | πŸŸ₯ | 🟩 |
| `.github/mcp.json` | πŸŸ₯ | 🟩 |
| `~/.copilot/mcp-config.json` | πŸŸ₯ | 🟩 |
| - | - | - |
| Claude Desktop / Windsurf / Cursor global config | 🟩 | 🟨 |
| `.cursor/mcp.json` | 🟩 | πŸŸ₯ |

Full table with 3p harnesses

| config | local | Copilot AH | Claude AH | Codex AH |
| - | - | - | - | - |
| `.code-workspace` settings | 🟩 | πŸŸ₯ | πŸŸ₯ | πŸŸ₯ |
| `.vscode/mcp.json` | 🟩 | 🟨 | 🟨 | 🟨 |
| `/mcp.json` | 🟩 | 🟨 | 🟨 | 🟨 |
| `/mcp.json` | 🟩 | 🟨 | 🟨 | 🟨 |
| `/profiles//mcp.json` | 🟩 | 🟨 | 🟨 | 🟨 |
| `devcontainer.json` or `devcontainer-feature.json` | 🟩 | 🟨 | 🟨 | 🟨 |
| Extension contributed MCP servers | 🟩 | 🟨 | 🟨 | 🟨 |
| Agent Plugin bundled MCP servers | 🟩 | 🟩 | 🟩 | 🟩 |
| `.mcp.json` | 🟩 | 🟩 | 🟩 | 🟩 |
| Agenthost root config MCP servers | πŸŸ₯ | 🟩 | 🟩 | 🟩 |
| `.github/mcp.json` | πŸŸ₯ | 🟩 | πŸŸ₯ | πŸŸ₯ |
| `~/.copilot/mcp-config.json` | πŸŸ₯ | 🟩 | πŸŸ₯ | πŸŸ₯ |
| - | - | - | - | - |
| `.cursor/mcp.json` | 🟩 | πŸŸ₯ | πŸŸ₯ | πŸŸ₯ |
| Claude Desktop / Windsurf / Cursor global config | 🟩 | 🟨 | 🟨 | 🟨 |
| `/.claude/settings.json` `mcpServers` | πŸŸ₯ | πŸŸ₯ | 🟩 | πŸŸ₯ |
| `~/.claude/settings.json` `mcpServers` | πŸŸ₯ | πŸŸ₯ | 🟩 | πŸŸ₯ |
| `~/.codex/config.toml` `mcp_servers` | πŸŸ₯ | πŸŸ₯ | πŸŸ₯ | 🟩 |

🟩 Completely Supported
🟨 Partially Supported
πŸŸ₯ Not Supported

## Partially supported

The partial support of some configs in the agent host harness comes from the fact that the VS Code `mcp.json` has a schema that has features that are not concepts available in the Copilot SDK or the general MCP spec.

Servers are skipped when the config has:

- Input Variables required (`${input: ...}`)
- Command invocation (`${command: ...}`)
- has special variables like `${workspaceFolder}`, `${env:NAME}`, `${config:setting}`, `${config:setting}`, `${pathSeparator}`, `${userHome}`, `${workspaceFolderBasename}`
- a source type of `transport: "sse"` or a websocket or unsupported transport.
- `envFile: "`
- OAuth configuration
- `sandbox: {}`
- `dev: {}`
- `tools: []`

Some other specific cases

- Extension contributed MCP servers (from `vscode.lm.registerMcpServerDefinitionProvider(...)`) are forwarded at its launch definition, and doesn't follow the extension's life cycle.
- MCP Servers installed from the registry have metadata that map the entry back to a gallery URIL and ID that lets updates occur.
- trust and policy

## Views

- MCP extensions view (Sandeep)
- MCP Customizations view

## Commands
- MCP List Servers command
- MCP Open User Configuration
- MCP Browse MCP Servers
- MCP Install Server from Manifest
- MCP Show Installed Servers
- MCP Open Workspace Folder Configuration
- MCP browse resources
- MCP reset trust
- MCP reset cached tools
- MCP Add Server

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.