AgentStack
MCP verified Apache-2.0 Self-run

Android Web Control

mcp-nick-wq-android-web-control · by Nick-wq

An Android Web Control Platform powered by WebRTC, WebCodecs and ADB for browser-based screen mirroring, remote control and AI Agent integration.

No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add mcp-nick-wq-android-web-control

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Android Web Control? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Android Web Control

投屏中控

Browser-based Android remote control — multi-display, WebRTC streaming, real-time input injection

[](LICENSE) [](https://castvehicle.com) [](docs/webrtc.md) [](https://github.com/Genymobile/scrcpy) [](https://castvehicle.com)

[📖 中文文档](docs/README-zh.md)


What is this?

Android Web Control is a self-developed product that runs up to 3 virtual displays on a single Android phone, streams each display as an H.264 video to the browser over WebRTC (LAN), and forwards mouse/keyboard input back from the browser into each virtual screen via scrcpy injection.

The entire control loop lives in the browser — no desktop client required.

> Live at castvehicle.com

> Note: This is a product showcase, not an open-source project. Source code is not publicly available.


Architecture

                         Android Web Control

               ┌─────────────────────────────────┐
               │        Signaling Server         │
               │     Room • Socket.IO • ICE      │
               └─────────────────────────────────┘
                              ▲
                              │  Signaling Only
                              │
        ┌─────────────────────┴─────────────────────┐
        │                                           │
┌──────────────────────┐                  ┌────────────────────────┐
│    Android Device    │                  │        Browser         │
│                      │                  │                        │
│                      │                  │  WebCodecs Decoder     │
│  Virtual Display     │◄──── Control ────│  Keyboard / Mouse      │
│  MediaCodec (H.264)  │                  │  Canvas Renderer       │
│  Audio Capture(Opus) │────── Video ───► │                        │
│  Input Injection     │────── Audio ───► │                        │
│                      │                  │                        │
└──────────────────────┘                  └────────────────────────┘

                 End-to-End LAN P2P Connection (WebRTC)

Key Features

| Feature | How | |---|---| | 3 virtual displays | launched via in-app ADB client | | H.264 streaming | MediaCodec encodes each virtual screen → WebRTC DataChannel/video | | Browser rendering | WebCodecs / MSE decodes H.264, zero plugin | | Remote input | Mouse events in browser → WebRTC → input injection | | Audio passthrough | Phone audio captured and routed to browser speaker | | IME / keyboard | Full keyboard shortcut support and soft-keyboard input | | No desktop software | Browser-only control, works on any OS | | Phone screen off | Phone can be flipped face-down while in use |


Demo

3 apps running side-by-side in the browser — mouse controls each independently

Run dual-screen apps and type directly from your computer keyboard


Quick Start

Prerequisites

  • Android phone with Developer Mode enabled and ADB over TCP activated
  • Phone and computer on the same LAN
  • A modern browser (Chrome / Edge recommended)

Steps

1. Activate your phone

Enable ADB over TCP so the app can create virtual displays:

# Connect phone via USB, then run on your computer:
adb tcpip 5555

> Full guide → [docs/adb-activation.md](docs/adb-activation.md)

2. Install the Android app

Download the APK from the [apk/](apk/) directory or scan the QR code on the web page.

3. Open the web control panel

Visit castvehicle.com (or self-host), scan the pairing QR code with the app, then tap Start Mirroring on the phone.

> Step-by-step guide → [docs/quick-start.md](docs/quick-start.md)


How It Works

Android Phone
├── Virtual Display ×3   (created by scrcpy via app_process)
├── MediaCodec           (encodes each display → H.264 bitstream)
└── In-app ADB client    (simulates ADB client protocol over TCP 5555)
        │
        │  WebRTC (LAN, low latency)
        ▼
Browser
├── WebCodecs / MSE      (decodes H.264 → renders 3 video panels)
├── Mouse / Keyboard     (captured → sent back via WebRTC)
└── scrcpy injection     (input events injected into each virtual screen)

Docs

> This project is still being documented. More content is coming soon.

| Document | Description | |---|---| | [architecture.md](docs/architecture.md) | End-to-end system design | | [quick-start.md](docs/quick-start.md) | Setup guide for new users | | [adb-activation.md](docs/adb-activation.md) | How to enable ADB on the phone | | [virtual-display.md](docs/virtual-display.md) | Virtual display implementation with scrcpy | | [webrtc.md](docs/webrtc.md) | WebRTC streaming & signaling design | | [protocol.md](docs/protocol.md) | Signaling protocol reference | | [performance.md](docs/performance.md) | Latency, bitrate, and optimization notes | | [faq.md](docs/faq.md) | Frequently asked questions | | [roadmap.md](docs/roadmap.md) | Planned features (SDK, AI agent integration, …) |


Roadmap

  • [ ] AI Agent SDK for Android device automation
  • [ ] Unified management for multiple Android devices
  • [ ] Remote access over the Internet (TURN relay)
  • [ ] Plugin API for third-party integrations

See [docs/roadmap.md](docs/roadmap.md) for detail.


License

[MIT](LICENSE)


Contact

If you have product feedback or business inquiries, feel free to follow the WeChat Official Account:

Scan to follow — WeChat Official Account


Built by Nick · Android Connectivity & Screen Streaming

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.