Skip to main content
Glama
abewartech

webadb-agent

by abewartech

webadb-agent ๐Ÿ“ฑ๐ŸŒ๐Ÿค–

HP Android kamu โ€” di web, bisa dikendalikan AI agent juga.

Satu service ringan yang bikin HP Android fisik (atau emulator di Docker) bisa diakses dari browser dan dari AI agent, kayak emulator tapi devicenya punya kamu sendiri.

[HP fisik] โ”€โ”€USB/WiFiโ”€โ”€โ”
                       โ”œโ”€โ–บ adb server โ”€โ–บ webadb-agent bridge โ”€โ–บ Browser (layar live, klik=tap)
[Emulator Docker] โ”€โ”€โ”€โ”€โ”€โ”˜                          โ”œโ”€โ–บ REST API  (untuk agent remote)
                                                  โ””โ”€โ–บ MCP server (untuk agent lokal)

Gabungan 3 project

Project

Yang diambil

yume-chan/ya-webadb (Tango)

ADB client murni TypeScript (@yume-chan/adb) โ€” tanpa re-implementasi protokol

callstack/agent-device

Pola remote proxy via tunnel + loop agent inspect โ†’ act โ†’ verify + MCP server

google/android-emulator-container-scripts

Emulator Android di Docker sebagai backend alternatif HP fisik

Related MCP server: scrcpy-mcp

Quick start (HP fisik)

# 1. Di PC: install platform-tools, colok HP, aktifkan USB debugging
adb start-server && adb devices

# 2. Jalankan bridge
cd packages/bridge && npm install && npm run build
node dist/index.js bridge --port 8080
# โ†’ catat bearer token yang tercetak

# 3. Buka http://localhost:8080, masukkan token โ†’ layar HP live di web,
#    klik = tap, drag = swipe. Ada juga terminal ADB shell.

Quick start (emulator Docker, tanpa HP)

Butuh Linux + KVM + Docker. Lihat docs/EMULATOR.md.

docker compose -f docker/docker-compose.emulator.yml up -d
adb connect localhost:5555
node packages/bridge/dist/index.js bridge --serial localhost:5555

Untuk AI agent

Remote (tunnel, pola ala agent-device proxy) โ€” lihat docs/REMOTE-ACCESS.md:

cloudflared tunnel --url http://127.0.0.1:8080
curl -H "Authorization: Bearer $TOKEN" $TUNNEL_URL/api/screenshot -o s.png

Lokal (MCP stdio) โ€” tambah ke config MCP client:

{ "mcpServers": { "webadb-agent": {
  "command": "node", "args": ["/path/to/packages/bridge/dist/index.js", "mcp"] } } }

Tools: screenshot, tap, swipe, key, type_text, shell, open_app, device_info. Prompt siap pakai: examples/agent-prompt.md. Referensi REST: docs/AGENT-API.md.

Struktur

packages/bridge/src/  โ†’ adb.ts (lapisan ADB) ยท server.ts (web UI + REST + WS)
                        mcp.ts (MCP stdio) ยท index.ts (CLI)
packages/web/         โ†’ UI web tanpa build step
docs/                 โ†’ ARCHITECTURE.md ยท AGENT-API.md ยท REMOTE-ACCESS.md ยท EMULATOR.md
docker/               โ†’ compose emulator + Dockerfile bridge
examples/             โ†’ agent-prompt.md

Roadmap

  • scrcpy/H.264 streaming via @yume-chan/scrcpy (ganti screencap polling)

  • Mode WebUSB langsung di browser (tanpa bridge) via @yume-chan/adb-daemon-webusb

  • File manager di web UI ยท [ ] multi-device ยท [ ] rekam layar

Lisensi

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    A MCP server that enables AI assistants to control Android devices via ADB, supporting device info, screen control, input simulation, app management, shell execution, file transfer, and UI parsing.
    20
    -
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy. Supports screenshots, input, apps, UI automation, shell, files, and clipboard.
    38
    217 npm
    103
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that allows AI agents to drive real Android devices via adb, capturing screenshots, reading the live UI tree, and performing actions like tap, swipe, and type.
    13
    5 npm
    1
    Apache 2.0