modelcontextprotocol / modelcontextprotocol/ext-apps

Support for non-HTML View mimetypes

Open
#654 0 comments 0 reactions 1 assignee View on GitHub

@liady is already working on this.

Since May 6, 2026.

enhancement
Dominant language
TypeScript
Stars
2.9k
Forks
387
Avg merge
3h 21m
Merged PRs (30d)
6

Description

Support for non-HTML View mimetypes

The current spec locks the View mimetype to text/html;profile=mcp-app. This was a deliberate MVP choice but the longer-term goal has always been to broaden this.
Filing this issue to start the conversation on what comes next and track the design discussion in one place.

Possible use cases:

  1. Generative UI use cases
  2. Non-HTML surfaces

The MVP currently leaves out some cases - most notably generative UI, where the server returns a JSON description and the host renders it with its own components. Remote DOM lands in similar territory, and native (non-web) hosts that might not be able to rely on HTML at all.

Currently mimeTypes is an array in capability negotiation, _meta.ui is mimetype-agnostic, and most ui/* methods (lifecycle, tool-input/result, host-context, display modes) don't depend on HTML.

Suggestion

We might want a path for adding new profiles (MIME naming convention, interactivity considerations, etc.)

Opening for discussion

  1. Should we support additional mime types, if so should the list be pre-defined or open?
  2. For generative UI purposes - should we rely on existing standards / specs with capabilities negotiation?
  3. Should we separate the generative UI discussion from the non-html surfaces discussion?

(also see https://github.com/modelcontextprotocol/ext-apps/issues/169)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.