Add cross-host portability guide for MCP Apps #424
+75
−0
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.
This guide covers cross-host portability issues for MCP Apps, including endpoint requirements, metadata formats, size notifications, and debugging tips.
This guide covers cross-host portability issues for MCP Apps, including endpoint
requirements, metadata formats, size notifications, and debugging tips.
Motivation and Context
While building an MCP App that needed to work across Claude, ChatGPT, and a
custom web host, I encountered a non-obvious issue: widgets rendered correctly in
ChatGPT but failed silently in Claude with "MCP error 32600: Session
terminated", despite successful mcp tool responses."
After many hours of debugging, I discovered the root cause: my authenticated
endpoint handled
initialize,tools/list, andtools/call, but returned 404for
resources/listandresources/read. Claude requires these to fetch widgetHTML; ChatGPT uses direct URLs instead.
This information isn't documented anywhere that I am aware of. The existing migration guide covers
converting from OpenAI to MCP Apps, but not the nuances of supporting multiple
hosts simultaneously. This guide fills that gap. Related issue: #413
How Has This Been Tested?
Yes, tested in a production MCP server across the following, with widgets rendering successfully after tool calls:
Breaking Changes
None. This is documentation only.
Types of changes
Checklist
Additional context
This guide intentionally avoids duplicating content from the existing migration
guide (
migrate_from_openai_apps.md). It focuses specifically on cross-hostcompatibility issues that aren't covered elsewhere—particularly the
resources/*endpoint requirement that causes silent failures in Claude.