使用说明

项目简介

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 界面上的响应。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/upamune/human-mcp.git
    cd human-mcp
  2. 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate
  3. 安装依赖:

    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' 仓库在您本地文件系统中的实际路径。

基本使用方法

  1. 启动 MCP 服务器: MCP 客户端会根据上述配置自动启动 'human-mcp' 服务器。或者您也可以手动在终端中运行配置中指定的命令来启动服务器。

  2. 启动 Streamlit UI:新的终端窗口 中,导航到 'human-mcp' 仓库目录,并运行以下命令以启动 Streamlit 用户界面:

    task run-streamlit

    Streamlit UI 将在浏览器中打开,通常地址为 'http://localhost:8501'。

  3. 配置 MCP 客户端: 在您的 MCP 客户端(例如 Claude Desktop)中,配置上述 JSON 代码块,确保 '"command"' 和 '"args"' 中的路径正确指向 'human_mcp/mcp_server.py' 脚本。

  4. 从 MCP 客户端调用工具: 现在,您可以从 MCP 客户端向 'human-mcp' 服务器发送工具调用请求。例如,如果您想使用 'human_eye_tool',可以构造一个包含工具名称和参数的 MCP 请求。

  5. 在 Streamlit UI 上查看和响应任务: 当 MCP 服务器接收到工具调用请求后,任务将显示在 Streamlit UI 上。人类操作员可以在 UI 上查看任务描述 (指示),执行相应的 "人类任务",并在输入框中填写结果。点击 “応答を送信” 按钮提交结果。

  6. MCP 客户端接收响应: 一旦人类操作员在 Streamlit UI 上提交了响应,'human-mcp' 服务器会将结果封装成 MCP 响应,发送回 MCP 客户端。

通过以上步骤,您就成功地将人类操作员作为 MCP 工具集成到了 AI 助手的工作流程中。

信息

分类

AI与计算