1
Build your widget for production
Create an optimized production build:This creates:
- Minified and optimized JavaScript
- CSS with unused styles removed
- Static assets with hashed filenames
- Source maps for debugging
dist/chatgpt/2
Deploy your widget UI
Deploy the built widget to any static hosting service:Upload the
Vercel
Zero-config static hosting
Netlify
Simple drag-and-drop deployment
Cloudflare Pages
Fast global CDN
dist/chatgpt/ directory to your chosen platform. You’ll get a public URL like:The included
pnpm mcp server is a dummy server for local development only. Do not use it in production.3
Create a production MCP server
Create your own production MCP server that references your deployed UI as a resource.Your MCP server should:Deploy this MCP server to a Node.js hosting service (Vercel, Railway, etc.).
- Define the tools your widget needs
- Return your widget UI URL as an MCP resource when tools are invoked
- Handle any backend logic or API calls
4
Configure ChatGPT
Connect your production MCP server to ChatGPT:
- Open ChatGPT in developer mode
- Navigate to
User > Settings > Apps & Connectors > Create - Enter your MCP server URL with the
/mcppath: - Test by sending
show appto ChatGPT