chatgpt-app-builder

Build ChatGPT apps with interactive React widgets using mcp-use and the OpenAI Apps SDK.

7|3|Updated May 8, 2026
One-click install
npx skills add https://github.com/CopilotKit/Generative-UI-Global-Hackathon-Starter-Kit --skill chatgpt-app-builder-copilotkit
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: chatgpt-app-builder
Source: https://github.com/CopilotKit/Generative-UI-Global-Hackathon-Starter-Kit/tree/main/.cursor/skills/chatgpt-app-builder
Command: npx skills add https://github.com/CopilotKit/Generative-UI-Global-Hackathon-Starter-Kit --skill chatgpt-app-builder-copilotkit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires mcp-use, zod, react, and includes references (resource) components.

What problem does it solve? Building ChatGPT apps with interactive widgets requires coordinating MCP server tools, React widget components, state persistence, CSP configuration, and display modes. This Skill guides the entire workflow from idea discovery through architecture design to implementation, preventing common mistakes like lazy-loading tools, duplicate registrations, and misplaced widget state. Note: this Skill is deprecated in favor of mcp-app-builder. ## Core Features & Use Cases - Discovery and Architecture Guidance: Structured phases to validate app ideas, decide between tools and widgets, and design API shapes with one widget per flow. - Widget Implementation Patterns: Reference docs covering server handlers, the widget() helper, useWidget hook, persistent state vs ephemeral React state, theming, display modes, and CSP metadata. - Use Case: A developer wants to build a restaurant reservation ChatGPT app. The Skill walks them through scoping the idea, designing a search-restaurants widget plus a make-reservation tool, scaffolding with create-mcp-use-app, and connecting to ChatGPT via a tunnel. ## Quick Start Ask the assistant to help you design and scaffold a ChatGPT app with an interactive widget using mcp-use, starting from your app idea.

Frequently Asked Questions about chatgpt-app-builder

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a ChatGPT app with interactive widgets?▼

Scaffold a project with npx create-mcp-use-app using the mcp-apps template, define server tools with a widget config, and create React widget files in the resources folder. Widgets use the useWidget hook from mcp-use/react to access props, state, and tool calls.

When should I use a widget versus a plain tool in a ChatGPT app?▼

Use a widget when users browse or compare multiple items, when visual data like maps or charts improves understanding, or when selections benefit from a visual layout. Use a plain tool when inputs are conversational and outputs are simple text like confirmation IDs.

How do I persist widget state across reopens in ChatGPT?▼

Use the state and setState values from the useWidget hook, which persist across widget reopens and are visible to the LLM. React useState is ephemeral and resets on reopen, so reserve it for hover effects and transient UI only.

Why does my ChatGPT widget show undefined props on first load?▼

Widgets render before the tool finishes executing, so props are empty or partial initially. Always check the isPending flag from useWidget and render a loading state before accessing props.

Is chatgpt-app-builder deprecated?▼

Yes, this Skill is deprecated and replaced by mcp-app-builder. If mcp-app-builder is not installed, run npx skills install mcp-use/mcp-use --skill mcp-app-builder and use that Skill instead.

How do I configure CSP for a widget calling external APIs?▼

Add a metadata.csp object in the exported widgetMetadata with connectDomains for fetch or WebSocket endpoints, resourceDomains for images and fonts, and frameDomains for embedded iframes. Use exact HTTPS domains rather than wildcards.