← all repositories
openai/openai-apps-sdk-examples

Reference apps for embedding live widgets in ChatGPT

A gallery of reference widgets and MCP servers showing how to render interactive UI inside ChatGPT instead of plain text.

2.3k stars TypeScript Coding Assistants
openai-apps-sdk-examples
Not currently ranked — collecting fresh signals.
star history

What it does The repository is a gallery of example widgets—pizza menus, 3D solar systems, shopping carts—plus the Model Context Protocol (MCP) servers that power them. Each server advertises tools via JSON Schema, handles call_tool requests, and returns structured responses with _meta.ui.resourceUri metadata so the Apps SDK can render HTML, CSS, and JavaScript inline next to ChatGPT’s text replies. It is explicitly positioned as copy-paste inspiration rather than a production framework.

The interesting bit The clever part is the two-way binding between the LLM and the UI: widgets can read host state like toolInput and theme, mutate shared state with setWidgetState, and even trigger follow-up tool calls via callTool, so the conversation and the interface stay in sync without the developer hand-rolling a custom bridge. The build pipeline hashes and bundles each widget with Vite so the resulting MCP servers serve them as self-contained static assets.

Key highlights

  • Ships paired Node and Python MCP servers for most examples, letting you pick your stack.
  • Demonstrates stateful widgets (shopping cart) that persist widgetState across turns using widgetSessionId.
  • Includes an authenticated server example showing OAuth-gated tool calls.
  • Bundles every widget entrypoint through a single build-all.mts Vite orchestrator into versioned assets/.
  • Covers the full window.openai surface: requestDisplayMode, openExternal, sendFollowUpMessage, and theme awareness.

Caveats

  • The Python Pizzaz server caches widget HTML with functools.lru_cache, so you must restart it after rebuilding assets.
  • Chrome 142 users need to disable the #local-network-access-check flag to see local widget UI during development.
  • The shopping-cart demo keeps state client-side via metadata; the README notes you should persist server-side in production.

Verdict Worth a look if you are building ChatGPT connectors that need more than text—buttons, maps, carousels, and checkout flows. Skip it if you are not targeting the OpenAI Apps SDK ecosystem; the examples are tightly coupled to ChatGPT’s host APIs and MCP wire format.

Frequently asked

What is openai/openai-apps-sdk-examples?
A gallery of reference widgets and MCP servers showing how to render interactive UI inside ChatGPT instead of plain text.
Is openai-apps-sdk-examples open source?
Yes — openai/openai-apps-sdk-examples is open source, released under the MIT license.
What language is openai-apps-sdk-examples written in?
openai/openai-apps-sdk-examples is primarily written in TypeScript.
How popular is openai-apps-sdk-examples?
openai/openai-apps-sdk-examples has 2.3k stars on GitHub.
Where can I find openai-apps-sdk-examples?
openai/openai-apps-sdk-examples is on GitHub at https://github.com/openai/openai-apps-sdk-examples.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.