MCP Directory

How to add Mobile MCP to Windsurf

Platform-agnostic mobile automation for iOS & Android — simulators, emulators, and real devices. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 5.2k · stdio · no auth

Windsurf config for Mobile MCP

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

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Mobile MCP config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Mobile MCP's tools become available to Cascade.

Before you start

  • Xcode command line tools (for iOS)
  • Android Platform Tools / Android SDK (for Android)
  • Node.js v22+
  • An MCP-supported model or agent (e.g. Claude, OpenAI Agent SDK, Copilot Studio)
  • A connected iOS/Android real device, or a running iOS Simulator / Android Emulator

What Mobile MCP can do in Windsurf

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/landscape).

mobile_list_apps

List all installed apps on the device.

mobile_launch_app

Launch an app using its package name.

mobile_terminate_app

Stop and terminate a running app.

mobile_install_app

Install an app from file (.apk, .ipa, .app, .zip).

Security

The standard stdio configuration requires no authentication. When running in SSE server mode (--listen), set the MOBILEMCP_AUTH environment variable to require a Bearer token (Authorization: Bearer <token>) on all requests. The server collects anonymous usage telemetry via PostHog; set MOBILEMCP_DISABLE_TELEMETRY=1 to disable it. The server can install/uninstall apps and fully control connected devices, simulators, and emulators, so only run it against devices you trust.

Mobile MCP + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Mobile MCP config there under the "mcpServers" key and restart the client.

Is Mobile MCP safe to use with Windsurf?

The standard stdio configuration requires no authentication. When running in SSE server mode (--listen), set the MOBILEMCP_AUTH environment variable to require a Bearer token (Authorization: Bearer <token>) on all requests. The server collects anonymous usage telemetry via PostHog; set MOBILEMCP_DISABLE_TELEMETRY=1 to disable it. The server can install/uninstall apps and fully control connected devices, simulators, and emulators, so only run it against devices you trust.

Which platforms and device types are supported?

iOS real devices and Simulators, and Android real devices and Emulators. iOS uses native accessibility and WebDriverAgent; Android uses ADB and UI Automator.

Does it require a computer vision model?

No. It uses native accessibility trees for most interactions and only falls back to screenshot-based coordinate analysis when accessibility data or view-hierarchy coordinates are unavailable.

How do I run it as an HTTP/SSE server instead of stdio?

By default it runs over stdio. Start an SSE server with `npx @mobilenext/mobile-mcp@latest --listen 3000` (or `--listen 0.0.0.0:3000`), then point your MCP client at http://<host>:3000/mcp. Set MOBILEMCP_AUTH to require a Bearer token.

View repo Full Mobile MCP page