Test: Migrate MCP servers with portable variables
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
Refs: #336822
- [ ] anyOS
Complexity: 1
Authors: @vritant24
---
Verify that supported workspace and path variables are replaced with concrete values when moving an MCP server from `.vscode/mcp.json` to the workspace-root `.mcp.json`.
1. Use a build containing #336822 and enable `chat.customizations.mcpServerMigration.enabled`.
2. Open a folder and create `.vscode/mcp.json` with a stdio server whose `command`, `args`, or `env` values use `${workspaceFolder}`, `${workspaceFolderBasename}`, `${cwd}`, `${pathSeparator}`, and `${/}`.
3. Open Chat Customizations, select **Migrate MCP Servers**, and migrate the server.
4. Verify the server is removed from `.vscode/mcp.json`, added to `.mcp.json`, and every variable is replaced with the expected concrete path, folder name, or platform separator.
5. In a multi-root workspace, repeat with `${workspaceFolder:}`, `${workspaceFolderBasename:}`, and `${cwd:}` and verify they resolve against the named folder.
6. Add another server using `${env:NAME}` or a nonexistent workspace-folder name and verify it is not offered for migration.
Contributor guide
Research direction
Use a build containing #336822 and enable chat.customizations.mcpServerMigration.enabled. Follow the listed single-root and multi-root migration scenarios with .vscode/mcp.json and .mcp.json; done means supported variables resolve to concrete values, migrated servers move correctly, and servers using env variables or nonexistent folders are not offered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100