技能 编程开发 ChatGPT 应用构建器

ChatGPT 应用构建器

v20260330
chatgpt-app-builder
通过 mcp-use 与 OpenAI Apps SDK 构建交互式 ChatGPT 应用,覆盖服务端工具、组件状态与上下文、展示模式、元数据配置与复杂模式,提供零配置 React 小组件开发体验。
获取技能
127 次下载
概览

ChatGPT App Builder

Build ChatGPT apps with interactive widgets using mcp-use. Zero-config widget development with automatic registration and built-in React hooks.

The app is consumed by two users at once: the human and the ChatGPT LLM. They collaborate through the widget -- the human interacts with it, the LLM sees its state. The widget is your shared surface.

Before You Code

  • Clarify what to builddiscover.md: when starting a new app, validating an idea, or scoping features
  • Design tools and widgetsarchitecture.md: when deciding what needs UI vs tools-only, designing UX flows

Setup

  • Scaffold and runsetup.md: when creating a new project, starting dev server, connecting to ChatGPT/Claude

Implementation

  • Server handlers + widget creationserver-and-widgets.md: when writing server.tool() with widgets, widget() helper, React widget files
  • Widget state and LLM contextstate-and-context.md: when persisting state, triggering LLM from widget, managing ephemeral vs persistent data
  • Display modes, theme, layoutui-guidelines.md: when adapting to inline/fullscreen/PiP, handling theme, device, locale
  • Component APIcomponents-api.md: when using McpUseProvider, Image, ErrorBoundary, useWidget
  • CSP and metadatacsp-and-metadata.md: when configuring external domains, dual-protocol metadata
  • Advanced patternswidget-patterns.md: when building complex widgets with tool calls, state, theming

Quick Reference

// Server
import { MCPServer, widget, text, object } from "mcp-use/server";
server.tool({ name: "...", schema: z.object({...}), widget: { name: "widget-name" } },
  async (input) => widget({ props: {...}, output: text("...") })
);

// Widget (resources/widget-name.tsx)
import { McpUseProvider, useWidget, type WidgetMetadata } from "mcp-use/react";
export const widgetMetadata: WidgetMetadata = { description: "...", props: z.object({...}) };
export default function MyWidget() {
  const { props, isPending, callTool, sendFollowUpMessage, state, setState, theme } = useWidget();
  if (isPending) return <McpUseProvider autoSize><div>Loading...</div></McpUseProvider>;
  return <McpUseProvider autoSize><div>{/* UI */}</div></McpUseProvider>;
}
信息
Category 编程开发
Name chatgpt-app-builder
版本 v20260330
大小 30.53KB
更新时间 2026-04-17
语言