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