Human-in-the-Loop MCP Server
by GongRzhe
Enable AI assistants to request human input through native GUI dialogs
productivity Python Beginner Self-hostable No API key
β 145 stars π
Updated: 9mo ago
Description
An MCP server that bridges AI automation and human decision-making by providing real-time GUI dialog tools. AI assistants can request text input, present choices, collect multiline feedback, show confirmations, and display notifications through native OS dialogs. Cross-platform with sub-100ms response time, non-blocking threaded operations, and configurable 5-minute timeouts.
β Best for
AI workflows that need human oversight, approval, or input at critical decision points
βοΈ Skip if
You're running in a headless server environment or need web-based interaction
π‘ Use cases
- Getting human confirmation before AI executes critical actions
- Collecting user input mid-workflow for decisions or parameters
- Presenting multiple-choice options for human selection
- Displaying status notifications and operation results
- Gathering detailed feedback or code input via multiline dialogs
π Pros
- β Cross-platform native GUI (Windows, macOS, Linux)
- β Non-blocking with sub-100ms dialog initialization
- β No API key or external service required
- β Clean 6-tool interface for all common interaction patterns
π Cons
- β Requires a desktop environment β no headless/server support
- β GUI toolkit dependencies may need installation on some Linux distros
- β 5-minute timeout may be insufficient for complex decisions
π§ Exposed tools (6 tools)
| Tool | Category | Description |
|---|---|---|
| show_confirmation_dialog | confirmation | Request yes/no confirmation before proceeding with actions |
| get_user_input | input | Retrieve single-line text, numbers, or data with optional validation |
| get_user_choice | input | Present multiple selection options with single or multi-select support |
| get_multiline_input | input | Collect extended text content for code, descriptions, or feedback |
| show_info_message | notification | Display notifications, status updates, and operation results |
| health_check | system | Monitor server status and GUI availability |
π‘ Tips & tricks
Use show_confirmation_dialog before destructive operations. Combine get_user_choice for quick selections and get_multiline_input for detailed feedback.
Quick info
- Author
- GongRzhe
- License
- MIT
- Runtime
- Python 3.10+
- Transport
- stdio
- Category
- productivity
- Difficulty
- Beginner
- Self-hostable
- β
- Auth
- β
- Docker
- β
- Version
- 1.0.0
- Updated
- Jun 18, 2025
Client compatibility
- β Claude Code
- β Cursor
- β VS Code Copilot
- β Gemini CLI
- β Windsurf
- β Cline
- β JetBrains AI
- β Warp
Platforms
π macOS π§ Linux πͺ Windows