Simutil MCP Server

by dungngminh• 1.2k•• Scanned•Claim this listing•Request removal
Developer Toolsadbai agentsandroidandroid emulatorcli

Utilities for Android emulators, iOS simulators and real devices: launch, stream, control, record and automate them from a desktop app, TUI and CLI

Simutil is an open-source mcp server by dungngminh, written mainly in Dart, with 1,203 GitHub stars and the MIT license. Its code was last updated Oct 26, 2026.

<p align="center"> <img src="art/simutil.png" alt="SimUtil" width="200" /> </p> <h1 align="center">SimUtil</h1> <p align="center"> <strong>Everyday utilities for Android emulators, iOS simulators and real devices</strong><br> Launch, stream, control, record, test and clean up, from one desktop app or the command line. </p> <p align="center"> <a href="https://www.producthunt.com/products/simutil?embed=true&amp;utm_source=badge-featured&amp;utm_medium=badge&amp;utm_campaign=badge-simutil" target="_blank" rel="noopener noreferrer"><img alt="SimUtil on Product Hunt" width="250" height="54" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1111003&amp;theme=light&amp;t=1774974338508"></a> </p> <p align="center"> <img src="https://img.shields.io/github/stars/dungngminh/simutil" alt="GitHub Repo stars" /> <a href="https://github.com/dungngminh/simutil/actions/workflows/ci.yaml"><img src="https://github.com/dungngminh/simutil/actions/workflows/ci.yaml/badge.svg" alt="Build" /></a> <a href="https://github.com/dungngminh/simutil/releases?q=app-v"><img src="https://img.shields.io/github/v/release/dungngminh/simutil?filter=app-v*&label=Desktop" alt="Desktop release" /></a> <a href="https://github.com/dungngminh/simutil/releases?q=cli-v"><img src="https://img.shields.io/github/v/release/dungngminh/simutil?filter=!app-v*&label=CLI" alt="CLI release" /></a> </p>

Mobile development means juggling Android Studio, Xcode, adb, simctl, scrcpy and a pile of scripts just to get a device up and look at it. SimUtil puts those chores in one place, without opening an IDE:

  • SimUtil Desktop — stream and control many devices side by side (emulators, simulators, real Android phones and real iPhones / iPads), record them, run scenarios across them, and let AI agents drive them over MCP.
  • simutil CLI — list, launch and shut down devices, connect over Wi-Fi, read Logcat and run your own tools from scripts or the terminal.
  • Dart packages — the same device services (adb, simctl, devicectl) as libraries for your own tooling.

Runs on macOS, Linux and Windows. iOS features need macOS (Xcode).

<p align="center"> <img src="https://github.com/user-attachments/assets/2ffebae8-f22d-4b66-8fbe-e2e2e39c202f" alt="SimUtil Desktop" /> </p>

https://github.com/user-attachments/assets/b0463741-6d31-496d-99a8-264a5e69457a

<p align="center"> <img src="art/showcase-simutil.gif" width="100%" alt="simutil interactive device picker" /> </p> <p align="center"> <img src="art/showcase.png" alt="simutil interactive device picker" /> </p>

Utilities

UtilityDesktopCLI
DevicesStart / stop emulators and simulators, headless or with their window✓✓
Android launch options: cold boot, no audio✓✓
Wipe data or delete an emulator / simulator✓
Slim iOS simulators (about 1 GB of memory instead of 4 GB)✓
Stream & controlMany devices side by side, grid or spotlight layout✓
Real Android phones over USB or Wi-Fi✓
Touch, swipe, navigation buttons and keyboard typing on every stream✓
Real iPhones / iPads connected by USB: device frame, screenshots, recording with sound (view only, macOS)✓
Built-in scrcpy server, no separate install✓
ConnectWireless ADB by QR code, pairing code or IP✓✓
CaptureScreenshot one device or the whole grid✓
Record one device or the whole grid (native 60 fps on macOS)✓
AppsInstall by dropping an .apk / .app / .ipa on a device✓
Convert an iPhone build so it runs on a simulator (Apple Silicon)✓
Test & automateScenario studio: YAML steps (tap by label, swipe, type, assert) on many devices at once✓
MCP server for Claude Code, Codex, Cursor, Gemini CLI, VS Code✓
JSON output and a full command schema for scripts and agents✓
DebugLogcat with filtering✓
Custom tools (scrcpy, Maestro, scripts) as YAML plugins✓
Clean upClear Xcode DerivedData after a size preview (macOS)✓✓

Install

SimUtil Desktop

Installers are on the releases page (app-v* tags). The app updates itself in place from where you installed it.

macOS (Monterey or later; pulls in adb and ffmpeg):

brew update
brew tap dungngminh/simutil
brew install --cask simutil-desktop

Or download SimUtil-macos.dmg and drag SimUtil into Applications.

Windows: run SimUtil-windows-x64-setup.exe from the latest desktop release. The installer offers to install Android platform-tools and FFmpeg.

Linux (x86_64 AppImage; installs adb, ffmpeg and FUSE, re-run to update):

curl -fsSL https://raw.githubusercontent.com/dungngminh/simutil/main/app/packaging/linux/install.sh | bash

More, including the MCP tool list: app/README.md.

simutil CLI

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/dungngminh/simutil/main/install.sh | bash

# Homebrew
brew tap dungngminh/simutil && brew install simutil

# pub.dev
dart pub global activate simutil

Windows (PowerShell):

powershell -ExecutionPolicy Bypass -Command "iwr -useb https://raw.githubusercontent.com/dungngminh/simutil/main/install.ps1 | iex"

simutil upgrade updates it the same way you installed it. simutil checks for a new release at most once a day; set SIMUTIL_NO_UPDATE_CHECK=1 to turn that off.

CLI usage

simutil list -v                    # devices on every platform, grouped
simutil list --json                # for scripts and agents
simutil launch <device-id>         # boot (alias: start)
simutil launch <id> -c --no-audio  # cold boot, no audio (Android)
simutil launch <id> --headless     # no emulator window / Simulator app
simutil shutdown <device-id>       # alias: stop
simutil wipe <device-id>           # erase data of a shut-down device (asks y/N)
simutil delete <device-id> -y      # delete it; -y skips the prompt
simutil android device list -r     # running adb devices only
simutil plugin run scrcpy mirror -d emulator-5554
simutil schema                     # every command as JSON, for agents

Run simutil with no arguments for an interactive device picker with ADB tools, Logcat and plugins. simutil <command> --help lists each command's flags.

Plugins

Wire external tools (scrcpy, Maestro, your own scripts) to a device in ~/.simutil/settings.yaml, no code changes needed:

plugins:
  - id: scrcpy
    label: scrcpy
    availability:
      command: scrcpy
      args: [--version]
    commands:
      - id: mirror
        label: Screen Mirror
        command: scrcpy
        args: [-s, "{device.id}"]
        platforms: [android]
        requires_running: true

Full reference: docs/plugins.md.

Supported platforms

Host OSAndroid emulators & devicesiOS simulators & devices
macOSYesYes (requires Xcode)
LinuxYesNo
WindowsYesNo

iOS support uses Apple's tools (xcrun simctl, xcrun devicectl), which only exist on macOS. On Xcode 27+, a simulator opens in DeviceHub.app; earlier versions use Simulator.app.

Packages

Monorepo (pub workspace); each package is versioned and published separately:

PackageContents
appSimUtil Desktop: multi-device streaming, recording, scenarios, MCP server
simutilThe simutil CLI
simutil_coreModels, CommandExec, DeviceService
simutil_adbAndroid: devices, wireless ADB, scrcpy session, Logcat
simutil_appleApple: simulators, physical devices, Xcode cache
simutil_pluginsYAML plugin catalog and runner
simutil_sharedShared app layer: settings, app state, changelog
simutil_h264Native H.264 decoding into Flutter textures

Contributing

git clone https://github.com/dungngminh/simutil.git
cd simutil
flutter pub get              # whole workspace, desktop app included
dart run melos run check     # analyze + Dart and Flutter tests
cd app && flutter run -d macos

Fork, branch, open a Pull Request. Architecture notes: docs/ai/architecture.md.

License

MIT — see LICENSE

Simutil alternatives

View more →

Similar mcp servers in Developer Tools, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Simutil (this page)
dungngminh
1.2kMITOct 26, 2026Scanned, no flagged issues
MCP Use
mcp-use
11kMITOct 30, 2026Scanned, no flagged issues
MobileBuildMCP
getsentry
6.5kMITNov 1, 2026Scanned, no flagged issues
Gemini Notebook MCP CLI
jacob-bd
6.4kMITOct 27, 2026Scanned, no flagged issues
Mcporter
openclaw
5.1kMITOct 27, 2026Scanned, no flagged issues
Flint Chart
microsoft
4.5kMITNov 1, 2026Scanned, no flagged issues