Repository navigation
agentHost: allow uninstalling MCP servers mirrored from the upstream registry - #347197
Open
Vritant Bhardwaj (vritant24) wants to merge 1 commit into
Open
Vritant Bhardwaj (vritant24) wants to merge 1 commit into
Vritant Bhardwaj (vritant24) wants to merge 1 commit into
Conversation
Copilot stopped reviewing on behalf of
Vritant Bhardwaj (vritant24) due to an error
November 9, 2026 22:18
Contributor
There was a problem hiding this comment.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
Note
This error may be related to your runner configuration. You can now configure runners for Copilot code review separately from Copilot cloud agent by creating a copilot-code-review.yml file with your setup steps. Read the docs for details.
…registry The MCP uninstall confirmation required the provenance authority to equal the registry ID host. Servers mirrored from registry.modelcontextprotocol.io are served by api.mcp.github.com, so the check failed, the runtime cancelled, and uninstall reported a generic error. The uninstall plan carries no provenance to compare against, so only require a non-empty authority. Unfinished install/removal errors now include the SDK outcome. Fixes #346415 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Vritant Bhardwaj (vritant24)
force-pushed
the
agents/fix-vscode-issue-346415-73de51cf
branch
from
November 9, 2026 22:26
48e02ff to
4913475
Compare
Comment on lines
+1639
to
+1642
| const detail = describeSdkOutcome(result); | ||
| throw new Error(detail | ||
| ? localize('copilot.customizationInstallation.resultErrorDetail', "{0} ({1})", message, detail) | ||
| : message); |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Fixes #346415
Problem
Uninstalling an MCP server that GitHub's MCP service mirrors from the upstream MCP registry (for example Figma MCP Server,
urn:air:registry.modelcontextprotocol.io:com.figma.mcp:mcp) failed with "The customization removal did not complete."When VS Code confirms an owned MCP uninstall,
prepareUninstallrequired the confirmation'sprovenance.authorityto equal the host taken from the registry ID. For mirrored servers these differ: the registry host isregistry.modelcontextprotocol.io, but the server is served byapi.mcp.github.com. The check failed, the confirmation handler answeredcancel, andassertAppliedreported a generic error with no cause.Changes
isMatchingInstallationAuthority. The authority now only has to be a non-empty string.McpUninstallPlanandMcpInstallationSummarydon't include provenance, so there's no reliable value to compare it against. The confirmation is still tied to the exact installation by its installation ID, identity, config key, user scope, media type, expiry, owned-secret count and restore/shared-auth flags. Install is unchanged; it already compares against the provenance in the runtime's plan.A longer-term option is for the runtime to return
provenancein the uninstall plan, so VS Code can compare it exactly the way install does. The separateconfiguration-changedrefusal when the entry is missing frommcp-config.jsonis runtime bug github/copilot-agent-runtime#34949.Validation
.\scripts\test.bat --run src/vs/platform/agentHost/test/node/copilotCustomizationInstallations.test.ts: passed (46 tests)pnpm run typecheck-client: passedpnpm run eslinton the two changed files: passedHow to test