DroidBridge
On-device MCP server for Android. Connect ChatGPT through OpenAI's official secure tunnel, let AI agents operate your phone and run scheduled automations on it — App edition (Accessibility/Shizuku) or root edition (Magisk/KernelSU/APatch). No PC, no ADB. 卓爱桥
Install / Use
claude mcp add zephyr7030 -- npx -y github:zephyr7030/DroidBridgeIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of DroidBridge
DroidBridge scores 81/100 on our quality scale, 2443rd of 2,901 Automation skills we index.
Its MCP Server is 12 KB long, well organised into 15 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 6 days ago, so DroidBridge is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
DroidBridge compared with similar skills
All 4 of these similar skills score higher than DroidBridge; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| DroidBridge (this skill)by zephyr7030 | 81 | 10 | 6d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 99.6k | 4d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 76.2k | 2d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.5k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 88.7k | today | MCP Server |
Frequently asked questions
- How do I install DroidBridge?
- Run
claude mcp add zephyr7030 -- npx -y github:zephyr7030/DroidBridge. The install tabs above show the steps for each supported agent. - Which AI agents does DroidBridge work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is DroidBridge safe to use?
- It is Apache-2.0-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is DroidBridge still maintained?
- The repository was last updated 6 days ago, so DroidBridge is actively maintained.
Skill content
View source on GitHubWhy DroidBridge
- Official ChatGPT tunnel. The phone polls OpenAI's Secure MCP Tunnel over HTTPS: no open port, no public address and no relay of ours in between.
- Runs on the phone. The MCP server and everything it drives live on the device. A computer and ADB are only needed if you want an agent on a computer.
- Automation that outlives the conversation. Ask once; the phone keeps doing it on a schedule or on events. The root edition does it from a backend that starts at boot, with no app involved.
- Exactly the access you grant. No extra remote permission layer, no telemetry, open source (Apache-2.0).
How agents connect
Two ways to connect, side by side:
| Connection | For | How it reaches the phone |
|---|---|---|
| ChatGPT | ChatGPT on the web (developer mode) | OpenAI's Secure MCP Tunnel. The phone polls OpenAI over HTTPS; no port is opened and no public address is needed. |
| Local MCP | Agents on the same device, or on a computer over adb forward | Streamable HTTP on 127.0.0.1:8765/mcp (root edition: port 8766) with a bearer token. |
What an agent can do
| Tool | What it covers |
|---|---|
| context | DroidBridge status, capabilities and the tool catalog |
| visual | Observe the screen (image and UI hierarchy), tap, long-press, swipe, type text, press keys and key combinations; hold typed input to the app that was observed, and take exclusive use of screen input with a lease |
| android | Inspect packages, launch apps and intents, clipboard, notifications |
| filesystem | Inspect, read, write, edit, move, delete, archive (ZIP) and download files |
| command | Run shell commands as the app or shell (Shizuku) identity, or as root in the root edition |
| network | Diagnose DNS, TCP and TLS; capture and inject traffic (root edition) |
| automation | Create, update, enable, delete and run automations (see below) |
| task_control | List, inspect and cancel background tasks |
Every tool carries MCP safety annotations (readOnlyHint, destructiveHint, openWorldHint), so
clients such as ChatGPT ask you to confirm actions that change things.
Automation that keeps running without the AI
Ask an agent once and the phone keeps doing it. Automations are saved on the device and run without the agent, a computer or an open conversation.
| | What you can build |
|---|---|
| Triggers | a point in time · every N minutes (1 minute to 30 days) · calendar rules (RRULE, with a time zone) · events (runtime.ready, network.default_changed) |
| Steps | call a tool action (visual interact or element, android launch and clipboard, filesystem manage and download, command run, network diagnose) · sequence · if/else on saved state, trigger data or the previous result · repeat · delay · set state · choose per step whether a failure stops the run |
| Element step | finds a control by text, description or resource id when the run happens, then taps, long-presses or types, so a saved automation never holds a stale reference |
| Runs | up to one hour each; state is kept between runs; every run is a Task you can list, inspect and cancel |
| Root edition | the backend starts at boot with no app, arms a wake-up alarm timer for due runs, and can run steps as root (shell commands) |
An agent saves one with automation → save:
{
"name": "Morning check",
"enabled": true,
"trigger": {
"type": "rrule",
"rrule": "DTSTART:20261014T080000\nRRULE:FREQ=DAILY",
"timezone": "Asia/Shanghai"
},
"action": {
"type": "sequence",
"children": [
{"type": "call", "tool": "android", "action": "launch",
"args": {"operation": "package", "package_name": "com.android.settings"}},
{"type": "delay", "duration_ms": 3000},
{"type": "call", "tool": "visual", "action": "element",
"args": {"operation": "tap", "by": "text", "value": "Network & internet"}}
]
}
}
Choose your edition
DroidBridge comes in two editions:
- DroidBridge is an app that runs everything itself. It works on an ordinary phone and gains the shell identity when Shizuku is running.
- The root edition is a root module. Its backend runs as root on its own, starts at boot and keeps running whatever happens to any app. It installs the DroidBridge Root app, which shows the backend's state and settings but runs nothing itself.
Both editions can run on one phone: DroidBridge serves local MCP on port 8765 and the root edition on port 8766.
| | DroidBridge | DroidBridge + Shizuku | Root edition (Magisk / KernelSU / APatch) | |---|---|---|---| | Screen observe / tap / type | Accessibility service | Observe/tap; typing uses Accessibility | ✓ | | Screen capture | Screen-capture consent | ✓ | ✓ | | Notifications | Notification access | Notification access | ✓ | | Shell commands | App identity | App and shell identity | Root identity | | Network capture / injection | — | — | ✓ | | Stays alive in the background | Battery and autostart settings | Kept alive until the next reboot | Runs on its own, restored after reboot |
In DroidBridge, the Execution & access page walks you through each switch with a button that opens the right system page, and tells you when something is already covered by Shizuku.
Requirements
- Android 13 to 17 on an arm64-v8a device. The DroidBridge app also ships x86_64 libraries, so it runs on x86_64 emulators; the root edition is arm64-v8a only.
- For ChatGPT: a plan with web developer mode (Plus or higher), a Secure MCP Tunnel and a Runtime API key from the OpenAI platform.
- Optional: Shizuku, Magisk, KernelSU or APatch for the root edition.
Install
DroidBridge
- Download
droidbridge-<version>-arm64-v8a.apkfrom the latest release (tagapk-v<version>) and install it. - Open DroidBridge. The first-run guide asks which agent you use and walks through permissions.
The release ships a SHA256SUMS.txt and a signed release.json; the app's Updates page uses
the signature to verify its own updates.
Root edition
- Download
droidbridge-magisk-<version>.zipfrom the newestmagisk-vrelease. - Install it in Magisk, KernelSU or APatch. Installing it also installs the DroidBridge Root app.
- Reboot, then open DroidBridge Root.
Module updates are offered by your root manager.
Connect ChatGPT
- On platform.openai.com create a Secure MCP Tunnel, and an API key allowed to use it.
- In DroidBridge open Agent connection → ChatGPT connection, paste the Tunnel ID and the key, and turn the tunnel on. The key is never shown again: DroidBridge encrypts it with the Android Keystore, and the root edition keeps it readable by root only.
- On a computer browser, turn on Developer mode in ChatGPT security settings (it is still rolling out to Plus accounts). Then on ChatGPT plugins tap Add → Create MCP app, connect it through your tunnel with Authentication set to None. The app page has links to both.
- Ask ChatGPT to use DroidBridge. The first call shows up in the app.
Connect a local agent
-
In the app open Agent connection → Local MCP, turn it on and copy the token.
-
Point your MCP client at
http://127.0.0.1:8765/mcp(root edition:8766) withAuthorization: Bearer <token>. From a computer, forward the port first:adb forward tcp:8765 tcp:8765
Screenshots
| Home | Execution & access | Agent connection | Settings | |---|---|---|---| | <img src=".github/assets/screenshots/en/home.png" width="200"> | <img src=".github/assets/screenshots/en/capabilities.png" width="200"> | <img src=".github/assets/screenshots/en/agents.png" width="200"> | <img src=".github/assets/screenshots/en/settings.png" width="200"> |
Security and privacy
- Everything runs on the phone. DroidBridge has no server of its own and sends no telemetry.
- An agent gets exactly the access you granted on the device; there is no extra remote permission layer to misconfigure. Only connect agents you trust with that access.
- The ChatGPT tunnel speaks only to
api.openai.comover TLS with a pinned WebPKI root store. - The local MCP endpoint listens on loopback only and requires its bearer token.
- Text that the system
inputcommand cannot type (for example Chinese or emoji) is pasted through the clipboard: the clip is marked sensitive and your previous clipboard is restored.
Please report vulnerabilities privately as described in SECURITY.md.
Build from source
Building needs the pinned toolchain (JDK 17, Android SDK 37, NDK 29, Rust 1.98) and is currently scripted for Windows with PowerShell 7:
./gradlew :standalone:assembleDebug :root-frontend:assembleDebugMagiskModule
The exact versions, the libpcap step and the toolchain check are in CONTRIBUTING.md.
Community
Questions, device reports and release news: join the Telegram group. Bugs are best filed as GitHub issues.
Support the project
DroidBridge is built and maintained in spare time. If it is useful to you, you can support it on Ko-fi. Bug reports and device reports help just as much.
License
DroidBridge is licensed under the Apache License 2.0. Third-party components and their licenses are listed in THIRD_PARTY_NOTICES.txt.
DroidBridge is an independent project and is not affiliated with or endorsed by OpenAI, Anthropic, Google, Magisk or Shizuku. Product names are trademarks of their respective owners.
Related Skills
Agent-Reach
99.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
76.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.5kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
88.7k🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
