spec: switch interactive UI output from ChatGPT Apps to MCP Apps#1
Open
rvguha wants to merge 1 commit into
Open
spec: switch interactive UI output from ChatGPT Apps to MCP Apps#1rvguha wants to merge 1 commit into
rvguha wants to merge 1 commit into
Conversation
Replaces the chatgpt_app response_format with mcp_app, conforming to the MCP Apps extension (io.modelcontextprotocol/ui): - response_format: chatgpt_app -> mcp_app - structuredData (array) -> structuredContent (object with a results array) - _meta openai/outputTemplate + openai/widgetAccessible -> _meta.ui.resourceUri referencing a ui:// resource (fetched via resources/read over MCP; resolvable URL over HTTP transport) Mirrors the same edits into the rendered docs page (app/docs/specification/page.mdx) and notes the migration in the changelog. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Migrates NLWeb's interactive UI output format from the ChatGPT Apps SDK structure to the MCP Apps extension (io.modelcontextprotocol/ui).
What changed
response_format:chatgpt_app→mcp_app(the old format is removed, not kept).structuredData(array) →structuredContent(object), with NLWeb's typed items under aresultsarray._metaopenai/outputTemplate+openai/widgetAccessible→_meta.ui.resourceUripointing at aui://resource. Over MCP transport the host fetches it viaresources/read; over HTTP transport the URI must resolve to atext/html;profile=mcp-appresource._metafield list, §4.1.1 (renamed MCP Apps Result Structure), the worked example, and added a changelog entry.Files
NLWEBSPEC.md— source of truth.app/docs/specification/page.mdx— rendered docs page kept in sync.Not included (flagging for discussion)
app/docs/intro/page.mdxstill says "every NLWeb endpoint is also natively a ChatGPT app" — left as-is since it's positioning copy, not the spec. Happy to update if we want it consistent.Design decisions baked in
chatgpt_appentirely (vs. keeping it deprecated/alongside).structuredContentas an object wrapping the results array (vs. a bare array).ui://+resources/readon MCP, with a resolvable-URL fallback for HTTP transport.