GUI-Agent阶跃星辰GUI-MCP命令解析和工具映射如何?

摘要:【GUI-Agent】阶跃星辰 GUI-MCP 解读 (5) 命令解析和工具映射 目录【GUI-Agent】阶跃星辰 GUI-MCP 解读 (5) 命令解析和工具映射0x00 摘要0x01 MCP 命令解析流程1.1 功能层级1.1.1 低
【GUI-Agent】阶跃星辰 GUI-MCP 解读---(5)---命令解析和工具映射 目录【GUI-Agent】阶跃星辰 GUI-MCP 解读---(5)---命令解析和工具映射0x00 摘要0x01 MCP 命令解析流程1.1 功能层级1.1.1 低层 MCP1.1.2 高层 MCP1.2 命令执行链路1.3 FastMCP 框架0x02 工具注册机制2.1 工具注册2.2 具体工具实现2.2.1 list_connected_devices2.2.2 ask_agent2.3 协议交互模式2.4 扩展机制0x03 业务逻辑层3.1 层次细分3.1.1 功能定位层3.1.2 架构集成层面3.2 execute_task3.3 gui_agent_loop3.4 不同层级MCP的处理3.4.1 低阶 MCP 原子操作参数约束3.4.2 高阶 MCP 操作任务描述标准化任务描述格式规范任务描述内容标准化0xFF 参考 0x00 摘要 25年底,阶跃星辰升级发布了全新的AI Agent系列模型Step-GUI,包括云端模型Step-GUI、首个面向GUI Agent的MCP协议:GUI-MCP(Graphical User Interface - Model Context Protocol),这是首个专为图形用户界面自动化而设计的 MCP 实现,兼顾标准化与隐私保护。 因此,我们就来解读这个MCP协议,顺便看看端侧Agent的实现架构。本文是第五篇,主要是介绍GUI-MCP 的命令解析和工具映射。 因为是反推解读,而且时间有限,所以可能会有各种错误,还请大家不吝指出。 0x01 MCP 命令解析流程 1.1 功能层级 GUI-MCP 采用分层设计,将功能划分为两个不同层级:低层 MCP 与高层 MCP。 1.1.1 低层 MCP 低层 MCP 专注于原子级设备操作,提供细粒度控制接口。该层级公开以下类别的原语: 设备管理:接口 get_device_list() 获取所有已连接设备,实现多设备编排。 状态感知:接口 get_screenshot() 捕获当前设备屏幕状态,为决策提供视觉反馈。 基本操作:如下图所示的完整交互原语集合。 这些原子接口为主语言模型提供最大灵活性,使其能够根据当前状态和任务需求进行细粒度规划与控制。适合需要逐步规划的场景。 1.1.2 高层 MCP 高层 MCP 专注于抽象任务执行,通过封装完整任务执行逻辑实现。其主要接口为:execute_task(task_description)。该接口接受自然语言任务描述,并自动完成任务。例如: execute_task("点击第一个元素") execute_task("买一杯咖啡") execute_task("搜索白色帆布鞋,37 码,100 元以内,并把第一个结果加入收藏") 注意:实际上在代码中,高层 MCP的主要接口为 ask_agent。execute_task 只是中间管理层。 1.2 命令执行链路 客户端请求处理如下 MCP 协议解析:FastMCP 框架解析 MCP 协议请求 工具匹配:根据请求中的工具名称匹配注册的工具函数 参数映射:将请求参数映射到函数参数 执行调用:调用相应的工具函数 工具执行流程 参数解析:将 MCP 请求参数转换为 Python 函数参数 函数调用:执行注册的工具函数 结果封装:将函数返回值封装为 MCP 响应格式 1.3 FastMCP 框架 FastMCP框架会自动提取所有@mcp.tool装饰的函数及其文档字符串,然后将这些信息作为系统提示提供给LLM,使LLM知道有哪些工具可以,即如何使用它们。当LLM需要执行某个操作时,它可以根据这些工具描述选择合适的工具并生成相应的调用参数。
阅读全文