mcp-android MCP
A Model Context Protocol server that allows AI agents to control an Android phone over ADB. It enables agents to view the screen via screenshots and UI hierarchy, interact via taps and typing, launch apps, set alarms, and read notifications. It operates safely by default with read-only modes and gated destructive operations.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Take screenshots and dump UI hierarchy to understand the current screen state
- Tap coordinates, swipe, and input text to interact with apps
- Launch applications and open URLs on the connected device
- Set alarms, timers, and read incoming notifications
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
@dockndevai/mcp-android 0.1.0
{
"version": "0.1.0",
"transport": "stdio",
"identifier": "@dockndevai/mcp-android",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"environmentVariables": [
{
"name": "ANDROID_MODE",
"description": "Access mode: read-only | read-write | admin."
},
{
"name": "ANDROID_ADB_PATH",
"description": "Path to the adb binary (default: adb on PATH)."
},
{
"name": "ANDROID_SERIAL",
"description": "Target device serial from `adb devices`. Empty = the only connected device."
},
{
"name": "ANDROID_TIMEOUT_MS",
"description": "Per-command adb timeout in milliseconds."
},
{
"name": "ANDROID_PACKAGE_ALLOWLIST",
"description": "Comma-separated package allowlist for launch/uninstall/clear. Empty = all."
},
{
"name": "ANDROID_PROTECTED_PACKAGES",
"description": "Packages that can be launched/inspected but never uninstalled or data-cleared."
},
{
"name": "ANDROID_ALLOW_INSTALL",
"description": "Enable install_apk / uninstall_app / clear_app_data (requires admin mode too)."
},
{
"name": "ANDROID_ALLOW_SHELL",
"description": "Enable run_shell (arbitrary adb shell; requires admin mode too)."
},
{
"name": "ANDROID_DRY_RUN",
"description": "Validate + log write/admin actions without executing them on the device."
},
{
"name": "ANDROID_AUDIT_LOG",
"description": "Emit a JSON audit line to stderr per guarded operation (default true)."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"mcp-android-mcp": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-android@0.1.0"
],
"env": {
"ANDROID_MODE": "<YOUR_ANDROID_MODE>",
"ANDROID_ADB_PATH": "<YOUR_ANDROID_ADB_PATH>",
"ANDROID_SERIAL": "<YOUR_ANDROID_SERIAL>",
"ANDROID_TIMEOUT_MS": "<YOUR_ANDROID_TIMEOUT_MS>",
"ANDROID_PACKAGE_ALLOWLIST": "<YOUR_ANDROID_PACKAGE_ALLOWLIST>",
"ANDROID_PROTECTED_PACKAGES": "<YOUR_ANDROID_PROTECTED_PACKAGES>",
"ANDROID_ALLOW_INSTALL": "<YOUR_ANDROID_ALLOW_INSTALL>",
"ANDROID_ALLOW_SHELL": "<YOUR_ANDROID_ALLOW_SHELL>",
"ANDROID_DRY_RUN": "<YOUR_ANDROID_DRY_RUN>",
"ANDROID_AUDIT_LOG": "<YOUR_ANDROID_AUDIT_LOG>"
}
}
}
}Cline
{
"mcpServers": {
"mcp-android-mcp": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-android@0.1.0"
],
"env": {
"ANDROID_MODE": "<YOUR_ANDROID_MODE>",
"ANDROID_ADB_PATH": "<YOUR_ANDROID_ADB_PATH>",
"ANDROID_SERIAL": "<YOUR_ANDROID_SERIAL>",
"ANDROID_TIMEOUT_MS": "<YOUR_ANDROID_TIMEOUT_MS>",
"ANDROID_PACKAGE_ALLOWLIST": "<YOUR_ANDROID_PACKAGE_ALLOWLIST>",
"ANDROID_PROTECTED_PACKAGES": "<YOUR_ANDROID_PROTECTED_PACKAGES>",
"ANDROID_ALLOW_INSTALL": "<YOUR_ANDROID_ALLOW_INSTALL>",
"ANDROID_ALLOW_SHELL": "<YOUR_ANDROID_ALLOW_SHELL>",
"ANDROID_DRY_RUN": "<YOUR_ANDROID_DRY_RUN>",
"ANDROID_AUDIT_LOG": "<YOUR_ANDROID_AUDIT_LOG>"
}
}
}
}VS Code
{
"servers": {
"mcp-android-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-android@0.1.0"
],
"env": {
"ANDROID_MODE": "<YOUR_ANDROID_MODE>",
"ANDROID_ADB_PATH": "<YOUR_ANDROID_ADB_PATH>",
"ANDROID_SERIAL": "<YOUR_ANDROID_SERIAL>",
"ANDROID_TIMEOUT_MS": "<YOUR_ANDROID_TIMEOUT_MS>",
"ANDROID_PACKAGE_ALLOWLIST": "<YOUR_ANDROID_PACKAGE_ALLOWLIST>",
"ANDROID_PROTECTED_PACKAGES": "<YOUR_ANDROID_PROTECTED_PACKAGES>",
"ANDROID_ALLOW_INSTALL": "<YOUR_ANDROID_ALLOW_INSTALL>",
"ANDROID_ALLOW_SHELL": "<YOUR_ANDROID_ALLOW_SHELL>",
"ANDROID_DRY_RUN": "<YOUR_ANDROID_DRY_RUN>",
"ANDROID_AUDIT_LOG": "<YOUR_ANDROID_AUDIT_LOG>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"mcp-android-mcp": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-android@0.1.0"
],
"env": {
"ANDROID_MODE": "<YOUR_ANDROID_MODE>",
"ANDROID_ADB_PATH": "<YOUR_ANDROID_ADB_PATH>",
"ANDROID_SERIAL": "<YOUR_ANDROID_SERIAL>",
"ANDROID_TIMEOUT_MS": "<YOUR_ANDROID_TIMEOUT_MS>",
"ANDROID_PACKAGE_ALLOWLIST": "<YOUR_ANDROID_PACKAGE_ALLOWLIST>",
"ANDROID_PROTECTED_PACKAGES": "<YOUR_ANDROID_PROTECTED_PACKAGES>",
"ANDROID_ALLOW_INSTALL": "<YOUR_ANDROID_ALLOW_INSTALL>",
"ANDROID_ALLOW_SHELL": "<YOUR_ANDROID_ALLOW_SHELL>",
"ANDROID_DRY_RUN": "<YOUR_ANDROID_DRY_RUN>",
"ANDROID_AUDIT_LOG": "<YOUR_ANDROID_AUDIT_LOG>"
}
}
}
}Let your agent find its tools
Find servers like mcp-android MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.