MCP migration to Copilot Agent Host Harness
- 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
Assessment
This issue has not been assessed yet.