{"name":"io.github.martingeidobler/android","slug":"martingeidobler-android","title":null,"description":"Control Android devices and emulators via ADB — screenshots, UI automation, and logcat.","url":"https://mcp.market/server/martingeidobler-android","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":32,"stars":70,"forks":10,"downloads_week":182,"last_push_at":"2026-03-18T21:52:29.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/martingeidobler/android-mcp-server","website":null,"version":"1.2.1","remotes":[],"packages":[{"registryType":"npm","identifier":"android-mcp-server","version":"1.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to Android SDK (auto-detected on macOS at ~/Library/Android/sdk)","format":"string","name":"ANDROID_HOME"}]}],"tools":[{"name":"adb_shell","description":"Run an arbitrary ADB shell command","write_action":true,"price_micros":0,"input_schema":null},{"name":"clear_logs","description":"Clear the logcat buffer. Call this before reproducing a bug to get clean logs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_current_activity","description":"Get the currently displayed app and activity","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_device_info","description":"Get device details: model, manufacturer, Android version, API level, screen size, and DPI.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_logs","description":"Get device logcat output. Use to find crashes, exceptions, and errors after reproducing a bug.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_ui_tree","description":"Get the UI element hierarchy of the current screen. Returns interactive elements with their bounds, text, resource IDs, and state. Use this to find elements before tapping.","write_action":false,"price_micros":0,"input_schema":null},{"name":"install_apk","description":"Install an APK file on the device","write_action":false,"price_micros":0,"input_schema":null},{"name":"launch_app","description":"Launch an Android app by package name","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_avds","description":"List available Android Virtual Devices","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_devices","description":"List connected Android devices and emulators","write_action":false,"price_micros":0,"input_schema":null},{"name":"press_key","description":"Press a hardware/software key","write_action":false,"price_micros":0,"input_schema":null},{"name":"pull_file","description":"Pull a file from the Android device to the local filesystem.","write_action":false,"price_micros":0,"input_schema":null},{"name":"screenshot","description":"Take a screenshot of the Android device. Returns the image for visual analysis. Optionally saves to a file path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"scroll_to_element","description":"Scroll down repeatedly until an element matching the given criteria is visible","write_action":false,"price_micros":0,"input_schema":null},{"name":"start_emulator","description":"Start an Android emulator. Waits up to 60s for it to come online.","write_action":false,"price_micros":0,"input_schema":null},{"name":"swipe","description":"Perform a swipe gesture on the screen","write_action":false,"price_micros":0,"input_schema":null},{"name":"tap","description":"Tap at specific screen coordinates","write_action":false,"price_micros":0,"input_schema":null},{"name":"tap_and_wait","description":"Tap element then wait for UI to settle and return the new UI tree. Combines tap + wait + get_ui_tree into a single fast operation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tap_element","description":"Tap a UI element by its resource-id, text, or content-desc. Finds the element in the UI tree and taps its center.","write_action":false,"price_micros":0,"input_schema":null},{"name":"type_text","description":"Type text into the currently focused input field","write_action":false,"price_micros":0,"input_schema":null},{"name":"wait_for_element","description":"Wait for a UI element to appear on screen. Polls every 500ms.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-27T23:36:46.312Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-27T23:36:46.246Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":4,"max":15,"notes":["last push 193 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"android-mcp-server","version":"1.2.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-03-17T19:11:02.888Z","repositoryUrl":"git+https://github.com/martingeidobler/android-mcp-server.git","weeklyDownloads":182}],"repo":{"found":true,"owner":"martingeidobler","repo":"android-mcp-server","archived":false,"pushedAt":"2026-03-18T21:52:29Z","stars":70,"forks":10,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/77100219?v=4","ownerCreatedAt":"2021-01-07T09:43:46Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/77100219?v=4&s=128","source":"github"},"presence":{"stars":70,"forks":10,"downloadsWeek":182,"license":"MIT","lastPushAt":"2026-03-18T21:52:29.000Z","score":32}}}},"grade_history":[],"reviews":[]}