Data as of

Mobile Next Mobile MCP for Windsurf: Setup & Config

Windsurf: Mobile Next Mobile MCP lets agents interact with iOS and Android apps on simulators, emulators, and real devices.

What you can do with Mobile Next Mobile in Windsurf

Pick it for one accessibility-first MCP interface across native iOS and Android device workflows.

  • Automate form entry and navigation on real or simulated devices.
  • Extract structured information from visible app screens.

Before you start: Mobile Next Mobile in Windsurf

  • Node.js 22 or newer
  • An MCP-capable client or agent
  • Configured mobile platform SDKs and tools
  • Xcode command-line tools for iOS workflows
  • Android Platform Tools for Android workflows
  • A connected device or running simulator/emulator

Stdio is the default. A --listen mode is documented with optional MOBILEMCP_AUTH bearer authentication. Set MOBILEMCP_DISABLE_TELEMETRY=1 to opt out of anonymous usage telemetry.

Mobile Next Mobile Windsurf configuration

  1. Choose Windsurf configuration scope

    For Mobile Next Mobile MCP, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.

  2. Add Mobile Next Mobile MCP to Windsurf

    Use the mobile-mcp entry below in mcpServers. Keep Mobile Next Mobile MCP's documented stdio connection fields and your other Windsurf entries.

  3. Check Mobile Next Mobile MCP in Windsurf

    Mobile Next Mobile MCP: Refresh MCP in Windsurf settings and inspect Cascade’s tools.

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

JSON
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ],
      "env": {}
    }
  }
}

Mobile Next Mobile tools available to Windsurf

Mobile Next Mobile's stored tool list documents 27 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.

mobile_list_available_devices

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_list_available_devices.

Find locally connected phones, tablets, simulators, and emulators.

mobile_login_to_cloud_provider

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_login_to_cloud_provider.

Begin authentication with the remote device cloud provider.

mobile_list_remote_devices

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_list_remote_devices.

mobile_allocate_remote_device

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_allocate_remote_device.

mobile_release_remote_device

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_release_remote_device.

mobile_list_apps

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_list_apps.

mobile_launch_app

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_launch_app.

mobile_terminate_app

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_terminate_app.

mobile_install_app

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_install_app.

Add an application to a device.

mobile_uninstall_app

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_uninstall_app.

Remove an application from a device.

mobile_get_screen_size

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_get_screen_size.

Read display dimensions in pixels.

mobile_click_on_screen_at_coordinates

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_click_on_screen_at_coordinates.

Tap the display at an x/y location.

mobile_double_tap_on_screen

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_double_tap_on_screen.

Perform a double tap at screen coordinates.

mobile_long_press_on_screen_at_coordinates

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_long_press_on_screen_at_coordinates.

Hold a press at a chosen screen location.

mobile_list_elements_on_screen

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_list_elements_on_screen.

mobile_press_button

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_press_button.

mobile_open_url

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_open_url.

mobile_swipe_on_screen

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_swipe_on_screen.

mobile_type_keys

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_type_keys.

mobile_save_screenshot

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_save_screenshot.

mobile_take_screenshot

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_take_screenshot.

mobile_set_orientation

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_set_orientation.

Switch the device screen orientation.

mobile_get_orientation

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_get_orientation.

Read the device screen orientation.

mobile_start_screen_recording

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_start_screen_recording.

Begin background screen capture and report the output path.

mobile_stop_screen_recording

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_stop_screen_recording.

End screen capture and report its path, size, and approximate duration.

mobile_list_crashes

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_list_crashes.

Find crash reports stored on the device.

mobile_get_crash

After refreshing Mobile Next Mobile in Windsurf settings, check Cascade's tool list for mobile_get_crash.

Read a crash report using an identifier from the crash list.

Mobile Next Mobile: full stored tool descriptions

Troubleshooting Mobile Next Mobile in Windsurf

  • Check npx @mobilenext/mobile-mcp@latest (Node.js/npm) on the machine running Windsurf's MCP integration for Mobile Next Mobile MCP; refresh MCP and inspect Cascade's tools.
  • Mobile Next Mobile MCP uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires platform SDKs, tools, and correctly configured devices.
  • Known limitation: Anonymous telemetry is collected unless disabled.
  • Known limitation: Remote cloud reservations are billed, and releasing them loses device changes.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

Mobile Next Mobile MCP — details. Windsurf guide

Frequently asked questions

Windsurf reads Mobile Next Mobile MCP under mcpServers in ~/.codeium/windsurf/mcp_config.json on macOS/Linux; Windows uses %USERPROFILE%\.codeium\windsurf\mcp_config.json.

Windsurf's mobile-mcp example uses stdio.

Mobile Next Mobile MCP's Windsurf configuration invokes npx @mobilenext/mobile-mcp@latest (Node.js/npm).

Mobile Next Mobile MCP's stored list contains 27 tools, including mobile_list_available_devices, mobile_login_to_cloud_provider, mobile_list_remote_devices. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

No. Accessibility snapshots provide structured interaction without a computer-vision model; screenshots are a fallback when needed.

No. The supplied tools distinguish locally available devices from authenticated, billed cloud reservations; cloud allocation requires explicit user intent.