pluginslab

Android Agent Bridge — AI skill for Claude Code

AI community

Android app exposing an on-device AccessibilityService as an MCP server over LAN.

How to install Android Agent Bridge

This entry records only its repository, not the path inside it, so there is no exact command to give. Open pluginslab/android-agent-bridge and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Android Agent Bridge does

Android app exposing an on-device AccessibilityService as an MCP server over LAN. Remote UI inspection, taps, swipes, text input, and intent launches for LLM agents.

Alternatives in AI

  • Peekaboo — Peekaboo is a macOS CLI & optional MCP server that enables AI agents to capture screenshots of applications, o 3.2k ★
  • Wax — Shared Single-file memory layer for all your agents, sub mili-second RAG over text, photo and video on Apple S 791 ★
  • Dinotty — Multi-device terminal server for AI coding agents 643 ★

README

AndroidAgentBridge

![AndroidAgentBridge banner: before AI guessing, after real UI tree](assets/banner.jpg)

Turn an Android device into a remote-controllable automation surface for LLM agents, over LAN.

The app runs a tiny Ktor + MCP server on the device. An accessibility service reads the UI tree and dispatches gestures. Any MCP-capable client (Claude Code, Claude Desktop, a custom agent) on the same network can read the screen and perform taps, swipes, text input, and intent launches through a bearer-authenticated HTTP/SSE endpoint.

Built for end-to-end testing, lightweight device automation, and "claude, do something on my tablet" demos. v1 is debug-signed and side-loaded; no Play Store distribution.

Status

v0.4.2 — stable batch scripting + cookie injection for the embedded browser. Tested on a Xiaomi Pad 8 Pro (HyperOS, Android 15) and a MacBook client. Other devices/Android versions are untested but nothing is hardware-specific.

See the [GitHub Releases page](https://github.com/pluginslab/android-agent-bridge/releases) for the full history. Recent stops:

  • 0.4.2 Cookie injection fix — CookieManager calls must run on a thread with a Looper, so they're now dispatched through BrowserManager's main handler. browser_set_cookie confirmed working end-to-end with LinkedIn (authenticated feed scraping).
  • 0.4.1 browser_set_cookie / browser_clear_cookies — inject HttpOnly session cookies into the WebView's jar.
  • 0.4.0 run_script + probe — batch a multi-step flow in a single MCP call, no per-step model round-trip.
  • 0.3.1–0.3.2 Visible embedded-browser UI (URL bar + back/reload), no-auto-keyboard polish.
  • 0.3.0 Embedded headless WebView with JS eval + console capture.

Tool surface

UI introspection

  • get_active_window_info — foreground package + window title, cheap.
  • get_ui_tree — snapshot all interactive windows (app, status bar, IME, system overlays) under a synthetic AllWindows root. single_window=true re