Doksi Docs
Device API

Session

Provision, monitor, and tear down cloud Android device sessions.

Manage the lifecycle of cloud Android devices. Each MCP server instance supports one active session — use multiple instances for parallel sessions.

start_session

Provision a new cloud Android device. Boot takes approximately 90 seconds.

ParameterTypeRequiredDescription
originstringYesIdentifies the calling agent — claude-code, cursor, codex, windsurf, vscode-copilot, gemini, or a custom identifier
descriptionstringNoLabel for this session
Session abc123XYZ is starting. Wait 90 seconds before querying state.
Remember to call end_session when done.

The returned session ID is automatically stored by the MCP server. All subsequent tool calls use it implicitly — no need to pass it manually.

get_sessions

List all active sessions for your API key. Returns session status, uptime, device model, resolution, DPI, battery level, and foreground app.

Session abc123XYZ (running, 12 min)
  Description: "Login flow test"
  Device: Pixel 9, 1080x2400 @432dpi, portrait
  Battery: 100%
  App: com.example.myapp (foreground)

end_session

Deprovision the active session. Billing stops immediately.

ParameterTypeRequiredDescription
sessionIdstringNoSession to end. Defaults to the current session
The session has been ended.

start_tunnel

Route all device traffic through a Tailscale exit node. Use this to test against staging environments or region-locked backends.

ParameterTypeRequiredDescription
authKeystringYesTailscale auth key
exitNodeIpstringYesIP address of the exit node
Tunnel started via exit node 100.64.0.3.

stop_tunnel

Disconnect the Tailscale tunnel and restore default routing.

Tunnel stopped. Default network restored.

On this page