{"data":{"slug":"cursortouch-android-mcp","name":"Android-MCP","tagline":"MCP Server for interacting with Android Devices","github_url":"https://github.com/CursorTouch/Android-MCP","owner":"CursorTouch","repo":"Android-MCP","owner_avatar_url":"https://avatars.githubusercontent.com/u/201312842?v=4","primary_language":"Python","stars":857,"forks":112,"topics":["ai","android","automation","mcp-server"],"archived":false,"github_pushed_at":"2026-07-01T06:38:43+00:00","maintenance_label":"Steady","stars_delta_30d":52,"url":"https://www.graphcanon.com/tools/cursortouch-android-mcp","markdown_url":"https://www.graphcanon.com/tools/cursortouch-android-mcp.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/cursortouch-android-mcp","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=cursortouch-android-mcp","description":"MCP Server for interacting with Android Devices.","homepage_url":null,"license":"MIT","open_issues":10,"watchers":5,"ai_summary":"A server implementation in Python to facilitate interactions with Android devices.","readme_excerpt":"### 🏁 Getting Started\n\nYou can run the Android MCP server using **UVX** (recommended) or **UV** (for local development).\n\n#### Option 1: UVX (Recommended)\n\nNo need to install dependencies manually. Just configure Claude Desktop:\n\n> **Windows note:** Use Python 3.13 for `uvx` on Windows. Python 3.14 currently fails to resolve a transitive `pywin32` dependency used by the MCP stack.\n\n1. **Locate your config file**\n   - Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n   - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n2. **Add the configuration**\n   ```json\n   {\n     \"mcpServers\": {\n       \"android-mcp\": {\n         \"command\": \"uvx\",\n         \"args\": [\n           \"--python\",\n           \"3.13\",\n           \"android-mcp\"\n         ]\n       }\n     }\n   }\n   ```\n   > **Note:** The server starts first and connects lazily when a tool runs. If no device is specified, it auto-detects connected devices and **prefers physical devices over emulators**. Use `--device <serial>` or the `ANDROID_MCP_DEVICE` environment variable to target a specific device.\n\n   Configure a specific WiFi device with environment variables:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"android-mcp\": {\n         \"command\": \"uvx\",\n         \"args\": [\n           \"--python\",\n           \"3.13\",\n           \"android-mcp\"\n         ],\n         \"env\": {\n           \"ANDROID_MCP_CONNECTION\": \"wifi\",\n           \"ANDROID_MCP_HOST\": \"192.168.1.3\"\n         }\n       }\n     }\n   }\n   ```\n\n   Or pass explicit flags:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"android-mcp\": {\n         \"command\": \"uvx\",\n         \"args\": [\n           \"--python\",\n           \"3.13\",\n           \"android-mcp\",\n           \"--wifi\",\n           \"192.168.1.3\"\n         ]\n       }\n     }\n   }\n   ```\n\n#### Option 2: UV Mode (Local Development)\n\n1. **Clone and Install**\n   ```shell\n   git clone https://github.com/CursorTouch/Android-MCP.git\n   cd Android-MCP\n   uv sync\n   ```\n\n2. **Configure Claude Desktop**\n   ```json\n   {\n     \"mcpServers\": {\n       \"android-mcp\": {\n         \"command\": \"uv\",\n         \"args\": [\n           \"--directory\",\n           \"</PATH/TO/Android-MCP>\",\n           \"run\",\n           \"android-mcp\"\n         ]\n       }\n     }\n   }\n   ```\n   > **Note:** Replace `</PATH/TO/Android-MCP>` with the full path to your cloned directory. You can also add `\"--device\", \"<YOUR_DEVICE_serial>\"`, `\"--wifi\", \"192.168.1.3\"`, or `\"--usb\"` to control device selection.\n   > `uv sync` follows the repo's `.python-version`, so local development uses Python 3.13 by default.\n\n#### Option 3: OpenCode\n\nYou can also use Android-MCP with [OpenCode](https://opencode.ai). After cloning and installing the repo (see Option 2), add the server as a local MCP in your OpenCode config (`opencode.json`):\n\n```json\n{\n  \"mcp\": {\n    \"android-mcp\": {\n      \"type\": \"local\",\n      \"command\": [\"uv\", \"--directory\", \"</PATH/TO/Android-MCP>\", \"run\", \"android-mcp\"]\n    }\n  }\n}\n```\n\n> **Note:** Replace `</PATH/TO/Android-MCP>` with the full path to your cloned directory. As with UV mode, you can append `\"--device\"`, `\"--wifi\"`, `\"--usb\"`, etc. to the `command` array to control device selection.\n\n---\n\n## 🪪 License\n\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.","github_created_at":"2025-06-11T08:06:30+00:00","created_at":"2026-07-15T10:56:42.230931+00:00","updated_at":"2026-09-20T04:55:32.213017+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"android","name":"android"},{"slug":"automation","name":"automation"},{"slug":"mcp-server","name":"mcp-server"}],"trust":{"provenance":{"is_fork":false,"github_id":1000066977,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T04:55:29.596Z","maintenance":{"label":"Steady","score":60,"methodology":"github_public_v1","releases_90d":0,"days_since_push":80,"last_release_at":"2026-05-14T16:20:50Z","stars_delta_30d":52,"open_issues_delta_30d":2},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-19T04:00:23.072Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T04:55:30.656Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-09-20T04:55:30.656Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-09-20T04:55:30.656Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T04:55:30.656Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When developing applications requiring close integration with the Android device's hardware and needing an automated testing framework","For projects where a Python-centric approach is preferred, ensuring seamless execution without external dependencies beyond Python"],"when_not_to_use":["If your project requires extensive use of native Java or Kotlin for deep system interactions that cannot leverage Python effectively","In scenarios demanding very lightweight server solutions, as Android-MCP might introduce additional overhead due to its full-feature set"],"source":"enrich:decision_facts","observed_at":"2026-07-17T11:49:13.243Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Android-MCP is a Python-based server for interacting with Android devices designed to ease development tasks that require automation and interaction through a dedicated MCP server."}]}}