StdHuman MCP 服务器

使用说明(Markdown 格式)

  • 项目简介 StdHuman MCP 服务器是一套基于 FastAPI 的 后端实现,提供符合 MCP(Model Context Protocol)的 JSON-RPC 服务能力,核心功能包括计划(plan)、日志(log)和人类决策(ask)工具的注册与执行,以及对外暴露的 /mcp 接口,方便 MCP 客户端通过统一协议进行调用。

  • 主要功能点

    • 实现 MCP 协议的核心请求:initialize、tools/list、tools/call,提供标准化的能力描述和调用入口
    • 提供 plan、log、ask 三个工具的具体实现,分别用于创建任务计划、发送状态更新、以及请求人类决策
    • 通过 /mcp 路径处理 MCP JSON-RPC 请求,返回标准的 JSON-RPC 响应
    • 集成 Telegram 通知:在计划、日志和决策场景中向授权用户发送消息
    • 支持异步与同步的人机决策模式(async 模式下返回请求标识,允许后续轮询结果)
    • REST 与 MCP 双入口,REST 端点用于普通 API 调用,MCP 端点用于 MCP 客户端
    • 基于 Pydantic 的参数校验,确保输入结构的正确性
  • 安装步骤

    • 安装前提:需具备 Python 环境(推荐 Python 3.8 及以上)
    • 获取代码:克隆该仓库到本地
    • 安装依赖:在项目根目录执行 pip install -r requirements.txt(若无该文件,可按项目的依赖信息安装 FastAPI、httpx、pydantic 等)
    • 启动服务器(示例命令,实际环境可按需要调整主机与端口): uvicorn app.main:app --host 0.0.0.0 --port 18081
  • 服务器配置(用于 MCP 客户端连接的配置信息,JSON 格式,包含服务器名称、启动命令及参数) { "server": "StdHuman MCP Server", "command": "uvicorn", "args": ["app.main:app", "--host", "0.0.0.0", "--port", "18081"], "notes": "服务器默认端口为 18081,客户端通过 /mcp 路径进行 JSON-RPC 调用。若在其他环境部署,请相应调整 host 与 port。" }

  • 基本使用方法

    • 启动服务器后,MCP 客户端可通过 /mcp 接口执行:
      • initialize:获取协议版本和能力信息
      • tools/list:查询可用工具(plan、log、ask)及其输入格式
      • tools/call:按名称调用具体工具,传入相应参数
    • 对于需要人机交互的场景,客户端可以选择同步模式(等待结果)或异步模式(获取并轮询请求结果)
    • 与 Telegram 的通知交互需要在环境变量中配置 Telegram 机器人令牌和授权用户名,确保授权流程正常进行

服务器信息