{
 "acronym": "",
 "adoption": {
  "by": null,
  "level": "unmeasured",
  "probe_run": null
 },
 "aliases": [
  "Apps SDK",
  "ChatGPT Apps",
  "OpenAI Apps SDK"
 ],
 "analog": "Plugin manifest plus iframe component",
 "collisions": [
  "ChatGPT Plugins (the 2023 predecessor product, since retired)",
  "MCP Apps (the underlying open standard OpenAI's UI layer now builds on)"
 ],
 "discovery": {
  "mechanism": "A plugin is an MCP server (streamable-HTTP, stable endpoint) plus optional Skills and an optional UI resource; ChatGPT/Codex discover a plugin's tools through the standard MCP tools/list call after a user installs/connects it, not through open web crawling",
  "path": "none public/well-known; plugins are submitted to and listed in OpenAI's plugin directory (developers.openai.com/plugins) rather than self-announced by a site"
 },
 "dispute": null,
 "evidence": [
  {
   "claim": "developers.openai.com/apps-sdk now redirects to developers.openai.com/plugins; the section is branded 'Plugins', described as extending 'ChatGPT and Codex with reusable skills and connections to external services', built from three core concepts: Plugin architecture, Skills, and an MCP server.",
   "date": "2026",
   "label": "VERIFIED",
   "url": "https://developers.openai.com/apps-sdk"
  },
  {
   "claim": "A plugin's MCP server can expose tools, resources, prompts, and instructions; plugins primarily use tools; production MCP servers must be deployed at stable HTTPS endpoints using the streamable HTTP transport and, if handling private data, must implement the MCP specification's authorization flow. The official Python and TypeScript MCP SDKs are the recommended implementation path.",
   "date": "2026",
   "label": "VERIFIED",
   "url": "https://developers.openai.com/plugins/concepts/mcp-server"
  },
  {
   "claim": "ChatGPT implements the open MCP Apps standard for optional plugin UI: a tool declares `_meta.ui.resourceUri`, communication runs over a `ui/*` JSON-RPC bridge via postMessage, and OpenAI-specific `window.openai` extensions (checkout, file upload, widget state) are explicitly positioned as a secondary layer to use 'only for capabilities the shared specification does not cover' — with documented compatibility aliases mapping each ChatGPT-specific field/method to its MCP Apps equivalent.",
   "date": "2026",
   "label": "VERIFIED",
   "url": "https://developers.openai.com/plugins/build/chatgpt-ui"
  }
 ],
 "form": "endpoint",
 "governance": "OpenAI, unilaterally, for the ChatGPT-specific extension layer (window.openai bridge, submission/review process); the underlying UI transport (MCP Apps) is co-governed via the modelcontextprotocol org, and OpenAI's documentation explicitly directs developers to prefer the shared MCP Apps standard over ChatGPT-specific extensions wherever it covers the need",
 "group": null,
 "history": [
  {
   "date": "2026-09-05",
   "note": "seeded from Exa Agent research run"
  },
  {
   "date": "2026-09-06",
   "note": "verified against developers.openai.com/apps-sdk (redirects to /plugins), developers.openai.com/plugins/concepts/mcp-server, developers.openai.com/plugins/build/chatgpt-ui, modelcontextprotocol.io/docs/extensions/apps; name changed to reflect OpenAI's Apps SDK -> Plugins rebrand"
  }
 ],
 "id": "openai-apps-sdk-manifests",
 "implementation": "shipping",
 "last_verified": "2026-09-06",
 "name": "OpenAI Plugins (formerly Apps SDK)",
 "native_status": "Active vendor product, rebranded from \"Apps SDK\" to \"Plugins\" as the top-level developers.openai.com section name (developers.openai.com/apps-sdk now redirects to developers.openai.com/plugins)",
 "origin": {
  "date": "2025-10",
  "org": "OpenAI"
 },
 "part_of": null,
 "parties": [
  "agent-site"
 ],
 "phase": "living",
 "probe": {
  "method": "POST",
  "on_absent": "no `_meta.ui.resourceUri`/`_meta[\"openai/outputTemplate\"]` on any tool: the plugin is tools-only with no custom UI (this is an explicitly supported, non-deficient configuration)",
  "parse": "a tool whose definition includes `_meta.ui.resourceUri` (or the ChatGPT compatibility alias `_meta[\"openai/outputTemplate\"]`) pointing to a `ui://` resource with mimeType `text/html;profile=mcp-app` indicates this plugin serves an MCP Apps-style interactive component; the tool list itself confirms a plugin/MCP server regardless of UI",
  "path": "{endpoint}/mcp (initialize, then tools/list)"
 },
 "question": "How does a developer publish a tool with an optional interactive UI that ChatGPT and Codex can call?",
 "scope": "general",
 "spec_url": "https://developers.openai.com/plugins/concepts/mcp-server",
 "step": "act",
 "summary_md": "OpenAI's developer platform for extending ChatGPT and Codex — previously branded \"Apps SDK\" and now branded \"Plugins\" on developers.openai.com — lets a developer publish an MCP server (tools, and optionally resources/prompts) plus optional Skills and an optional interactive UI component that renders inside a ChatGPT conversation [1][2]. It solves the same problem the original 2023 ChatGPT Plugins tried to solve — third-party capability extension for a chat assistant — but rebuilt on top of MCP as the tool-calling transport instead of a bespoke OpenAPI-based manifest format, and on top of the open MCP Apps standard (rather than a proprietary iframe protocol) for the optional UI layer [2][3].\n\nA plugin is not required to have custom UI: OpenAI's own guidance is to \"keep the MCP tools useful without a component so ChatGPT and Codex can complete the workflow\" even when no UI renders [3]. When a plugin does return UI, the tool's `_meta.ui.resourceUri` field points at a `ui://` HTML resource that ChatGPT renders in a sandboxed iframe and communicates with over a `ui/*` JSON-RPC bridge via `postMessage` — this is the shared, portable MCP Apps mechanism, not something ChatGPT-specific [3]. OpenAI layers optional, ChatGPT-only extensions on top (`window.openai.requestCheckout`, file upload/selection, host-controlled modals, widget-state persistence) but explicitly instructs developers to prefer the shared MCP Apps field or method whenever one exists, providing a documented compatibility-alias table so integrations can use either [3].\n\nThis row does not cover general MCP server discovery or the MCP protocol itself (see the `mcp` record), and it does not cover the MCP Apps extension in general, which other MCP hosts besides ChatGPT also implement (Claude Desktop, VS Code Copilot, Microsoft 365 Copilot, Goose, and others) — MCP Apps may deserve its own row in a future pass rather than being folded entirely into this OpenAI-specific one, since it is not actually OpenAI-governed.\n\nThe most consequential change found in this verification: the product's public name changed. `developers.openai.com/apps-sdk` — the URL named in the task brief and the seed record's `spec_url` — now redirects to `developers.openai.com/plugins`; the entire documentation section is rebranded \"Plugins,\" with \"Apps SDK\" surviving only as the name of an optional component-styling library (`@openai/apps-sdk-ui`) [1]. This record's `id` (`openai-apps-sdk-manifests`) and `name` should be revisited in a future pass to reflect the new branding more fully (name updated here to \"OpenAI Plugins (formerly Apps SDK)\" with both terms kept as aliases); the `step` is correctly `act` since a plugin's primary function remains exposing callable tools, though the UI-manifest half of the original seed description now points mostly at the separate, W3C-adjacent-but-actually-MCP-governed MCP Apps standard. No adoption count (number of published plugins, install counts) was found in the pages checked, so adoption remains unmeasured.",
 "track": "single-vendor",
 "version": {
  "date": null,
  "label": "current, 2026 (unversioned docs; MCP Apps sub-standard dated 2026-01-26)"
 },
 "url": "https://agenticweb.wiki/protocols/openai-apps-sdk-manifests/",
 "category": "act",
 "type": "protocol"
}