👨🔧 人間をMCPサーバーとして利用する👩🔧
Configuration
View docs{
"mcpServers": {
"upamune-human-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"$PATH_TO_REPOSITORY/human_mcp/mcp_server.py"
]
}
}
}You run a human-assisted MCP server that mediates between an MCP client and a real human operator. The server accepts tool execution requests, queues clear human instructions in a local database, presents them via a Streamlit UI, captures human responses, and returns results back to the MCP client. This setup lets AI agents delegate tasks to people who can observe, describe, and act in the real world.
Start by installing and launching the server components, then connect your MCP client (for example Claude Desktop) to the local MCP server. The human operator will see tasks in the Streamlit UI, provide necessary observations or actions, and submit the responses. The MCP server routes those human-provided results back to the client as MCP responses.
Prerequisites you need before installing are Python 3.12 or higher, the uv runtime, and SQLite3.
# 1. Clone the project
git clone https://github.com/yourusername/human-mcp.git
cd human-mcp
# 2. Create and activate a Python virtual environment (using uv to manage environments)
# If uv is a separate tool in your setup, use the commands shown here to create and activate
uv venv
source .venv/bin/activate
# 3. Install Python dependencies via uv
uv pip install .Install the MCP server tooling, then start the Streamlit UI and connect the MCP client to the running server.
# Install the MCP server package (if your workflow uses a task runner)
task install-mcp
# Start the MCP server via the provided command in the client integration snippet
# This runs the MCP server with the path to the server script
# (adapt the PATH_TO_REPOSITORY to your local path)
uv run --with mcp[cli] mcp run $PATH_TO_REPOSITORY/human_mcp/mcp_server.py
# In a separate terminal, start the Streamlit UI
task run-streamlit
# Open the UI at the default URL
# http://localhost:8501With the MCP client connected, send a tool execution request from the client. The server records the required human instructions in a local SQLite database and notifies the Streamlit UI. A human operator observes the task list, provides observations or performs the requested actions, and enters the response in the UI. Submitting the response writes it back to SQLite, and the MCP server returns the results to the MCP client as a normal MCP response.
The main components live under the human-mcp folder. You’ll interact with the MCP server script and the Streamlit UI which together coordinate requests, human instructions, and responses.
human_eye_tool – The human describes what they see or looks for a specific item.
human_hand_tool – The human performs a simple physical action as instructed.
human_mouth_tool – The human speaks given words or phrases.
human_weather_tool – The human checks the local weather and reports it.
human_ear_tool – The human listens and explains what they hear in the environment.
human_nose_tool – The human smells the surroundings and describes odors.
human_taste_tool – The human tastes food and describes the flavor profile.
Treat human-in-the-loop operations with care. Ensure that instructions sent to human operators are clear, safe, and appropriate for the environment. Monitor response times and provide guidance if delays occur.
Watch for sensitive data exposure. Do not expose private information in the UI or in the communication with the MCP client.
The human observes and explains what they see, describing surroundings or locating specific items.
The human performs physical actions as instructed to interact with the environment.
The human vocalizes given phrases or words as required by the task.
The human checks and reports the current weather at the specified location.
The human listens and explains sounds or signals from the environment.
The human detects odors or smells relevant to the task.
The human tastes food and describes its flavor profile.