oh-my-android
Android emulator & ADB GUI for Mac: dark mode, font size, RTL, TalkBack, network, GPS, Layout Inspector in dp. Built-in MCP server lets Claude Code, Codex and Cursor drive the emulator.
Install / Use
claude mcp add ateymoori -- npx -y github:ateymoori/oh-my-androidIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of oh-my-android
oh-my-android scores 79/100 on our quality scale, 3630th of 4,624 Development & Engineering skills we index.
Its MCP Server is 22 KB long, well organised into 15 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.
It has 47 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so oh-my-android is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
oh-my-android compared with similar skills
All 4 of these similar skills score higher than oh-my-android; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| oh-my-android (this skill)by ateymoori | 79 | 47 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 91.8k | 20d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.5k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.2k | today | CLAUDE.md |
| ai-job-searchby MadsLorentzen | 100 | 45.0k | today | CLAUDE.md |
Frequently asked questions
- How do I install oh-my-android?
- Run
claude mcp add ateymoori -- npx -y github:ateymoori/oh-my-android. The install tabs above show the steps for each supported agent. - Which AI agents does oh-my-android work with?
- It is written for Claude Code, Claude Desktop, Cursor and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is oh-my-android safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is oh-my-android still maintained?
- The repository was last updated today, so oh-my-android is actively maintained.
Skill content
View source on GitHubWhy Oh My Android?
Testing an Android app means doing the same chores over and over: switch to dark mode, make the
font huge, change the language to Arabic to check RTL, turn on TalkBack, throttle the network to 3G,
clear the app data, take a screenshot. Each one is buried in the emulator's settings or needs an
adb shell command you have to look up again.
Oh My Android puts all of them in a floating panel next to the emulator. Every icon shows the
real state of the device, and one click changes it. It is a native macOS app for Android developers and
QA testers: an Android Emulator GUI, an adb GUI for real phones, a Layout Inspector in dp, an
accessibility checker, and an Android MCP server for Claude Code, Codex, Cursor and other AI coding agents.
- ⚡ One click for nearly 50 everyday test actions
- 📱 Emulators and real phones: USB or Wi‑Fi
adb - 🔍 Layout Inspector: measure any view in dp, Figma-style, and overlay your design
- ♿ Accessibility audit: TalkBack order, missing labels, small touch targets
- 🗄️ Data Inspector: SharedPreferences and SQLite of your debug build
- 🤖 MCP server for AI agents: your coding agent can see the screen, tap, switch settings and read logs
- 🪶 Native and light: SwiftUI, Liquid Glass, event-driven (easy on the battery), no Electron, no telemetry
- 🆓 Free and open source (MIT)
How it compares with Android Studio, scrcpy and other tools: docs/COMPARISON.md.
Install
brew install --cask ateymoori/tap/oh-my-android
Or download the zip from the latest release, unzip it, and move Oh My Android.app to Applications. The app is signed and notarized by Apple.
Updates: when a new version is out, a dot shows on the menu bar icon. Click Update to … in the
menu, read what's new, and install in one click. The app never updates without asking. It checks once a
day; turn it off in Settings → Updates. brew upgrade --cask oh-my-android works too.
Requirements: macOS 26 Tahoe or later, Apple silicon, and the Android SDK from
Android Studio (or brew install --cask android-commandlinetools).
The app finds the SDK by itself. If yours is in an unusual folder, pick it in Settings → Android SDK.
Use it from Claude Code, Codex or Cursor
brew install --cask ateymoori/tap/oh-my-android
claude mcp add --scope user oh-my-android -- ohmyandroid-mcp # Claude Code
codex mcp add oh-my-android -- ohmyandroid-mcp # Codex CLI
gemini mcp add --scope user oh-my-android ohmyandroid-mcp # Gemini CLI
For Cursor and VS Code, use the install buttons in AI agents (MCP). Then start an emulator and ask your agent: "Take a screenshot of the emulator and check this screen in dark mode."
Features
| | What you get | |---|---| | 🎨 Appearance | Dark mode · Font size (0.85× → 2×) · Display size · Language and locale, incl. RTL and pseudo-locales · Rotate | | 📦 Your app (whatever is on screen) | Restart · Clear data · Open deep link · Install APK (or drag it onto the panel) · App info · Reset permissions · Force stop · Uninstall | | 📸 Capture | Screenshot saved and copied to the clipboard · Screen recording with audio · Quality presets | | 🌐 Network | Emulate LTE, HSDPA, 3G, EDGE, GPRS or GSM speed and latency · Airplane mode · Wi‑Fi · Mobile data | | 📐 Layout & performance | Layout Inspector · Show layout bounds · GPU overdraw · GPU profile bars · Show taps · Pointer location · Animations off (for Espresso / Maestro) · Developer options | | ♿ Accessibility | TalkBack on/off · Bold text · Invert colors · TalkBack order audit | | 🧭 Navigation & input | Back · Home · Recents · Type text into the focused field · Hide keyboard | | 🛰️ Simulate (emulator) | GPS location: city presets or latitude/longitude · Battery level · Charging · Fingerprint · Incoming call · Incoming SMS | | 💾 Snapshots (emulator) | Save a clean state and restore it in seconds |
Destructive actions (Clear data, Uninstall, Reset permissions) ask before they run.
No more adb commands
Every icon replaces a command you would otherwise type or search for:
| Task | The adb way | Oh My Android |
|---|---|---|
| Dark mode on the emulator | adb shell cmd uimode night yes | 🌙 one click |
| Bigger font size | adb shell settings put system font_scale 1.3 | Aa − / + |
| Change the device language | adb shell cmd locale set-device-locale sv-SE | 🌐 pick from a menu |
| Test RTL layout | adb shell cmd locale set-device-locale ar-EG | 🌐 "العربية (RTL)" |
| Slow network (3G / EDGE) | adb emu network speed edge + adb emu network delay edge | pick a profile |
| Mock GPS location | adb emu geo fix 18.0686 59.3293 | pick a city |
| Turn off animations for UI tests | 3 × adb shell settings put global …_scale 0 | one click |
| Show layout bounds | adb shell setprop debug.layout true + a system refresh call | one click |
| Clear app data | find the package, then adb shell pm clear <package> | 🗑 one click |
| Take a screenshot | adb exec-out screencap -p > shot.png | 📷 saved and copied |
| Turn on TalkBack | adb shell settings put secure enabled_accessibility_services … | one click |
| Open a deep link | adb shell am start -a android.intent.action.VIEW -d "myapp://…" | paste and open |
Layout Inspector
Freeze the screen and measure it like in Figma. Works with Jetpack Compose and classic Views.
<p align="center"> <img src="docs/layout-inspector.gif" width="820" alt="Layout Inspector: hover views to see their size in dp and the distances between them"> </p>- Hover any element to see its size in dp. Click one, hover another, and see the distance between them (gaps between siblings, paddings inside a parent).
- 8 dp grid, color picker (hex, ⇧⌘C to copy), and an estimated text size in sp.
- Design overlay: drop a Figma PNG export on the window, choose 1× / 2× / 3× or Fit width, set the opacity or use Difference blend, and nudge it with the arrow keys. Compare design and build pixel by pixel.
Accessibility audit
Press ⇧⌘A in the Layout Inspector. Every screen-reader stop gets a number in approximate TalkBack order, with what TalkBack announces and a list of problems: unlabeled buttons, images without a content description, and touch targets smaller than 48 × 48 dp.
Data Inspector
Browse the SharedPreferences (key, type, value) and SQLite databases (tables, first 500 rows)
of any debuggable app, with search. It uses adb shell run-as, the same access Android Studio uses, so
release builds stay closed. It is read-only: nothing on the device changes.
AI agents (MCP)
Oh My Android includes an MCP server, so your AI coding agent can see and drive the emulator: screenshot, read the UI tree in dp, tap and type, switch to dark mode or RTL, read logcat and the app's database. The agent can build a screen, run it, look at the result, and fix it by itself.
<p align="center"> <img src="docs/ai-agents.jpg" width="500" alt="AI Agents settings: Off, Read only or Full control, and the setup command for each agent"> </p> <p align="center"> <a href="https://cursor.com/en/install-mcp?name=oh-my-android&config=eyJjb21tYW5kIjoiL29wdC9ob21lYnJldy9iaW4vb2hteWFuZHJvaWQtbWNwIn0="><img src="https://cursor.com/deeplink/mcp-install-dark.svg" height="32" alt="Add Oh My Android MCP server to Cursor"></a> <a href="https://insiders.vscode.dev/redirect/mcp/install?name=oh-my-android&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22%2Fopt%2Fhomebrew%2Fbin%2Fohmyandroid-mcp%22%7D"><img src="https://img.shields.io/badge/VS_Code-Install_MCP_server-0098FF?logo=visualstudiocode&logoColor=white" height="32" alt="Install Oh My Android MCP server in VS Code"></a> </p>The buttons use the Homebrew path /opt/homebrew/bin/ohmyandroid-mcp. With the zip install, use the menu bar setup below.
Set up in one step: menu bar icon → AI Agents → Set Up…, choose your agent, click Copy (or Add to Cursor / Add to VS Code). Or by hand:
claude mcp add --scope user oh-my-android -- ohmyandroid-mcp # Claude Code
codex mcp add oh-my-android -- ohmyandroid-mcp # Codex CLI
{ "mcpServers": { "oh-my-android": { "command": "/Applications/Oh
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
91.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.5kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.2kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
ai-job-search
45.0kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
