chatgpt-ask-user-mcp
Provides ChatGPT with an ask_user tool that renders structured question cards with options and free-text input, then resumes the conversation with the user's submitted answer.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chatgpt-ask-user-mcpPlan my trip to Japan and ask me for preferences instead of deciding."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ChatGPT Ask User MCP
A tiny remote MCP App for ChatGPT Web, deployed on Cloudflare Workers.
It gives ChatGPT one tool, ask_user, so the model can stop at a decision point, show you a native-looking question card, receive your choice, and continue the same conversation.
Use it
1. Deploy to Cloudflare
Click Deploy to Cloudflare above.
Cloudflare will clone the repository, build the widget, deploy the Worker, and give you a public workers.dev URL.
No database, KV, Durable Object, API key, or other Cloudflare resource is required.
After deployment, your MCP endpoint is:
https://<your-worker>.<your-subdomain>.workers.dev/mcpHealth check:
https://<your-worker>.<your-subdomain>.workers.dev/health2. Add it to ChatGPT Web
Enable Developer mode in ChatGPT.
Open Settings → Apps → Create.
Enter the deployed URL ending in
/mcp.Select No authentication.
Choose Scan tools, then save/create the app.
Enable/select the app in a chat.
Test prompt:
Work through this task. Whenever a choice would materially change the approach, use Ask User to ask me instead of deciding for me.
Related MCP server: Clarify MCP Server
Behavior
ChatGPT is doing a task
↓
needs your decision
↓
calls ask_user
↓
┌──────────────────────────────┐
│ Which approach should I use? │
│ ○ Option A │
│ ○ Option B │
│ │
│ [Submit] │
└──────────────────────────────┘
↓
you submit
↓
the widget sends your answer
as a follow-up message
↓
ChatGPT continues the taskThe tool supports:
single choice
multiple choice
optional free text
free-text-only questions
short context/explanation text
custom submit button labels
ChatGPT-native appearance
The widget uses OpenAI's official @openai/apps-sdk-ui package together with MCP host styling via useHostStyles().
It inherits ChatGPT's typography and host theme variables, so light/dark mode follows ChatGPT automatically instead of using a separate hand-written theme.
Architecture
ChatGPT Web
│
│ Streamable HTTP MCP
▼
Cloudflare Worker
│
├── ask_user tool
│
└── embedded self-contained widget HTML
│
▼
ChatGPT iframe
│
└── sendFollowUpMessage()
│
▼
same conversationThe Worker is stateless. There is no database and no conversation storage.
Scope
This repository is intentionally only for the ChatGPT Web remote MCP use case:
one Cloudflare Worker
one public
/mcpendpointone
ask_usertoolone interactive UI widget
no database
no user data storage
no Docker
no npm/CLI distribution
no Render service
no other MCP-client compatibility work
Local development
Requirements: Node.js 20+.
npm install
npm run build
npm run devWrangler will start the Worker locally. ChatGPT Web still requires a public HTTPS endpoint, so local mode is mainly for development and MCP Inspector testing.
Deployment from the CLI
If you already use Wrangler:
npm install
npm run deployImplementation
MCP server:
@modelcontextprotocol/serverCloudflare MCP transport:
createMcpHandlerfromagents/mcp/serverMCP App binding:
@modelcontextprotocol/ext-appsUI: React + official
@openai/apps-sdk-uiTheme: MCP host styles / ChatGPT light-dark mode
Continuation: ChatGPT
sendFollowUpMessage(), with MCP AppssendMessage()fallbackWidget bundle: Vite +
vite-plugin-singlefileHosting: Cloudflare Workers
Storage: none
License
Copyright (C) 2026 zjm54321
Licensed under the GNU General Public License v3.0 only (GPL-3.0-only). See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Create and edit surveys, read responses, and reply to users — from your AI assistant.
Create AI surveys with dynamic follow-up probing directly from your AI assistant.
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
- BleepOAuthcom.usebleep
Create Tasks and run Workflows in Bleep from Claude, ChatGPT, and other AI assistants.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to request human input through interactive GUI dialogs with quiz-style questions, supporting multiple choice and free-form responses for clarification, decisions, and knowledge extraction.1-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to ask clarification questions and receive structured user input through a Human-in-the-Loop interface.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to request human input through native macOS dialogs for clarifying questions and user interactions.2 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to prompt users for input directly within the chat UI using MCP's elicitation capabilities, allowing for interactive multi-turn conversations without leaving the conversation interface.115 npm1MIT