mcp-use handles the compatibility details for you. Build the widget with the standard mcp-use server and React APIs; mcp-use emits the metadata ChatGPT needs and maps host behavior through the same hooks you use everywhere else.
How ChatGPT fits in
OpenAI’s Apps SDK remains supported, and ChatGPT also implements the MCP Apps UI standard.mcp-use generates MCP Apps metadata and ChatGPT compatibility metadata from the same widget definitions.
In practice:
- Use
widget: { name }andwidget({ props, output })on the server. - Use
useWidget()anduseCallTool()in React widgets. - Let
mcp-usetranslate compatibility metadata for ChatGPT. - Reach for Apps SDK extensions only when a ChatGPT-specific capability has no shared MCP Apps equivalent yet.
What mcp-use abstracts
The same widget code should work across supported hosts:
These APIs keep widget code focused on behavior instead of host-specific bridge details.
Next steps
- Use Build widgets for the normal MCP Apps workflow.
- Use Model context to decide what the model and widget should see.
- Use Interactivity for tool calls, state, follow-up messages, and display controls.