优测PAAS云真机平台为 AI Agent 提供的设备操作能力集成方案,通过标准化协议让 AI Agent 直接调用设备操作能力
基于 MCP 标准协议,为 AI Agent 提供强大的云真机设备操作能力
遵循 MCP 协议标准,支持 Streamable HTTP 与 SSE 两种传输模式,易于集成
支持 AI Agent 与设备的实时双向交互,毫秒级响应
提供统一的设备操作接口,屏蔽 Android / iOS / HarmonyOS 底层差异
支持同时连接和管理多台设备,并行执行任务
支持 Android、iOS、HarmonyOS、HarmonyOS NEXT 四大平台
覆盖 AI Agent 设备交互的多种典型场景
Agent 在真实设备上进行训练和推理,获取真实环境反馈
AI 自动生成测试用例并在真机上执行,验证应用行为
AI 自动执行复杂业务流程,替代重复性人工操作
AI 自动采集和分析设备数据,生成分析报告
AI 自动采集设备性能数据和日志,实时监控应用状态
简单六步,快速上手 UBox MCP 设备操作能力
AI Agent 通过 MCP 协议连接到 UBox MCP Server
HTTP 请求头携带 Bearer Token 进行认证
Agent 查询可用的设备操作工具列表
调用 connect_device 连接目标设备
调用各类工具执行设备操作
调用 disconnect_device 释放设备资源
支持 HTTP 和 SSE 两种传输模式,配置即可使用
{
"mcpServers": {
"ubox-mcp-server": {
"transport": "http",
"url": "https://dl.utest.21kunpeng.com/utest-paas-mcp/formal/ubox/mcp",
"description": "UBox MCP Server",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}{
"mcpServers": {
"ubox-mcp-server": {
"transport": "sse",
"url": "https://dl.utest.21kunpeng.com/utest-paas-mcp/formal/ubox/sse",
"description": "UBox MCP Server",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}涵盖设备管理、控制、应用、UI 分析、性能采集等全链路能力
get_device_list获取设备列表,支持平台过滤与分页connect_device连接指定设备,支持 normal/local 配置disconnect_device断开设备连接,释放资源get_connected_devices获取当前已连接设备列表get_device_status查询设备在线/离线等状态get_device_info获取设备硬件与系统详细信息take_screenshot截图并保存到文件,支持裁剪区域take_screenshot_base64截图返回 Base64 格式数据click_position按坐标点击屏幕,支持多点连击click_element按元素定位点击(XPath/OCR/CV/UI)long_click_element长按元素,支持自定义持续时间slide_position坐标滑动,自定义起止点和时长slide_between_elements元素间滑动,支持超时和按下时长input_text输入文字到设备press_button按键操作(Home/Back/Recent等)execute_adb_command执行 ADB 命令start_application启动应用,可选清除数据stop_application强制停止应用get_current_application获取当前前台应用信息get_running_applications获取所有运行中应用列表install_application通过 URL 远程安装应用install_local_application安装本地 APK/IPA,iOS 支持重签名uninstall_application卸载指定应用find_ui_element通过 XPath 查找 UI 元素get_ui_tree获取完整 UI 树结构get_element_by_cvCV 图像匹配定位元素get_element_by_ocrOCR 文字识别定位元素find_text_by_ocr通过 OCR 查找屏幕文字find_image_by_cv通过 CV 图像匹配查找图片set_clipboard_content设置设备剪贴板内容get_clipboard_content获取设备剪贴板内容start_screen_recording开始屏幕录制stop_screen_recording停止屏幕录制start_performance_collection开始性能数据采集stop_performance_collection停止性能采集并输出报告start_logcat_collection开始 Logcat 日志采集stop_all_logcat_collection停止所有 Logcat 采集start_anr_monitoring开始 ANR/Crash 监控stop_anr_monitoring停止 ANR 监控并输出结果ios_open_urliOS 打开 URL(iOS 专用)通过 MCP 客户端 SDK 快速接入,以下为 Python 示例
import asyncio from mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client import json
async def automated_test(): http_url = "http://localhost:8000/mcp" headers = {"Authorization": "Bearer YOUR_TOKEN"}
async with streamablehttp_client(url=http_url, headers=headers) as (read, write, _): async with ClientSession(read, write) as session: await session.initialize()
# 获取可用设备并连接 result = await session.call_tool("get_device_list", { "page_num": 1, "page_size": 10, "phone_platform": ["android"] }) devices = json.loads(result.content[0].text) udid = devices["data"]["devices"][0]["udid"]
await session.call_tool("connect_device", { "udid": udid, "os_type": "android" })
try: # 安装并启动应用 await session.call_tool("install_application", { "udid": udid, "app_url": "https://example.com/app.apk" }) await session.call_tool("start_application", { "udid": udid, "package": "com.example.testapp" }) await asyncio.sleep(2)
# 执行点击并截图验证 await session.call_tool("click_position", { "udid": udid, "pos": [0.5, 0.5] }) screenshot = await session.call_tool( "take_screenshot_base64", {"udid": udid} ) # 分析截图验证结果... finally: await session.call_tool("disconnect_device", {"udid": udid})
asyncio.run(automated_test())