Skip to content
VS Code

mcp android for VS Code

io.github.dockndevai/mcp-android

Control Android devices over ADB from AI agents — safe-by-default, read-only by default, audited.

client:VS Code transport:stdio runtime:npm

Install mcp android in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "android-mode",
      "description": "ANDROID_MODE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-adb-path",
      "description": "ANDROID_ADB_PATH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-serial",
      "description": "ANDROID_SERIAL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-timeout-ms",
      "description": "ANDROID_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-package-allowlist",
      "description": "ANDROID_PACKAGE_ALLOWLIST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-protected-packages",
      "description": "ANDROID_PROTECTED_PACKAGES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-allow-install",
      "description": "ANDROID_ALLOW_INSTALL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-allow-shell",
      "description": "ANDROID_ALLOW_SHELL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-dry-run",
      "description": "ANDROID_DRY_RUN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "android-audit-log",
      "description": "ANDROID_AUDIT_LOG",
      "password": true
    }
  ],
  "servers": {
    "mcp-android": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dockndevai/mcp-android"
      ],
      "env": {
        "ANDROID_MODE": "${input:android-mode}",
        "ANDROID_ADB_PATH": "${input:android-adb-path}",
        "ANDROID_SERIAL": "${input:android-serial}",
        "ANDROID_TIMEOUT_MS": "${input:android-timeout-ms}",
        "ANDROID_PACKAGE_ALLOWLIST": "${input:android-package-allowlist}",
        "ANDROID_PROTECTED_PACKAGES": "${input:android-protected-packages}",
        "ANDROID_ALLOW_INSTALL": "${input:android-allow-install}",
        "ANDROID_ALLOW_SHELL": "${input:android-allow-shell}",
        "ANDROID_DRY_RUN": "${input:android-dry-run}",
        "ANDROID_AUDIT_LOG": "${input:android-audit-log}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

mcp android in other clients