Skip to main content
4 compared

Mobile dev MCP servers compared

Mobile-development MCP servers for building and testing apps with Claude, compared on trust, platforms, and setup.

Open in the interactive comparison tool
FieldiOS Simulator MCP Server

MCP server for controlling iOS simulators from AI agents, including simulator discovery, UI taps, typing, swipes, accessibility inspection, screenshots, video recording, app install, and app launch.

Open dossier
Mobile MCP Server

Cross-platform mobile automation MCP server for iOS and Android simulators, emulators, and real devices using accessibility snapshots, screenshots, coordinate taps, app management, and input tools.

Open dossier
Expo MCP Server for Claude

Official Expo-hosted remote MCP server for connecting Claude and other MCP clients to Expo documentation, Expo SDK guidance, EAS builds, EAS workflows, TestFlight crash and feedback data, React Native DevTools, and simulator automation for Expo projects.

Open dossier
XcodeBuildMCP Server

MCP server and CLI for AI-assisted iOS and macOS development with Xcode project discovery, simulator management, builds, tests, app utilities, and device workflows.

Open dossier
Trust
Install riskReview firstReview firstReview firstReview first
Notes Safety Privacy Safety Privacy Safety Privacy Safety Privacy
Categorymcpmcpmcpmcp
Sourcesource-backedsource-backedsource-backedsource-backed
AuthorJoshua Yoesmobile-nextExpoSentry
Added2026-06-052026-06-052026-06-042026-06-05
Platforms
Claude CodeClaude Desktop
Claude CodeClaude Desktop
Claude CodeClaude Desktop
Claude CodeClaude Desktop
Source repo
Safety notesUse version 1.3.3 or newer. The upstream security policy documents command-injection vulnerabilities in older versions and states that they were fixed in v1.3.3. The server invokes simulator, IDB, and host commands to tap, type, swipe, screenshot, record video, install apps, launch apps, and stop recordings. Filter high-risk or noisy tools with `IOS_SIMULATOR_MCP_FILTERED_TOOLS` when an agent should only inspect UI state. App install and launch tools can execute simulator app code, change simulator state, and interact with test credentials or local development services. Screenshots and recordings can overwrite or create files in configured output directories; review paths before letting an agent write artifacts.Mobile MCP can list devices, launch apps, terminate apps, install or uninstall apps, take screenshots, inspect UI elements, tap coordinates, type text, press device buttons, swipe, and open URLs. Real devices may contain personal accounts, private notifications, photos, messages, payment apps, health data, location data, and authentication prompts. Use simulators, emulators, or dedicated test devices for automation, and require approval before installing apps, uninstalling apps, sending messages, making purchases, changing settings, or entering credentials. Coordinate-based taps can hit the wrong UI when layouts change; verify critical actions with screenshots or accessibility snapshots.Expo MCP Server is an official remote MCP server hosted at `https://mcp.expo.dev/mcp`. It is not a HeyClaude-hosted package. The remote server uses OAuth-backed authentication. Do not paste Expo access tokens, usernames, passwords, or OAuth callback material into prompts, screenshots, public MCP configs, shell history, issue comments, or committed files. Build and workflow tools can trigger, cancel, inspect, validate, and submit EAS operations when the authenticated account has permission. Treat those as production-impacting actions for real apps. `build_submit` can submit finished builds to app stores when the project is configured for that path. Require explicit human confirmation before any store submission, release-channel change, or production distribution step. The dependency helper uses Expo's recommended install path for compatible package versions. Review generated dependency changes before committing or running the app. Local capabilities require installing `expo-mcp`, logging into Expo CLI, and starting the dev server with `EXPO_UNSTABLE_MCP_SERVER=1`. Review this environment before enabling local automation in shared machines, CI, or sensitive app projects. Simulator automation tools can tap screens, inspect views, take screenshots, collect logs, and open React Native DevTools. Keep them scoped to test apps, local simulators, or approved debugging sessions. Expo documents current local limitations, including one development server connection at a time, iOS local capability support limited to simulators, and iOS local capability support on macOS hosts.XcodeBuildMCP can build, test, launch, inspect, and manage simulator or device app workflows. Device operations may depend on code signing, provisioning profiles, bundle identifiers, and Apple developer account configuration. Build and test logs can reveal secrets, internal endpoints, customer fixtures, signing errors, and unreleased product details. Require human review before allowing an agent to change signing settings, delete derived data, run device workflows, or modify project configuration.
Privacy notesTool results may expose app screens, accessibility labels, text fields, screenshots, videos, bundle identifiers, simulator UDIDs, file paths, output directories, app paths, and environment variables. Simulator apps may contain test accounts, customer fixtures, tokens, unreleased UI, internal URLs, logs, or private feature flags. MCP transcripts, client logs, screenshots, videos, and saved artifacts can retain sensitive UI and app-state data outside the simulator. Do not share recordings, screenshots, simulator data, app bundles, UDIDs, or output directories from proprietary apps unless the team has approved that disclosure.Screenshots, accessibility trees, app lists, device names, package identifiers, typed input, visible notifications, and app contents may be sent to the MCP client and model. Real-device automation can expose personal data, customer data, tokens, one-time codes, location, contacts, photos, and private app state. Saved screenshots and logs should be protected or deleted after sensitive testing.Tool results can expose Expo account data, project identifiers, app names, build history, workflow runs, workflow logs, build logs, artifacts, TestFlight crash reports, TestFlight feedback, simulator screenshots, device logs, route maps, and source-derived app structure. Expo states that data sent to Expo MCP Server is not used to train AI models and that the server does not run an AI model itself, but connected MCP clients and model providers may have separate retention and training policies. Local capabilities can proxy data from the development machine through Expo MCP Server before returning it to the connected MCP client, including screenshots and simulator-derived state. Build logs, workflow logs, crash data, and app feedback may contain customer data, user identifiers, stack traces, API endpoints, environment names, release metadata, screenshots, or secrets accidentally printed by the app. Expo access tokens, generated credentials, app-store metadata, signing setup, and project secrets should stay in secret managers or approved MCP client credential stores, not prompts or repository files. Use demo apps, synthetic accounts, simulator data, and non-production EAS projects for screenshots, examples, validation, and AI-assisted troubleshooting.Project paths, scheme names, bundle identifiers, build logs, simulator logs, test output, screenshots, crash data, and device details may be sent to the MCP client and model. The README says XcodeBuildMCP uses Sentry for internal runtime error telemetry and links to opt-out instructions. Review telemetry settings and model-provider retention before using the tool on proprietary or regulated apps.
Prerequisites
  • macOS with Xcode and iOS simulators installed.
  • Node.js and npx available for running the npm package.
  • Facebook IDB installed and available on PATH, or configured through `IOS_SIMULATOR_MCP_IDB_PATH`.
  • A booted simulator, or permission for the agent to open and interact with Simulator.
  • Node.js 18 or newer.
  • iOS Simulator, Android Emulator, or connected real iOS or Android device.
  • Platform tooling required for the target device, such as Xcode tooling for iOS or ADB for Android.
  • MCP client such as Claude Code, Claude Desktop, Codex, Cursor, Cline, Gemini CLI, Goose, Kiro, or Windsurf.
  • Expo account that can authenticate to the projects, builds, workflows, and EAS resources the assistant should access.
  • Expo project on the latest supported Expo SDK, or a plan to upgrade before relying on current MCP capabilities.
  • MCP-capable client with remote Streamable HTTP support, such as Claude Code, Codex, Cursor, VS Code, or another compatible client.
  • OAuth or Expo access-token authentication path approved for the project and organization.
  • macOS 14.5 or later.
  • Xcode 16 or later.
  • Node.js 18 or later for the npm or npx path, unless installing through Homebrew.
  • Xcode project, workspace, simulator, or device target the agent is authorized to build and test.
Install
claude mcp add ios-simulator -- npx -y ios-simulator-mcp
npx -y @mobilenext/mobile-mcp@latest
claude mcp add --transport http expo https://mcp.expo.dev/mcp
npm install -g xcodebuildmcp@latest
Config
{
  "mcpServers": {
    "ios-simulator": {
      "command": "npx",
      "args": ["-y", "ios-simulator-mcp"],
      "env": {
        "IOS_SIMULATOR_MCP_FILTERED_TOOLS": "screenshot,record_video,stop_recording",
        "IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR": "SIMULATOR_OUTPUT_DIR",
        "IOS_SIMULATOR_MCP_IDB_PATH": "IDB_EXECUTABLE_PATH"
      }
    }
  }
}
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": ["-y", "@mobilenext/mobile-mcp@latest"]
    }
  }
}
{
  "mcpServers": {
    "expo": {
      "url": "https://mcp.expo.dev/mcp",
      "type": "http"
    }
  }
}
{
  "mcpServers": {
    "XcodeBuildMCP": {
      "command": "npx",
      "args": ["-y", "xcodebuildmcp@latest", "mcp"]
    }
  }
}
Citations
ClaimUnclaimedUnclaimedUnclaimedUnclaimed
More comparisons, weekly

A short, calm digest of reviewed Claude resources. Unsubscribe any time.