Skip to main content
Glama
skyrmionz

ChatGPT Interactive Components Examples

by skyrmionz
TEST_IN_CHATGPT.mdβ€’2.96 kB
# Test the Pizzaz Widget in ChatGPT ## βœ… Server Status - **Deployed**: https://chatgpt-components-0d9232341440.herokuapp.com/ - **MCP Endpoint**: https://chatgpt-components-0d9232341440.herokuapp.com/mcp ## Step 1: Connect to ChatGPT 1. Open **ChatGPT** 2. Go to **Settings β†’ Connectors** 3. Click **"Add connector"** or **"Create new app"** 4. Enter this URL: ``` https://chatgpt-components-0d9232341440.herokuapp.com/mcp ``` 5. Give it a name: **"Pizzaz Demo"** 6. Save ## Step 2: Test the Widget 1. **Start a new conversation** 2. Click the **"More" (β‹―)** button or **paperclip icon** 3. Select **"Pizzaz Demo"** from your connectors 4. Ask ChatGPT: ``` Show me a pizza list with pepperoni ``` or ``` I want to see pizza places with mushrooms ``` ## Expected Result You should see: - πŸ• A **beautiful pizza list widget** appear inline - The widget showing **"Featuring [topping] pizzas"** with your chosen topping - A list of 5 pizza places with names, cities, and ratings - Clean, modern styling with hover effects ## Troubleshooting ### Widget Not Showing? 1. **Disconnect and reconnect** the connector in Settings 2. **Start a fresh conversation** 3. Make sure you **added the connector** to the conversation 4. **Check Chrome flags** (if using Chrome 142+): Disable `#local-network-access-check` ### Check Server Logs ```bash heroku logs --tail --app chatgpt-components ``` ## What's Working This is a **working copy** of the official [OpenAI Pizzaz example](https://github.com/openai/openai-apps-sdk-examples): - βœ… MCP server properly configured - βœ… SSE transport working - βœ… Resource handlers serving widget HTML - βœ… Tool definition with proper metadata - βœ… Widget receives data via `window.openai.toolOutput` ## Next Steps Once this works, we can: ### 1. Modify the Widget Edit `widgets/pizza-list.html` to: - Change the styling - Add more data - Make it interactive ### 2. Change the Data Structure Edit `server.js` to: - Pass different data in `structuredContent` - Add more parameters - Create different tools ### 3. Build Target Auth Copy this pattern to create: - `widgets/target-auth.html` - Target-branded login - New tool: `authenticate-target-customer` - Pass session data through `structuredContent` ### 4. Add More Widgets Create additional widgets: - Profile viewer - Order history - Circle rewards dashboard ## Files to Customize ``` widgets/ pizza-list.html ← Modify this for UI changes server.js ← Modify this for data/tools changes ``` The pattern is simple: 1. Widget receives data via `window.openai.toolOutput` 2. Widget renders using that data 3. No API calls from the widget 4. All data comes from `structuredContent` in server response ## Architecture ``` ChatGPT ↓ (calls tool) Server.js ↓ (returns structuredContent) ChatGPT ↓ (requests resource) Server.js (serves HTML) ↓ (renders with toolOutput) Widget displays! ```

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/skyrmionz/chatgpt-mcp-server-interactive-components'

If you have feedback or need assistance with the MCP directory API, please join our Discord server