Skip to main content
Glama
mobile-next

Mobile Next MCP Server

Official
by mobile-next

mobile_get_screen_size

Retrieve mobile device screen dimensions in pixels to enable accurate UI automation and coordinate-based interactions for mobile testing.

Instructions

Get the screen size of the mobile device in pixels

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deviceYesThe device identifier to use. Use mobile_list_available_devices to find which devices are available to you.

Implementation Reference

  • src/server.ts:326-338 (registration)
    Registers the MCP tool 'mobile_get_screen_size' including input schema, description, and thin handler that delegates to the appropriate Robot instance's getScreenSize() method.
    tool( "mobile_get_screen_size", "Get Screen Size", "Get the screen size of the mobile device in pixels", { device: z.string().describe("The device identifier to use. Use mobile_list_available_devices to find which devices are available to you.") }, async ({ device }) => { const robot = getRobotFromDevice(device); const screenSize = await robot.getScreenSize(); return `Screen size is ${screenSize.width}x${screenSize.height} pixels`; } );
  • AndroidRobot.getScreenSize(): Parses output from ADB 'wm size' command to get physical screen dimensions in pixels (scale=1).
    public async getScreenSize(): Promise<ScreenSize> { const screenSize = this.adb("shell", "wm", "size") .toString() .split(" ") .pop(); if (!screenSize) { throw new Error("Failed to get screen size"); } const scale = 1; const [width, height] = screenSize.split("x").map(Number); return { width, height, scale }; }
  • MobileDevice.getScreenSize(): Queries screen size via mobilecli 'device info' command for iOS simulators.
    public async getScreenSize(): Promise<ScreenSize> { const response = JSON.parse(this.runCommand(["device", "info"])) as DeviceInfoResponse; if (response.data.device.screenSize) { return response.data.device.screenSize; } return { width: 0, height: 0, scale: 1.0 }; }
  • WebDriverAgent.getScreenSize(): Fetches screen size from iOS device's WebDriverAgent server via /wda/screen endpoint (used by IosRobot).
    public async getScreenSize(sessionUrl?: string): Promise<ScreenSize> { if (sessionUrl) { const url = `${sessionUrl}/wda/screen`; const response = await fetch(url); const json = await response.json(); return { width: json.value.screenSize.width, height: json.value.screenSize.height, scale: json.value.scale || 1, }; } else { return this.withinSession(async sessionUrlInner => { const url = `${sessionUrlInner}/wda/screen`; const response = await fetch(url); const json = await response.json(); return { width: json.value.screenSize.width, height: json.value.screenSize.height, scale: json.value.scale || 1, }; }); }
  • Type definition for ScreenSize returned by all Robot.getScreenSize() implementations.
    export interface ScreenSize extends Dimensions { scale: number; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mobile-next/mobile-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server