Skip to content

Conversation

@connor4312
Copy link
Member

Implements https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/2026-01-26/apps.mdx#client-host-capabilities

Updates MCP typings to the latest draft to be able to specify that field.

Copilot AI review requested due to automatic review settings January 29, 2026 16:19
@connor4312 connor4312 enabled auto-merge (squash) January 29, 2026 16:19
@connor4312 connor4312 self-assigned this Jan 29, 2026
@vs-code-engineering vs-code-engineering bot added this to the January 2026 milestone Jan 29, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the MCP (Model Context Protocol) typings to the latest draft specification and adds support for announcing MCP apps capability. The primary changes include type refinements for better clarity, the addition of a lastUpdatedAt field to tasks, and the declaration of client support for the MCP UI extension.

Changes:

  • Refined JSON-RPC response types by splitting JSONRPCResponse into JSONRPCResultResponse and JSONRPCErrorResponse, with JSONRPCResponse becoming a union type
  • Added lastUpdatedAt field to the Task interface to track when tasks are last modified
  • Added extensions field to client and server capabilities to support MCP protocol extensions, specifically announcing support for io.modelcontextprotocol/ui with text/html;profile=mcp-app MIME type
  • Enhanced type definitions with new interfaces for metadata objects (MetaObject, RequestMetaObject) and specific error types (ParseError, InvalidRequestError, MethodNotFoundError, InvalidParamsError, InternalError)
  • Improved documentation throughout with extensive JSDoc comments and example references

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/vs/workbench/contrib/mcp/common/modelContextProtocol.ts Updated MCP protocol type definitions including refined JSON-RPC response types, new metadata and error interfaces, lastUpdatedAt field in Task interface, and extensions field in capabilities
src/vs/workbench/contrib/mcp/common/mcpServerRequestHandler.ts Updated handler to use refined response types (JSONRPCResultResponse, JSONRPCErrorResponse), added defensive null checks for response IDs, and declared client support for io.modelcontextprotocol/ui extension
src/vs/workbench/contrib/mcp/common/mcpTaskManager.ts Added lastUpdatedAt field initialization and updates in task creation and status change methods
src/vs/workbench/contrib/mcp/test/common/mcpServerRequestHandler.test.ts Updated test assertions to use new JSONRPCResultResponse type and added lastUpdatedAt field to test task objects
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.ts Updated error response construction to use new JSONRPCErrorResponse type

@connor4312 connor4312 merged commit 00b43c8 into main Jan 29, 2026
27 of 28 checks passed
@connor4312 connor4312 deleted the connor4312/announce-mcp-ui branch January 29, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants