# Tools Reference

Mobile MCP exposes the following tools to any connected MCP client. Tools are grouped by function.

## Device management[​](#device-management "Direct link to Device management")

| Tool                            | Description                                                          |
| ------------------------------- | -------------------------------------------------------------------- |
| `mobile_list_available_devices` | List all available devices (simulators, emulators, and real devices) |
| `mobile_get_screen_size`        | Get the screen size of the mobile device in pixels                   |
| `mobile_get_orientation`        | Get the current screen orientation of the device                     |
| `mobile_set_orientation`        | Change the screen orientation (portrait or landscape)                |

## App management[​](#app-management "Direct link to App management")

| Tool                   | Description                                                       |
| ---------------------- | ----------------------------------------------------------------- |
| `mobile_list_apps`     | List all installed apps on the device                             |
| `mobile_launch_app`    | Launch an app using its bundle ID or package name                 |
| `mobile_terminate_app` | Stop and terminate a running app                                  |
| `mobile_install_app`   | Install an app from a local file (`.apk`, `.ipa`, `.app`, `.zip`) |
| `mobile_uninstall_app` | Uninstall an app using its bundle ID or package name              |

## Screen interaction[​](#screen-interaction "Direct link to Screen interaction")

| Tool                                         | Description                                                          |
| -------------------------------------------- | -------------------------------------------------------------------- |
| `mobile_take_screenshot`                     | Take a screenshot to understand what is currently on screen          |
| `mobile_save_screenshot`                     | Save a screenshot to a file on disk                                  |
| `mobile_list_elements_on_screen`             | List UI elements with their coordinates and accessibility properties |
| `mobile_click_on_screen_at_coordinates`      | Click at specific x, y coordinates                                   |
| `mobile_double_tap_on_screen`                | Double-tap at specific coordinates                                   |
| `mobile_long_press_on_screen_at_coordinates` | Long press at specific coordinates                                   |
| `mobile_swipe_on_screen`                     | Swipe in any direction (up, down, left, right)                       |

## Input and navigation[​](#input-and-navigation "Direct link to Input and navigation")

| Tool                  | Description                                                                            |
| --------------------- | -------------------------------------------------------------------------------------- |
| `mobile_type_keys`    | Type text into the focused element, with optional submit                               |
| `mobile_press_button` | Press device buttons (`HOME`, `BACK`, `VOLUME_UP`, `VOLUME_DOWN`, `ENTER`, and others) |
| `mobile_open_url`     | Open a URL in the device browser                                                       |

## SSE server mode[​](#sse-server-mode "Direct link to SSE server mode")

By default Mobile MCP communicates over stdio. To expose it as an HTTP server using Server-Sent Events instead:

```
npx @mobilenext/mobile-mcp@latest --listen 3000
```

To bind to a specific network interface:

```
npx @mobilenext/mobile-mcp@latest --listen 0.0.0.0:3000
```

Configure your MCP client to connect to `http://<host>:3000/mcp`.

### Authorization[​](#authorization "Direct link to Authorization")

To require a Bearer token on every request:

```
MOBILEMCP_AUTH=my-secret-token npx @mobilenext/mobile-mcp@latest --listen 3000
```

All requests must include the header `Authorization: Bearer my-secret-token`. Requests without a valid token are rejected with HTTP 401.

### Disabling telemetry[​](#disabling-telemetry "Direct link to Disabling telemetry")

Mobile MCP collects anonymous usage telemetry. To opt out, set the environment variable before starting the server:

```
MOBILEMCP_DISABLE_TELEMETRY=1 npx @mobilenext/mobile-mcp@latest
```

For JSON-based MCP client configurations, add the variable under `env`:

```
{

  "mcpServers": {

    "mobile-mcp": {

      "command": "npx",

      "args": ["-y", "@mobilenext/mobile-mcp@latest"],

      "env": {

        "MOBILEMCP_DISABLE_TELEMETRY": "1"

      }

    }

  }

}
```
