Human-Controlled MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Human-Controlled MCP Server 🎮
A Model Context Protocol (MCP) server where you are the backend! Claude makes requests, and you respond through a beautiful web interface in real-time.
What Does This Do?
Instead of connecting Claude to APIs, databases, or automated tools, this MCP server connects Claude to you. When Claude needs information, wants to make a decision, or needs human judgment, it sends a request to your web dashboard where you can respond.
Related MCP server: AskMeMCP
Features
🌐 Web Interface: Beautiful single-page dashboard to see and respond to Claude's requests
⚡ Real-time: Requests appear instantly in your browser
🎨 Clean UI: Modern, responsive interface with no frameworks needed
🔧 Multiple Tools: Ask questions, request searches, or get decisions from humans
⏱️ Timeout Handling: Automatic 5-minute timeout for pending requests
Architecture
Claude Desktop
↓ (MCP Protocol)
Python MCP Server
↓ (HTTP)
Web Interface (You!)Setup Instructions
1. Install Dependencies
pip install -r requirements.txt2. Configure Claude Desktop
Edit your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this configuration:
{
"mcpServers": {
"human-controlled": {
"command": "python",
"args": [
"/absolute/path/to/human_mcp_server.py"
]
}
}
}Important: Replace /absolute/path/to/human_mcp_server.py with the actual full path to the Python file.
3. Start the Server
You have two options:
Option A: Via Claude Desktop (Recommended)
Just restart Claude Desktop after configuring
The server starts automatically when Claude Desktop launches
Open your browser to http://localhost:5001
Option B: Standalone Testing
python human_mcp_server.pyThen connect via Claude Desktop or test with an MCP client.
4. Open the Web Interface
Navigate to: http://localhost:5001
You'll see the Human MCP Control Panel where you can respond to Claude's requests.
Usage
In Claude Desktop
Once configured, Claude will have access to three tools:
ask_human: Ask you a question
human_search: Request you to search for information
human_decision: Ask you to make a decision
Example Conversation
You: "Claude, can you ask me what I want for dinner?"
Claude: Uses ask_human tool
[Your Web Interface Shows]:
Tool: ask_human
Parameters:
{
"question": "What would you like for dinner tonight?",
"context": "The user asked me to ask them this question."
}You: Type "I'd like pasta with marinara sauce" in the web interface and click Submit
Claude: "Based on your response, you'd like pasta with marinara sauce for dinner tonight!"
Available Tools
1. ask_human
Ask the human operator any question.
Parameters:
question(required): The question to askcontext(optional): Additional context
Example Use: "What's your email address?" "Do you approve this change?" "What are your thoughts on this approach?"
2. human_search
Request the human to search for information.
Parameters:
query(required): What to search forsources(optional): Where to look
Example Use: "Can you search for the latest news on AI?" "Look up our company's Q3 revenue numbers"
3. human_decision
Ask the human to make a decision.
Parameters:
decision_needed(required): What needs to be decidedoptions(required): Available optionsrecommendation(optional): AI's recommendation
Example Use: "Should we use approach A or B for this feature?" "Which design do you prefer?"
Technical Details
Protocol: Model Context Protocol (MCP) over stdio
Server: Python with Flask for web interface
Transport: Standard input/output for MCP, HTTP for web UI
Timeout: 5 minutes per request
Port: 5001 (web interface)
Troubleshooting
Server won't start
Check that port 5001 isn't already in use
Verify Python dependencies are installed:
pip list | grep -E "flask|mcp"
Claude can't connect
Verify the path in
claude_desktop_config.jsonis absolute and correctRestart Claude Desktop after configuration changes
Check Claude Desktop logs for errors
Web interface not accessible
Make sure the server is running:
lsof -i :5001Try accessing
http://127.0.0.1:5001instead oflocalhostCheck your firewall settings
Requests timing out
Default timeout is 5 minutes - increase
max_waitin the code if neededMake sure your web interface is open and polling
Customization
Change the port
Edit app.run() in the code:
app.run(host='0.0.0.0', port=8080, debug=False, use_reloader=False)Add more tools
Add new tools in the handle_list_tools() function following the MCP Tool schema.
Modify timeout
Change max_wait in the handle_call_tool() function (currently 300 seconds).
Customize the UI
Edit the HTML_TEMPLATE string - it's a single self-contained HTML file with embedded CSS and JavaScript.
Security Notes
This server binds to
0.0.0.0, making it accessible on your local networkFor localhost-only access, change to
host='127.0.0.1'Add authentication if exposing over a network
Responses are stored in memory only (not persistent)
Use Cases
Personal Assistant: Claude asks you about your schedule, preferences, or decisions
Research Helper: Claude requests you to look up information it can't access
Code Review: Claude asks for your approval or input on code changes
Creative Collaboration: Claude asks for your creative input or direction
Teaching Tool: Demonstrate how MCP servers work with manual responses
Credits
Built with:
Vanilla JavaScript (no frameworks!)
License
MIT License - feel free to modify and use as you wish!
This server cannot be deployed
Maintenance
Related MCP Connectors
Lets AI agents use a real human as a tool: visual checks, taste, phone calls, unblocking, approvals
Give any AI agent a way to ask a person — for approval, a decision, an answer or a review.
Human-in-the-loop control panel for AI agents: start runs, review them, answer their requests.
Human-in-the-loop API for AI agents. CAPTCHA, OTP, KYC, and approvals by real humans.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to request human input through a web interface, allowing them to pause execution and wait for responses via interactive tools like single questions, multiple choice selections, hypothesis challenges, and decision workflows.13 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to request human input through a web interface during execution. Supports single questions, multiple choice selections, hypothesis challenges, and decision workflows for human-in-the-loop interactions.13 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides a human-in-the-loop dashboard for coordinating multiple AI agents, enabling real-time approval, feedback, and intervention on critical decisions.Mozilla Public 2.0
- FlicenseAqualityBmaintenanceLets an AI agent ask real humans a question when the web genuinely has no answer, and get verbatim replies back with a respondent count. Built for the moment an agent is about to say "you should validate this with real users". Remote MCP, plain POST, or a single GET. No signup, no API key.2-