1. Conduid
  2. Developer Tools
  3. Android MCP
MCP server · Developer Tools

Android MCP

MCP server: Android MCP

Unclaimed last commit 10 months ago devtools
41Fair

Scored 5 months ago · breakdown

About Android MCP

Android MCP is an MCP server published by hamen in the Developer Tools category: mCP server: Android MCP.

The repository has 8 stars and 1 forks, with the last commit 10 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/hamen/android-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Android MCP

Powered by Claude · Grounded in docs

I know everything about Android MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

Android MCP 🤖✨

npm node adb ci

Friendly MCP stdio server that chats with Android devices over ADB using @devicefarmer/adbkit, speaking newline-delimited JSON-RPC via @modelcontextprotocol/sdk (no Content-Length headers needed). Plug it into Cursor/Claude MCP and start poking at devices.

✨ What is this?

  • MCP transport that forwards handy ADB actions (tap, text, screenshot, UI dump, etc).
  • Uses newline-delimited JSON on stdin/stdout; one request per line, one response per line.
  • Prototype-friendly: swap out the minimal JSON-RPC loop for a full MCP SDK later if you want.

📦 Requirements

  • Node.js 18+ and npm.
  • ADB on PATH (e.g., Android SDK platform-tools). Keep adb start-server running.
  • At least one device or emulator attached (adb devices).
  • Optional: Android SDK/Gradle only if you plan to build the demo app; not needed for the MCP server itself.

🚀 Setup (local)

git clone <repo-url> android-mcp
cd android-mcp
npm ci           # or npm install
npm test         # stdio + tsconfig smoke tests
npm run dev      # start MCP server with tsx
# or explicitly:
npx --yes tsx src/server.ts

To build output: npm run build (emits dist/). Keep adb devices happy before invoking tools.

🧰 MCP config (Cursor/Claude)

Example ~/.cursor/mcp.json entry:

{
  "mcpServers": {
    "android-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["--yes", "tsx", "/home/ivan/code/android-mcp/src/server.ts"],
      "cwd": "/home/ivan/code/android-mcp"
    }
  }
}

🎮 Tools exposed

  • selectDevice { serial } → set default device for subsequent calls.
  • keyEvent { keyCode, serial? } → send input keyevent.
  • tap { x, y, serial? }
  • text { text, serial? } → uses input text (spaces become %s).
  • startActivity { component, serial? } → e.g. "org.example/.MainActivity".
  • screenshot { serial? } → { mimeType: "image/png", base64 }.
  • uiDump { serial? } → parsed uiautomator dump tree (text, contentDesc, resourceId, bounds).
  • findAndTap { text?, contentDesc?, serial? } → finds the first matching node and taps its center.
  • listDevicesDetailed → lists attached devices with model/manufacturer/sdk info.

📸 Notes & limits

  • Screenshot and UI dump are periodic snapshots (no streaming yet).
  • UI dump depends on uiautomator being present on the device.
  • Prototype transport; you can wire in a richer MCP SDK without changing the ADB helpers.

🧪 Tests

npm test

📱 Optional: Build/install the demo app

Only needed if you want to exercise the sample Android UI:

# from the parent monorepo that contains the Android app
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
adb shell am start -n org.dronix.android.kindlegratis/.MainActivity

🛠️ CI hints

  • Node workflow: checkout → setup-node 18+ → npm ci → npm test.
  • If building the Android app in CI, add Java 17 + Android SDK setup and run ./gradlew assembleDebug.

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About Android MCP

How do I install Android MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Android MCP safe to use with an AI agent?

Its trust score is 41 out of 100 (fair). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Android MCP still maintained?

The last commit was 10 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.