termux-mcp-bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Access to the user's Android phone via Termux: shell, apps, URLs, notifications, battery/Wi-Fi, location, clipboard, text-to-speech.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| shellA | Run an sh command in Termux on the user's Android phone. Working dir is the Termux home; shared storage is ~/storage/shared (after termux-setup-storage). pkg, termux-* commands, am and pm are available. |
| list_appsA | List installed apps (package names). filter = part of the name, e.g. "tele" or "spotify". |
| open_appA | Open an app by package name (e.g. org.telegram.messenger). Find names with list_apps. |
| open_urlB | Open a URL on the phone (browser or a matching app such as YouTube). |
| notifyC | Show a notification on the phone (needs the Termux:API app). |
| phone_statusA | Phone status: battery (level, charging, temperature), Wi-Fi connection, volume. |
| locationA | Current phone location (GPS/network): latitude, longitude, accuracy in meters. |
| clipboardA | Phone clipboard: without text = read, with text = write. |
| speakC | Speak text out loud on the phone (TTS). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each dedicated tool targets a distinct phone capability (apps, URL, notification, status, location, clipboard, TTS) and descriptions make the intended use clear. The main overlap is `shell`, which can perform almost every other tool's job (e.g. `am start`, `termux-notification`, `termux-clipboard-get`), and `open_url` vs `open_app` can blur when a URL deep-links into an app, but an agent can still choose reliably.
The set mixes bare nouns (`shell`, `location`, `clipboard`), bare verbs (`notify`, `speak`), and verb_noun pairs (`list_apps`, `open_app`, `open_url`), plus a noun_noun form (`phone_status`). All names use snake_case and are readable, so it is inconsistent but not chaotic.
Nine tools for a phone-control bridge is well-scoped: one general shell plus a small set of convenience wrappers for common device actions. Nothing feels redundant beyond the intentional shell escape hatch, and nothing is missing at the count level.
The surface covers the core remote-control lifecycle: command execution, app discovery/launch, URL handling, notifications, device status, location, clipboard, and TTS. Notable gaps include SMS/contacts, camera/media, file push/pull, and input injection, though most of these can be reached through `shell` (am/pm/termux-api), so agents are not hard-blocked.