HumanBridge MCP Server by Jatin Iyer — AI-to-human GUI dialogs with dynamic sizing and scrollable content
Project description
HumanBridge MCP Server
by Jatin Iyer
A Model Context Protocol (MCP) Server that enables AI assistants to interact with humans through polished, modern GUI dialogs. HumanBridge bridges the gap between automated AI processes and human decision-making — providing text input, multiple choice, confirmations, and info notifications, all in dynamically-sized, scrollable windows that never overflow your screen.
Features
- Text Input — get text, numbers, or other data with validation
- Multiple Choice — single or multi-select option lists
- Multi-line Input — collect code, descriptions, or long-form content
- Confirmation Dialogs — yes/no decisions before proceeding
- Information Messages — display notifications and status updates
- Health Check — monitor server and GUI availability
- Dynamic sizing — windows grow to fit content, cap at 80% screen height, then scroll
- Scrollable content — title/prompt area scrolls automatically when text is long
- Cross-platform — Windows 11-style, macOS native, Linux compatible
Installation
Quick Install with uvx (Recommended)
uvx humanbridge-mcp
pip
pip install humanbridge-mcp
humanbridge-mcp
Configuration
VS Code GitHub Copilot
Add to your VS Code settings.json or .vscode/mcp.json:
{
"mcp": {
"servers": {
"humanbridge": {
"command": "uvx",
"args": ["humanbridge-mcp"]
}
}
}
}
Claude Desktop
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"humanbridge": {
"command": "uvx",
"args": ["humanbridge-mcp"]
}
}
}
Restart after updating the config.
Available Tools
get_user_input
Single-line text, integer, or float input.
| Parameter | Type | Description |
|---|---|---|
title |
str | Dialog window title |
prompt |
str | Question shown to user |
default_value |
str | Pre-filled value (optional) |
input_type |
str | "text", "integer", or "float" |
get_user_choice
Pick one or many options from a list.
| Parameter | Type | Description |
|---|---|---|
title |
str | Dialog window title |
prompt |
str | Question shown to user |
choices |
list[str] | Options to present |
allow_multiple |
bool | Allow multi-select (default: false) |
get_multiline_input
Large text area for code, descriptions, or long content.
| Parameter | Type | Description |
|---|---|---|
title |
str | Dialog window title |
prompt |
str | Question shown to user |
default_value |
str | Pre-filled text (optional) |
show_confirmation_dialog
Yes/No decision dialog.
| Parameter | Type | Description |
|---|---|---|
title |
str | Dialog window title |
message |
str | Confirmation message |
show_info_message
Informational notification — user clicks OK to dismiss.
| Parameter | Type | Description |
|---|---|---|
title |
str | Dialog window title |
message |
str | Information message |
health_check
Returns server status, platform details, and GUI availability.
Response Format
All tools return structured JSON:
{
"success": true,
"user_input": "User's response",
"cancelled": false,
"platform": "windows"
}
Common fields: success, cancelled, platform, error
Tool-specific: user_input, input_type, selected_choice, selected_choices, confirmed, response, acknowledged, character_count, line_count
Dialog Behaviour
- Short content: window sizes exactly to content — compact and clean
- Long content: window grows up to 80% of screen height, then the title/prompt area becomes scrollable (mousewheel supported)
- Input widgets (entry field, text area, choice list) are always fully visible — they never scroll away
- All dialogs are resizable by the user
Troubleshooting
Dialogs not appearing
- Verify you're in a desktop environment (not headless)
- Check tkinter:
python -c "import tkinter" - Run
health_checktool to diagnose
macOS permission error
- Grant Accessibility permissions: System Preferences → Security & Privacy → Accessibility
Dialog timeout
- Default timeout is 5 minutes. Dialogs return
cancelled: trueafter timeout.
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Windows 10/11 | ✅ Full | Modern Windows 11-style UI, Segoe UI font |
| macOS | ✅ Full | SF Pro Display font, Accessibility permission needed |
| Linux | ✅ Full | Ubuntu/Debian compatible, system fonts |
License
MIT License — see LICENSE
HumanBridge MCP Server by Jatin Iyer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file humanbridge_mcp-1.0.0.tar.gz.
File metadata
- Download URL: humanbridge_mcp-1.0.0.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
886489cbe3643f80a9bab68c7297c9f7765e3d681cd604556a9bc004035e8b89
|
|
| MD5 |
8902afbaab0aa5fbae5a37f232f9f734
|
|
| BLAKE2b-256 |
12a7830b176497b7681b5fb034607f2558ca59157698c5b52022fa10d7d65125
|
File details
Details for the file humanbridge_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: humanbridge_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
651b0c3a25c10f37d6c63028041286b88d475cb3ec6ead5d56c9524fe3bfc053
|
|
| MD5 |
2b49f3b0953513c1443eebdd870f1e80
|
|
| BLAKE2b-256 |
c3ec82b51320461bb69258e4df5467dc150274b9f31e79ab4f8cd5c23e1e94d2
|