Files
vscode/src
cb0b17e13c agentHost: enable built-in GitHub MCP servers (#331561)
* agentHost: enable built-in GitHub MCP servers

Enable the official GitHub MCP server in each built-in Agent Host provider.

- Enable the Copilot runtime server for sessions that use a session token.
- Add a shared Agent Host setting that defaults the GitHub MCP server to enabled.
- Configure Claude and Codex with the authenticated endpoint and selected tool set.
- Keep web search available and omit tools that the installed gh CLI can replace.
- Apply the existing scoped customization enablement decisions before provider launch.
- Hide the duplicate Copilot Chat GitHub collection from Agent Host customization views.
- Add focused provider, configuration, synchronization, and UI tests.

Fixes https://github.com/microsoft/vscode/issues/331392

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: update GitHub MCP test narrowing

Use the MCP transport discriminator after merging the latest SDK typings.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: harden GitHub MCP endpoint handling

Address review feedback for GitHub MCP authentication and remote hosts.

- Omit servers when account endpoint discovery does not return a trusted host.
- Let provider MCP authentication flows supply credentials after a challenge.
- Preserve the client GitHub server for remote hosts without a negotiated capability.
- Clear Codex GitHub MCP credentials when the configured endpoint changes.
- Add regression coverage for endpoint discovery, remote compatibility, and cache invalidation.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: defer GitHub MCP authentication

Use each provider's normal MCP authentication flow for GitHub servers.

- Use the Copilot token only to discover the account-specific MCP endpoint.
- Do not include an authorization header in the initial MCP configuration.
- Fail closed when endpoint discovery cannot resolve a trusted host.
- Clear Codex endpoint state when GitHub host configuration changes.
- Preserve client GitHub MCP synchronization for older remote hosts.
- Complete Codex test fixtures and cover the endpoint and authentication behavior.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* tests

* agentHost: stub GitHub MCP in E2E replay

Keep GitHub MCP bootstrap and OAuth discovery out of model replay fixtures.

- Return unavailable responses for GitHub MCP bootstrap endpoints.
- Stub the follow-up OAuth metadata probes used by Codex.
- Document the ancillary endpoints in the E2E replay architecture.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: scope Copilot customization assertions

Exclude the runtime-owned GitHub MCP entry from integration assertions that cover workspace, user, and plugin customizations.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: close GitHub MCP launch gaps

Apply GitHub MCP enablement and authentication state before provider launch.

- Disable the Copilot built-in before startup when scoped enablement says it is off.
- Guard Codex authentication and endpoint resolution with a generation counter.
- Suppress Codex built-in injection when an enabled alias uses the same endpoint.
- Add focused launch, race, and alias regression tests.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: initialize MCP enablement before launch

Resolve the built-in GitHub MCP decision only after session enablement initialization.

- Await launch and refresh decisions at every Copilot session creation path.
- Keep general Copilot tests on the permissive enablement fixture.
- Preserve the pending fixture only for the host-snapshot enablement test.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: align provider authentication fixtures

Align launch and integration fixtures with provider authentication contracts.

- Initialize Copilot customization enablement before launch and refresh decisions.
- Use permissive enablement in general Copilot tests and pending state only where tested.
- Authenticate restarted and runtime-enabled Codex providers with the Copilot resource.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: gate Codex restart replay on Windows

Track the Windows-only Codex provider-context restart timeout as a known E2E issue.

- Skip only the Codex Windows persistence variant by default.
- Preserve macOS and Linux coverage.
- Allow focused reproduction through AGENT_HOST_RUN_KNOWN_ISSUES.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: gate Codex restart replay

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: await Codex before integration auth

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 17:05:09 +00:00
..