Skip to main content
Glama

Human-Controlled MCP Server

by lardratboy

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.

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.txt

2. 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:5000

Option B: Standalone Testing

python human_mcp_server.py

Then connect via Claude Desktop or test with an MCP client.

4. Open the Web Interface

Navigate to: http://localhost:5000

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:

  1. ask_human: Ask you a question

  2. human_search: Request you to search for information

  3. 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 ask

  • context (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 for

  • sources (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 decided

  • options (required): Available options

  • recommendation (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: 5000 (web interface)

Troubleshooting

Server won't start

  • Check that port 5000 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.json is absolute and correct

  • Restart Claude Desktop after configuration changes

  • Check Claude Desktop logs for errors

Web interface not accessible

  • Make sure the server is running: lsof -i :5000

  • Try accessing http://127.0.0.1:5000 instead of localhost

  • Check your firewall settings

Requests timing out

  • Default timeout is 5 minutes - increase max_wait in the code if needed

  • Make 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 network

  • For 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:

License

MIT License - feel free to modify and use as you wish!

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Connects Claude to a human operator through a web interface, allowing Claude to ask questions, request searches, or seek decisions that are answered by a human in real-time. Instead of automated tools, Claude gets responses directly from you through a beautiful web dashboard.

  1. What Does This Do?
    1. Features
      1. Architecture
        1. Setup Instructions
          1. 1. Install Dependencies
          2. 2. Configure Claude Desktop
          3. 3. Start the Server
          4. 4. Open the Web Interface
        2. Usage
          1. In Claude Desktop
          2. Example Conversation
        3. Available Tools
          1. 1. ask_human
          2. 2. human_search
          3. 3. human_decision
        4. Technical Details
          1. Troubleshooting
            1. Server won't start
            2. Claude can't connect
            3. Web interface not accessible
            4. Requests timing out
          2. Customization
            1. Change the port
            2. Add more tools
            3. Modify timeout
            4. Customize the UI
          3. Security Notes
            1. Use Cases
              1. Credits
                1. License

                  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/lardratboy/human_mcp'

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