Expo Android MCP server
io.github.frndchagas/expo-android·v0.5.2·4 starsMCP server for Android emulator automation via ADB.
4 stars94 downloads/wk
Reviews
Write oneNobody has reviewed Expo Android MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Expo Android MCP tools (17, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
assertElementAssert element presence and state.
devicesList connected Android devices and emulators.
doctorCheck adb availability and connected devices.
findElementFind UI elements by criteria.
inputTextType text into the focused input field.
inspectCapture a screenshot and parse UI hierarchy into structured elements.
installExpoGoDownload the pinned Expo Go APK and install it on the device via adb install -r. Pass url to install a different official Expo Go release (only github.com/expo/expo-go-releases URLs are accepted).
keyEventwrite actionSend an Android key event to the device.
listPackagesList installed package names.
longPressPress and hold on screen at coordinates.
openAppLaunch an Android app by package name.
screenshotCapture a screenshot without UI element parsing.
setDeviceOverride the active device serial for this MCP process. Use "auto" to clear override.
swipeSwipe on screen from one coordinate to another.
tapTap on screen at coordinates.
tapElementFind an element and tap its center coordinate.
waitForElementWait until an element appears or timeout is reached.
Public scan report
scanner v0.1.10 · 2026-11-01 · same rubric, same numbers if you re-run it
- Code scan7 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 54 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Expo Android MCP compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,273 servers
- Tools
- 17
- the typical server has 7
- Tools that change things
- 6%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 4
- more than 82% of 28,534 servers
- Downloads a week
- 94
- more than 62% of 11,915 servers with a package
What its tools let an agent do: 13 read · 1 create · 2 change · 1 run or deploy
Install Expo Android MCP in Claude Code, Cursor or VS Code
Runs npx -y @fndchagas/expo-android on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add expo-android -- npx -y @fndchagas/expo-android
What the publisher says
From the Expo Android MCP repository's README, as published. We do not edit it. Read it on GitHub
expo-android
MCP server for Android emulator automation via ADB.
Requirements
- Node 18+
- Android SDK platform-tools (adb) available
- Android emulator or device connected
Verify adb:
adb devicesInstall
Claude Desktop, one-click: download expo-android.mcpb from the latest release and drag it into Settings → Extensions. You can leave both fields empty — adb is auto-detected and the only connected device is used by default.
Via npm:
npm install -g @fndchagas/expo-android
# or
npx -y @fndchagas/expo-androidQuickstart
- Start an emulator or connect a device.
- Run doctor to validate adb + device selection.
- Use inspect, tapElement, inputText, etc.
Example:
await client.callTool({ name: 'expo-android.doctor', arguments: {} });
await client.callTool({
name: 'expo-android.inspect',
arguments: { onlyInteractive: true, maxElements: 200 },
});Use with Claude Code CLI
claude mcp add expo-android \
--env ADB_PATH="$HOME/Library/Android/sdk/platform-tools/adb" \
--env ADB_SERIAL="auto" \
-- npx -y @fndchagas/expo-androidUse with OpenAI Codex CLI
codex mcp add expo-android \
--env ADB_PATH="$HOME/Library/Android/sdk/platform-tools/adb" \
--env ADB_SERIAL="auto" \
-- npx -y @fndchagas/expo-androidOr edit ~/.codex/config.toml:
[mcp_servers.expo-android]
command = "npx"
args = ["-y", "@fndchagas/expo-android"]
env = { ADB_PATH = "/Users/you/Library/Android/sdk/platform-tools/adb", ADB_SERIAL = "emulator-5554" }Serial selection priority: serial param (per tool call) → setDevice override → ADB_SERIAL env → auto (if only one device).
Environment variables
Troubleshooting
adb not found (spawn adb ENOENT)
The server starts even when adb is missing — tools return the ADB executable not found error until adb becomes reachable (run doctor to diagnose). To fix it, set ADB_PATH or export an SDK path:
export ADB_PATH="$HOME/Library/Android/sdk/platform-tools/adb"
# or
export ANDROID_HOME="$HOME/Library/Android/sdk"If multiple devices are connected, set ADB_SERIAL to the target device. You can also run setDevice at runtime:
await client.callTool({
name: 'expo-android.setDevice',
arguments: { serial: 'emulator-5554' },
});If you update PATH or SDK variables, restart the MCP process so it can pick up the new environment.
Tests
npm run build
npm testTools
Tool names are plain identifiers (e.g. tap); your MCP client prefixes them with the server name you registered.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Expo Android MCP: common questions
- Is Expo Android MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Expo Android MCP safety report
- How do I install Expo Android MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Expo Android MCP need an API key?
- No secret keys are declared. It reads 7 settings from the environment.
- Is Expo Android MCP maintained?
- The last commit was 55 days ago (2026-09-08). The latest release is v0.5.2.
- How does Expo Android MCP compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,273 servers); tools 17 (the typical server has 7); tools that change things 6% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.