microsoft / microsoft/vscode

Support MCP Apps in the Claude Agent (AHP)

Open
#326,015 0 comments 1 reaction 1 assignee Claimed by @TylerLeonhardt View on GitHub
agent-host blocked claude-agent feature-request
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

Support **MCP Apps** (SEP-1865 — server-provided tool UIs) for the **Claude agent** backend over AHP, matching the existing Copilot and Codex agents.

### Blocked on

Anthropic exposing a typed/supported out-of-band MCP surface in the Claude Agent SDK: anthropics/claude-agent-sdk-typescript#380. Today the SDK has no supported way to call an MCP tool out of band, read a resource, or list tools with `_meta.ui.resourceUri`, so App tool calls can't be detected or driven. (The bundled CLI implements the primitives — `mcp_call` / `mcp_message` — but they aren't on the public `Query` interface.)

### Scope (once unblocked)

The AHP transport and the client renderer are already **agent-agnostic** — no client changes needed. Work is confined to the Claude agent host, mirroring Copilot/Codex:

- Wire `McpCustomizationController` into `ClaudeAgentSession` (server state → customizations, mint `mcp://` channels).
- Advertise `mcpApp` capabilities (minus `sampling`).
- Implement `handleMcpRequest` for `tools/list`, `tools/call`, `resources/read` (+ `resources/list`).
- Stamp `_meta.ui = { resourceUri, channel }` on App tool calls.
- Fire `onMcpNotification` for `notifications/tools/list_changed`.

**Sampling is out of scope** (deprecated).

### References

- AHP MCP Apps spec: https://microsoft.github.io/agent-host-protocol/guide/mcp.html#mcp-apps
- Feasibility analysis: `src/vs/platform/agentHost/node/claude/mcp-apps-feasibility.md`
- Reference implementations: Copilot (`copilotAgentSession.ts`), Codex (`codexAgent.ts`, `codexMcpServers.ts`)

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.