Problem or use case
During an Interactive (CLI) session, the AI agent can send ADB shell commands via runDeviceCommand but cannot directly interact with the device UI — no tap, swipe, type, key press, or screenshot primitives exist as MCP tools. Reaching the device screen requires opening the Portal's manual session UI or writing Appium scripts, neither of which fits the conversational CLI workflow.
This blocks key use cases: guided exploration ("tap the Login button"), live remediation ("swipe past the onboarding screen"), and visual verification ("take a screenshot and describe what you see").
This needs EPBs and then EPAs:
- EPB for adding an
interactWithDevice MCP tool (tap, swipe, type, pressKey) for gesture-based interaction during a live session
- EPB for adding a
takeScreenshot MCP tool that captures the current device screen and returns an authenticated image URL
- EPB for skill guidance describing the guided interaction loop: preview → interact → screenshot → verify
Jira: KOB-53972
Proposed solution
-
Tool name: interactWithDevice
-
Description: Sends UI interaction gestures (tap, swipe, type, pressKey) to the device during an active Interactive session. Reuses existing deviceControl / WebDriver interaction infrastructure.
-
Input parameters: sessionId, action ("tap" | "swipe" | "type" | "pressKey"), action-specific params (coordinates, text, keyCode)
-
Tool name: takeScreenshot
-
Description: Captures the current device screen and returns a pre-signed image URL (plus optional inline thumbnail).
-
Input parameters: sessionId
-
Output: { screenshotUrl, width, height, timestamp }
Workflow steps:
- User starts an interactive session; agent surfaces live preview URL (see companion issue)
- User asks agent to interact: "tap the Login button at the top of the screen"
- Agent calls
interactWithDevice(sessionId, "tap", { x: 540, y: 220 })
- Agent calls
takeScreenshot(sessionId) to verify the result
- Agent describes what changed and prompts for next action
Problem or use case
During an Interactive (CLI) session, the AI agent can send ADB shell commands via
runDeviceCommandbut cannot directly interact with the device UI — no tap, swipe, type, key press, or screenshot primitives exist as MCP tools. Reaching the device screen requires opening the Portal's manual session UI or writing Appium scripts, neither of which fits the conversational CLI workflow.This blocks key use cases: guided exploration ("tap the Login button"), live remediation ("swipe past the onboarding screen"), and visual verification ("take a screenshot and describe what you see").
This needs EPBs and then EPAs:
interactWithDeviceMCP tool (tap, swipe, type, pressKey) for gesture-based interaction during a live sessiontakeScreenshotMCP tool that captures the current device screen and returns an authenticated image URLJira: KOB-53972
Proposed solution
Tool name:
interactWithDeviceDescription: Sends UI interaction gestures (tap, swipe, type, pressKey) to the device during an active Interactive session. Reuses existing deviceControl / WebDriver interaction infrastructure.
Input parameters:
sessionId,action("tap" | "swipe" | "type" | "pressKey"), action-specificparams(coordinates, text, keyCode)Tool name:
takeScreenshotDescription: Captures the current device screen and returns a pre-signed image URL (plus optional inline thumbnail).
Input parameters:
sessionIdOutput:
{ screenshotUrl, width, height, timestamp }Workflow steps:
interactWithDevice(sessionId, "tap", { x: 540, y: 220 })takeScreenshot(sessionId)to verify the result