- 项目简介
- 该仓库实现了一个基于 MCP 的服务器端,能够向客户端暴露一个名为 classify_bristol_type 的工具,用于将输入的粪便图片进行 Bristol Stool Scale 1–7 的分类,并返回包含预测结果、置信度、能量分数等信息的 JSON 数据。服务器内部通过一个预测器(Predictor)加载模型权重、进行推理并输出结构化结果。测试用例表明该实现具备完整的服务器端工具注册、请求处理与返回能力。
- 主要功能点
- 注册并暴露 MCP 工具 classify_bristol_type,接受输入参数 image_base64(包含数据URL或纯 base64 数据),返回结果的 JSON 文本,包括 pred_type、label、probs、confidence、energy、reason 等字段。
- 通过 Predictor 加载模型并执行推理,输出包含类别概率、置信度等信息的标准化结构。
- 使用 run_mcp_server.py 启动本地 MCP 服务器,可选择传输协议(stdio、SSE、streamable-http)以与 LLM 客户端进行交互。
- 提供测试用例,验证工具调用的返回结构和标注正确性。
- 安装步骤
-
- 准备运行环境:需要 Python 3.x 环境,安装依赖中包含用于 MCP 服务的 mcp 库(例如 mcp 或相关实现)。
-
- 获取代码与模型权重:确保仓库代码完整,且模型权重 checkpoint_best.pt 及可选阈值文件 thresholds.json 已就绪。
-
- 运行 MCP 服务器:使用脚本脚本/mcp/run_mcp_server.py,传入必须参数,例如 --checkpoint 指向模型权重文件、--thresholds 指向温度校准阈值(如提供),可选传输协议。示例用法见仓库中的脚本注释。
-
- 服务器配置信息(MCP 客户端配置 JSON,客户端仅需读取此配置来启动并连接服务器;不需要在客户端代码中使用) { "server_name": "ppuzik_mcp_server", "command": "python", "args": [ "scripts/mcp/run_mcp_server.py", "--checkpoint", "<path-to-checkpoint_best.pt>", "--thresholds", "<path-to-thresholds.json>", "--transport", "stdio" ], "description": "ppuzik 的 MCP 服务器,用于 Bristol Stool 分类工具的调用与响应。" }
- 基本使用方法
- 启动服务器后,客户端可以通过 MCP 的标准工具调用接口,请求包括 image_base64 参数的输入。服务器返回一个结构化的 JSON 字符串,包含预测类型、概率分布、置信度、能量分数等信息,以及错误/质量相关的描述。若需要与大型语言模型进行对话式集成,请使用 MCP 客户端约定的调用方式读取工具输出并在下一步对结果进行处理。
- 额外说明
- 服务器通过工具注册与调用方式实现,具备基本的会话和上下文能力,且具备向 LLM 客户端输出结构化结果的能力。若要在生产环境中使用,请确保网络传输安全、密钥认证和日志审计等安全措施到位。
信息
分类
AI与计算