使用说明
项目简介
human-mcp 是一个独特的 MCP 服务器实现,它将人类操作员视为一组工具提供给 AI 助手。通过这个服务器,AI 助手可以调用“human_eye_tool”、“human_hand_tool”、“human_mouth_tool”等工具,实际上是请求人类操作员执行相应的任务,并将结果反馈给 AI 助手。这是一个概念验证项目,旨在演示 MCP 协议的灵活性和扩展性,以及人机协作的可能性。
主要功能点
- MCP 协议兼容性: 作为一个 MCP 服务器,它遵循 MCP 协议规范,能够接收和响应来自 MCP 客户端的请求。
- 人类工具集成: 提供了一系列以人类感官和操作命名的工具,例如 'human_eye_tool' (人眼工具), 'human_hand_tool' (人手工具), 'human_mouth_tool' (人嘴工具) 等,每个工具代表请求人类执行特定类型的任务。
- 任务管理界面: 通过 Streamlit 应用程序提供了一个用户友好的界面,用于展示 AI 助手请求的任务,并允许人类操作员输入任务结果。
- 基于 SQLite 的任务队列: 使用 SQLite 数据库来管理待处理的任务,确保任务的持久性和可靠处理。
- 异步任务处理: 使用异步机制处理任务,MCP 服务器能够高效地等待人类操作员在 Streamlit 界面上的响应。
安装步骤
-
克隆仓库:
git clone https://github.com/upamune/human-mcp.git cd human-mcp -
创建并激活虚拟环境:
uv venv source .venv/bin/activate -
安装依赖:
uv pip install .
服务器配置
要将 'human-mcp' 服务器配置为 MCP 客户端的工具,您需要提供以下 JSON 配置信息。这个配置告诉 MCP 客户端如何启动和连接到 'human-mcp' 服务器。
{ "human-mcp": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "$PATH_TO_REPOSITORY/human_mcp/mcp_server.py" ] } }
配置参数说明:
- '"human-mcp"': 工具的名称,在 MCP 客户端配置中用于标识和调用此工具。
- '"command": "uv"': 启动服务器的命令,这里使用 'uv run' 来运行 Python 脚本。'uv' 是一个快速的 Python 包安装和运行工具,确保环境中已安装 'uv'。
- '"args"': 传递给 'uv run' 命令的参数列表。
- '"run"': 'uv' 的子命令,用于运行指定的 Python 脚本。
- '"--with"': 'mcp[cli]' 允许使用 'mcp' 命令行工具以及相关的库。
- '"mcp"': 指定使用 'mcp' 模块。
- '"run"': 'mcp' 模块的 'run' 命令,用于启动 MCP 服务器。
- '"$PATH_TO_REPOSITORY/human_mcp/mcp_server.py"': MCP 服务器脚本的路径。请将 '$PATH_TO_REPOSITORY' 替换为 'human-mcp' 仓库在您本地文件系统中的实际路径。
基本使用方法
-
启动 MCP 服务器: MCP 客户端会根据上述配置自动启动 'human-mcp' 服务器。或者您也可以手动在终端中运行配置中指定的命令来启动服务器。
-
启动 Streamlit UI: 在 新的终端窗口 中,导航到 'human-mcp' 仓库目录,并运行以下命令以启动 Streamlit 用户界面:
task run-streamlitStreamlit UI 将在浏览器中打开,通常地址为 'http://localhost:8501'。
-
配置 MCP 客户端: 在您的 MCP 客户端(例如 Claude Desktop)中,配置上述 JSON 代码块,确保 '"command"' 和 '"args"' 中的路径正确指向 'human_mcp/mcp_server.py' 脚本。
-
从 MCP 客户端调用工具: 现在,您可以从 MCP 客户端向 'human-mcp' 服务器发送工具调用请求。例如,如果您想使用 'human_eye_tool',可以构造一个包含工具名称和参数的 MCP 请求。
-
在 Streamlit UI 上查看和响应任务: 当 MCP 服务器接收到工具调用请求后,任务将显示在 Streamlit UI 上。人类操作员可以在 UI 上查看任务描述 (指示),执行相应的 "人类任务",并在输入框中填写结果。点击 “応答を送信” 按钮提交结果。
-
MCP 客户端接收响应: 一旦人类操作员在 Streamlit UI 上提交了响应,'human-mcp' 服务器会将结果封装成 MCP 响应,发送回 MCP 客户端。
通过以上步骤,您就成功地将人类操作员作为 MCP 工具集成到了 AI 助手的工作流程中。
信息
分类
AI与计算