/ Annuaire / Playground / Android-MCP
● Communauté CursorTouch ⚡ Instantané

Android-MCP

par CursorTouch · CursorTouch/Android-MCP

Drive an Android device or emulator from chat — tap, swipe, type, read notifications — for QA automation or demos.

Android-MCP by CursorTouch wraps ADB to give MCP clients tap, swipe, type, hardware-key, notification, and shell-command access to Android 10+ devices. Great for UI test scaffolding, repeatable demos, or automating boring app flows. Requires ADB and a connected device/emulator.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

android.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "android": {
      "command": "uvx",
      "args": [
        "Android-MCP"
      ],
      "_inferred": true
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "android": {
      "command": "uvx",
      "args": [
        "Android-MCP"
      ],
      "_inferred": true
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "android": {
      "command": "uvx",
      "args": [
        "Android-MCP"
      ],
      "_inferred": true
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "android": {
      "command": "uvx",
      "args": [
        "Android-MCP"
      ],
      "_inferred": true
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "android",
      "command": "uvx",
      "args": [
        "Android-MCP"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "android": {
      "command": {
        "path": "uvx",
        "args": [
          "Android-MCP"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add android -- uvx Android-MCP

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : Android-MCP

Automate a smoke test of your Android app

👤 Mobile QA engineers, dev teams without a test framework ⏱ ~30 min intermediate

Quand l'utiliser : You want 'app opens, login, main screen loads' as an auto-run before every release.

Prérequis
  • ADB installed and device connected — Android Studio ships ADB; adb devices should show your device
  • Device has USB debugging or wireless debugging on — Settings > Developer Options > USB Debugging
Déroulement
  1. Capture current state
    Get the UI state — what screen am I on and what elements are visible?✓ Copié
    → UI tree with labeled elements
  2. Execute the flow
    Tap the 'Sign In' button, type '[email protected]' in the email field, 'P@ss' in password, submit.✓ Copié
    → App transitions to home
  3. Assert success
    Verify the home screen's 'Welcome' banner is visible. If not, fail.✓ Copié
    → Pass/fail verdict

Résultat : A scriptable smoke test you can run on every build.

Pièges
  • Coordinates change between device sizes — Prefer State-Tool queries that find elements by label/id, then click the returned coordinates
  • Flow breaks on A/B tests — Pin build config or disable experiments for QA builds
Combiner avec : github

Run a repeatable product demo on a live device

👤 Sales engineers, product folks doing investor demos ⏱ ~20 min intermediate

Quand l'utiliser : You want the app driven hands-free while you talk.

Déroulement
  1. Script the demo
    Script these 5 steps with 3s pauses: open app, tap Explore, scroll to Category B, tap item X, take a screenshot.✓ Copié
    → Step plan
  2. Dry run
    Execute. Pause between steps so I can narrate.✓ Copié
    → Device follows

Résultat : A glitch-free demo you can re-run identically.

Triage notifications on a dev device

👤 Developers testing notification flows ⏱ ~10 min beginner

Quand l'utiliser : Verifying push notifications arrive and look right.

Déroulement
  1. Read recent notifications
    List active notifications. Flag any from com.myapp.prod.✓ Copié
    → Filtered list
  2. Inspect one
    Pull the full content of the latest myapp notification; does it match our expected format?✓ Copié
    → Diff against expected

Résultat : Fast confirmation that your push pipeline works.

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

android + github

Run smoke tests on PRs and post results

When PR #88 has a new APK artifact, install to the connected device, run the smoke test flow, comment results on the PR.✓ Copié
android + filesystem

Save screenshots and logs as QA artifacts

Take a screenshot after each step of the demo flow and save to ./qa/2026-04-14/step-N.png.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
State-Tool (none) Always first — know what's on screen free
Click-Tool x: int, y: int Tap at a point returned by State free
Long-Click-Tool x, y, duration_ms? Context menus free
Type-Tool text: str, clear_first?: bool Enter text in the focused field free
Swipe-Tool x1,y1,x2,y2, duration_ms? Scroll or gesture free
Drag-Tool start_x,y,end_x,y Drag-and-drop flows free
Press-Tool key: Back|Home|VolumeUp|... Hardware keys / system nav free
Wait-Tool ms: int Wait for animation/transition free
Notification-Tool (none) or package: str Inspect notifications free
Shell-Tool cmd: str Escape hatch for logs, am/pm commands, etc. free (but powerful — dangerous)

Coût et limites

Coût d'exécution

Quota d'API
None — all local via ADB
Tokens par appel
State tool returns UI trees that can be 2-10k tokens on dense screens
Monétaire
Free
Astuce
Ask State to filter by a query ('find buttons with Sign In') rather than dump the whole tree.

Sécurité

Permissions, secrets, portée

Stockage des identifiants : None; ADB trust is on the device
Sortie de données : All local; ADB over USB or local Wi-Fi only
Ne jamais accorder : Shell-Tool on devices with production data — it can read private files

Dépannage

Erreurs courantes et correctifs

adb: device unauthorized

Accept the fingerprint prompt on the device screen, then retry.

Vérifier : adb devices
No devices found

Check USB debugging is on and USB cable supports data. For WiFi, verify ip:port with adb connect.

Vérifier : adb devices
Coordinates off on different screen

Use State-Tool to get current coords for the labeled element rather than hardcoded x,y.

Vérifier : Call State before click
Type-Tool inserts garbage characters

Device uses a non-US keyboard; switch to US or use adb shell input text via Shell-Tool.

Vérifier : adb shell settings get secure default_input_method

Alternatives

Android-MCP vs autres

AlternativeQuand l'utiliserCompromis
AppiumYou want a full QA framework with assertions and reportsHeavy setup; no MCP layer
MaestroYAML-based UI testsNo MCP integration

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills