Skip to main content
Glama
wujie272

Android MCP Server

by wujie272

🀖 Termux MCP Server

让 AI 盎接操控䜠的 Android 手机 — 120+ 工具的 MCP 服务运行圚 Termux 侊

Version License Python PRs

基于 xlisp/termux-mcp-server 党面重构采甚 FastMCP 框架分层加蜜、智胜重试、安党闚控。


✹ 亮点速览

特性

诎明

🛠 120+ 工具

屏幕操控 · 文件管理 · 应甚管理 · 通信 · 䌠感噚 · 媒䜓 · 倩气 · Shizuku · GitHub

📡 8 䞪 Resources

电池/讟倇/WiFi/蜂窝/存傚/健康/䌠感噚/前台 — 可盎接订阅

📝 5 䞪 Prompts

健康巡检/取证分析/屏幕向富/厩溃调查/自劚化操䜜 — 暡板化工䜜流

🚀 分层加蜜

栞心工具 0s → 垞甚 3s → 䜎频 10s启劚即甚䞍等埅

🔒 安党闚控

只读暡匏 + Shell 匀关环境变量控制零代码入䟵

🧠 智胜定䜍

按文本/ID/类名扟元玠䞀次调甚定䜍+点击+验证

🏗 䞉层特权

Shizuku (rish) 🥇 → ADB 🥈 → Direct (Termux) 🥉自劚降级最高权限䌘先


Related MCP server: Android MCP

📡 快速匀始

# 通过管理工具掚荐
bash ~/mcp-manager.sh android

# 或盎接运行
cd ~/mcp-servers/termux-mcp

# stdio 暡匏适合 Claude Desktop 本地调甚
python3 server.py

# HTTP/SSE 暡匏适合远皋访问端口 3000
python3 http_server.py

# 健康检查
curl http://手机IP:3000/health

MCP 客户端配眮

{
  "mcpServers": {
    "termux-mcp": {
      "type": "sse",
      "url": "http://192.168.1.102:3000/sse"
    }
  }
}

⚠ 将 192.168.1.102 替换䞺手机实际 IP可甚 bash ~/mcp-manager.sh wifi-ip 查看


🏗 架构讟计

┌─────────────────────────────────────────────────────┐
│                   MCP Client                         │
│           (Claude Desktop / RikkaHub / Cursor)       │
└────────────────────┬────────────────────────────────┘
                     │ MCP Protocol (SSE / stdio)
                     ▌
┌─────────────────────────────────────────────────────┐
│              termux-mcp (FastMCP)                    │
│                                                       │
│  ┌─────────────────────────────────────────────┐     │
│  │  🚀 Layer 1: 栞心工具 (0s)                    │     │
│  │  device_info · ui_automation · ui_smart      │     │
│  │  github · aggregation · prompts · resources  │     │
│  ├──────────────────────────────────────────────     │
│  │  ⏳ Layer 2: 垞甚工具 (3s)                    │     │
│  │  file_system · app_management               │     │
│  │  communication · system_control             │     │
│  ├──────────────────────────────────────────────     │
│  │  🐌 Layer 3: 䜎频工具 (10s)                  │     │
│  │  media · adb                                 │     │
│  └─────────────────────────────────────────────┘     │
│                                                       │
│  ┌─── 🔒 Security Gate ─────────────────────────┐   │
│  │  TERMUX_MCP_READONLY    → 犁止写入操䜜       │   │
│  │  TERMUX_MCP_ALLOW_SHELL → 犁止 Shell 执行    │   │
│  └──────────────────────────────────────────────┘   │
│                                                       │
│  ┌─── 🏗 Privilege Chain ───────────────────────┐   │
│  │  Shizuku (rish) 🥇 → ADB 🥈 → Direct 🥉   │   │
│  │  自劚降级最高权限䌘先                      │   │
│  └──────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────┘
         │                  │                  │
         ▌                  ▌                  ▌
   ┌──────────┐    ┌──────────────┐    ┌────────────┐
   │ Termux:API│    │ Shizuku/rish │    │    ADB     │
   │ 䌠感噚/盞机│    │ 截囟/UI dump │    │ 无线调试   │
   │ 短信/TTS  │    │ 蟓入泚入     │    │ (倇选)     │
   └──────────┘    └──────────────┘    └────────────┘

📡 MCP Resources — 讟倇数据源

Resources 是可订阅的声明匏数据源Client 可䞻劚读取或订阅曎新。

Resource

URI

诎明

🔋 电池

device://battery

电量/枩床/充电状态/电压/电流/健康床

📱 讟倇

device://info

型号/品牌/Android版本/SDK/内栞/架构/运行时闎

📶 WiFi

device://network/wifi

SSID/信号区床/速率/频段/IP

📡 蜂窝

device://network/telephony

运营商/眑络类型/SIM状态/挫枞

💟 存傚

device://storage

总量/已甚/剩䜙/䜿甚率

🩺 健康

device://health

电池+WiFi+存傚䞀键快照

🎯 䌠感噚

device://sensors

可甚䌠感噚列衚及数量

📌 前台

device://app/foreground

圓前前台运行的 App


📝 MCP Prompts — 暡板化工䜜流

5 䞪预定义工䜜流暡板Client 调甚后 AI 自劚执行倚步骀任务

Prompt

适甚场景

执行流皋

device_health_check

讟倇卡顿/发热/耗电快时排查

电池→健康→存傚→眑络→讟倇→前台 → 报告

app_forensic_audit

审计第䞉方 App 安党性

包信息→权限审计→内存→Activity→数据 → 审计报告

screen_interaction_wizard

倚步骀 UI 自劚操䜜

截囟→识别→点击→验证(埪环)

crash_investigation

App 闪退/系统匂垞排查

健康基线→内存→存傚→近期变曎 → 事故报告

automation_operator

筟到/打卡等重倍任务

拆解步骀→逐䞪执行→验证→报告


🛠 聚合工具

䞀次调甚获取倚绎数据告别倚次蜮询

工具

诎明

数据来源数

device_health()

🔥 讟倇健康报告 — 电池 + 存傚 + 内存 + WiFi + CPU + 进皋7路匂步并发

⚡ 7

analyze_app(pkg)

🔍 包信息 + 权限 + 内存 + Activity + 进皋党绎床审计

📋 5

screen_diagnostics()

📺 分蟚率 + 方向 + 亮床 + 前台 + UI 节点统计

🖥 5


🔒 安党闚系统

环境变量控制无需改代码

# 只读暡匏 — 犁止所有写入操䜜截囟/点击/发短信/删文件等
TERMUX_MCP_READONLY=true

# Shell 控制 — 犁止 Shell/ADB 呜什执行
TERMUX_MCP_ALLOW_SHELL=false

每䞪工具标泚安党等级

等级

标识

瀺䟋

⚡ 䞭风险

亀互操䜜

tap_screen(), input_text(), swipe_screen()

🚚 高风险

数据变曎

send_sms(), write_file(), force_stop_app()


🛠 党郚工具䞀览100+

🧠 智胜定䜍8 䞪

工具

诎明

find_element(text)

按文本/ID/类名/描述查扟 UI 元玠返回坐标和属性

click_by_text(text)

按文本查扟并点击䞍受垃局变化圱响最皳健

click_by_id(id)

按资源 ID 查扟并点击

click_by_class(cls)

按类名Button/Switch 等查扟并点击

wait_for_element(text)

等埅元玠出现蜮询超时可配适合匂步加蜜

get_foreground_app()

获取圓前前台应甚包名+Activity

get_ui_state(scale)

结构化界面状态 + 可选标泚截囟䞀键到䜍

dump_ui_with_screenshot(scale)

标泚所有可亀互元玠的截囟 + 完敎元玠列衚

🖥 UI 自劚化20 䞪

工具

诎明

dump_ui(mode)

UI 树分析summary / full / json 䞉暡匏

tap_screen(x, y)

粟确点击指定坐标

long_press(x, y, ms)

长按可讟时长

swipe_screen(x1,y1 → x2,y2)

滑劚操䜜可调速

input_text(text)

蟓入 ASCII 文本

input_chinese_text(text)

蟓入䞭文/倚语蚀文本剪莎板+Paste 方案

input_keyevent(keycode)

发送按键事件3=Home / 4=Back / 26=Power / 66=Enter / 67=Del / 187=Recent

go_home() / go_back()

䞻页 / 返回

open_recent_apps()

最近应甚

screen_on() / screen_off()

亮屏 / 息屏

rotate_device(rot)

旋蜬屏幕0=竖屏 / 1=暪屏 / 2=反向竖屏 / 3=反向暪屏

expand_notifications()

䞋拉通知栏

expand_settings()

展匀快捷讟眮面板

collapse_panels()

收起通知栏/讟眮面板

screen_record(secs)

圕屏最长 180s可星瀺觊摞点

📱 讟倇信息18 䞪

工具

诎明

get_battery_status()

电池电量/枩床/充电状态/电压/电流/健康床

get_battery_health()

深床电池健康埪环次数/容量/电压dumpsys

get_wifi_info()

WiFi 连接诊情SSID/BSSID/信号/速率/频段/IP

scan_wifi()

扫描附近 WiFi 热点

wifi_qr_code()

生成圓前 WiFi 二绎码可扫码连接

get_telephony_info()

蜂窝眑络信息运营商/4G/5G/SIM 状态/IMEI

get_telephony_cell_info()

基站信息CID/LAC/信号区床/ARFCN

get_location(provider)

GPS 定䜍gps/network/passive · 单次/持续/最近

get_sensor_list()

列出所有可甚䌠感噚

read_sensor(name)

读取䌠感噚实时数据

get_device_info()

党面讟倇信息型号/Android 版本/内栞/架构/运行时闎

get_screen_size()

屏幕分蟚率

get_screen_brightness()

圓前亮床需 Shizuku/ADB

set_screen_brightness(level)

讟眮亮床 0-255需 Shizuku/ADB

device_health_report()

MCP 服务健康状态运行时闎/PID/日志倧小

list_adb_devices()

列出所有 ADB 连接讟倇USB + WiFi含型号

restart_android(reason)

重启 termux-mcp 服务~2-3s 自愈

📁 文件系统15 䞪

工具

诎明

read_file(path)

读取文本文件自劚检测猖码

write_file(path, content)

写入文件自劚创建父目圕

edit_file(path, old, new)

文本替换猖蟑支持 dry-run 预览

file_editor(path, action, ...)

🔧 智胜行级猖蟑 — 插入/删陀/替换/正则/泚释/撀销。预览 → 确讀 → 倇仜 → 回滚党皋保技

search_files(query)

🔍 统䞀搜玢匕擎文件名(fd) + 内容(rg) + 元数据过滀 + 暡糊匹配(fzf)

file_copy(source, dest)

倍制文件/目圕自劚防芆盖加后猀

file_move(source, dest)

移劚/重呜名文件/目圕

file_delete(path)

安党删陀先预览再确讀䞍可恢倍

file_trash(path)

移到回收站 ~/.trash/可还原

file_symlink(source, link)

创建笊号铟接

dir_create(path)

创建目圕mkdir -p 行䞺

get_file_info(path)

文件元信息倧小/日期/权限

list_directory(path)

列出目圕内容

list_allowed_directories()

列出可访问的目圕癜名单

📊 应甚管理9 䞪

工具

诎明

list_installed_packages()

列出 Termux 已装包dpkg

list_android_packages(keyword)

列出 Android 应甚可关键词过滀

list_running_apps()

运行䞭进皋 + CPU + 内存占甚

app_usage_stats(days)

应甚䜿甚统计近 N 倩

open_app(package)

启劚应甚MAIN intent → 已知 Activity → monkey倚级降级

force_stop_app(package)

区制停止应甚

get_current_app()

圓前聚焊应甚包名+Activity

analyze_app(package)

🔍 深床分析包信息+权限+内存+Activity+进皋

💬 通信15 䞪

工具

诎明

list_sms(limit, type)

短信列衚inbox/sent/draft/all

send_sms(number, msg)

发送短信䌚产生实际莹甚

list_contacts()

通讯圕姓名/电话/邮箱

get_clipboard()

读取剪莎板Termux:API → 内存回退

set_clipboard(text)

写入剪莎板

clipboard_history(limit)

剪莎板历史记圕

clipboard_history_clear()

枅空历史

send_notification(title, msg)

发送通知可振劚

dismiss_notification(id)

按 ID 移陀通知

list_notifications()

列出所有掻跃通知

show_toast(text)

星瀺 Toast 消息

🔊 系统控制9 䞪

工具

诎明

get_volume()

查看所有音频流音量music/ring/alarm/notification/system/call

set_volume(stream, level)

讟眮音量0-15

toggle_torch(on)

手电筒匀关

vibrate(ms, force)

震劚支持静音暡匏区制震劚

text_to_speech(text, lang)

文字蜬语音朗读支持倚语蚀

get_fingerprint()

指纹讀证

open_url(url)

浏览噚打匀 URL

📷 媒䜓7 䞪

工具

诎明

take_photo(camera_id)

拍照0=后眮 / 1=前眮

get_camera_info()

可甚盞机列衚及参数

list_photos(dir, limit)

列出照片文件jpg/png/gif/webp/heic

media_player(action, path)

媒䜓播攟控制play/pause/stop/info

share_file(path)

分享文件系统分享面板

download_file(url)

䞋蜜文件系统䞋蜜管理噚

🌀 倩气5 䞪

工具

诎明

get_weather(city)

诊细倩气枩床/湿床/风速/气压 + 未来 3 倩预报

get_weather_short(city)

䞀句话快速获取圓前倩气抂况支持城垂名或坐标

get_weather_by_coords(lat, lng)

通过 GPS 经纬床粟准查倩气

get_air_quality(city)

空气莚量指数 AQI + PM2.5/PM10/O₃ 等污染物

🔌 ADB2 䞪

工具

诎明

adb_status()

ADB/Shizuku 安装和连接状态诊断

adb_connect(pair_code, ports)

Android 12+ 无线调试配对连接

🎭 Shizuku 管理6 䞪

工具

诎明

shizuku_status()

查看 Shizuku 党面状态App 进皋/守技进皋/rish 可甚性/小窗䜍眮

shizuku_hide()

隐藏 Shizuku 小窗猩到右䞊角极小尺寞 + force-stop UI

shizuku_show()

星瀺/启劚 Shizuku App 窗口

shizuku_resize(l,t,r,b)

调敎小窗䜍眮和倧小可从党屏到小点自由控制

shizuku_restart()

重启 Shizuku App卡死时恢倍守技进皋䞍受圱响

💻 GitHub10 䞪

工具

诎明

github_repo(owner, repo)

仓库诊情Star/Fork/描述/讞可证

github_list_repos(username)

列出甚户仓库

github_search(query, type)

搜玢仓库/代码/Issue

github_get_file(owner, repo, path)

读取文件或列目圕

github_list_issues(owner, repo)

列出 Issue

github_repo_languages(owner, repo)

猖皋语蚀占比

github_list_branches(owner, repo)

列出分支

github_refresh_token()

手劚刷新 GitHub Token


⚙ 䟝赖

䟝赖

甹途

安装方匏

Termux:API

电池/WiFi/䌠感噚/盞机/短信/TTS/剪莎板

pkg install termux-api + 安装 Termux:API App

Shizuku 🥇

截囟/UI dump/圕屏/蟓入泚入掚荐

Shizuku 官眑 匀启 + 将 rish 攟入 $HOME

ADB 🥈

Shizuku 䞍可甚时的降级方案

pkg install android-tools + 匀启无线调试

Pillow

截囟劣化/标泚截囟

pip install Pillow

特权配眮

# 方案 AShizuku掚荐
# 1. 安装 Shizuku App 并授权
# 2. 确保 ~/rish 文件存圚䞔可执行
# 3. 服务自劚检测无需额倖配眮

# 方案 BADB 无线调试倇选
# 1. 匀启 匀发者选项 → 无线调试
# 2. adb connect 192.168.1.102:5555
# 3. adb devices 确讀连接

🏗 项目结构

termux-mcp/
├── server.py                    # 🚀 stdio 入口
├── http_server.py               # 🌐 HTTP/SSE 入口端口 3000
├── http_termux_server.py        # 🔄 HTTP 兌容版
├── pyproject.toml               # 📊 项目配眮v0.4.0
├── diagnose.sh                  # 🔧 环境诊断脚本
├── keepalive.sh                 # ♻ 保掻监控30s 自愈
├── _scan_tools.py               # 📋 工具扫描
└── termux_mcp/                 # 🧠 栞心代码
    ├── __init__.py              # 包入口
    ├── __main__.py              # python -m 支持
    ├── app.py                   # FastMCP 实䟋 + 分层加蜜策略
    ├── prompts.py               # 📝 5 䞪 Prompt 暡板
    ├── resources.py             # 📡 8 䞪 Resource 数据源
    ├── lib/
    │   ├── constants.py         # 📌 集䞭路埄垞量
    │   ├── utils.py             # 🔧 呜什执行 + 日志蜮蜬 + 安党闚
    │   └── adb.py               # 🔌 ADB 连接管理
    └── tools/
        ├── aggregation.py       # 🔥 聚合工具device_health 等 3 䞪
        ├── ui_smart.py          # 🧠 智胜元玠定䜍find/click by text 等
        ├── ui_automation.py     # 🖥 截囟/点击/蟓入/屏幕控制20 䞪
        ├── device_info.py       # 📱 讟倇信息18 䞪
        ├── file_system.py       # 📁 文件操䜜15 䞪含 file_editor
        ├── app_management.py    # 📊 应甚管理9 䞪
        ├── communication.py     # 💬 通信15 䞪
        ├── system_control.py    # 🔊 系统控制9 䞪
        ├── media.py             # 📷 盞机/媒䜓7 䞪
        ├── weather.py           # 🌀 倩气5 䞪
        ├── shizuku.py           # 🎭 Shizuku 管理6 䞪
        ├── adb.py               # 🔌 ADB 工具2 䞪
        └── github.py            # 💻 GitHub10 䞪

🔧 环境变量

变量

默讀倌

诎明

TERMUX_MCP_READONLY

false

讟䞺 true 犁止所有写入操䜜

TERMUX_MCP_ALLOW_SHELL

true

讟䞺 false 犁止 Shell 呜什执行

HOST

0.0.0.0

HTTP 服务监听地址

PORT

3000

HTTP 服务监听端口


🩺 健康检查

HTTP 暡匏䞋提䟛 /health 端点

curl http://localhost:3000/health

# 返回:
# {
#   "status": "ok",
#   "service": "termux-mcp",
#   "uptime_sec": 3600,
#   "uptime_str": "1h 0m 0s",
#   "version": "0.2.0"
# }

保掻监控脚本 keepalive.sh 每 30 秒蜮询䞀次服务挂了自劚拉起䞎内郚重启圢成「双层保险」。


❓ 垞见问题

工具执行倱莥

# 运行诊断脚本
cd ~/mcp-servers/termux-mcp && bash diagnose.sh

Shizuku 连接倱莥

# 检查 rish 是吊存圚
ls -la ~/rish

# 测试 rish 连通性
~/rish -c "echo ok"

截囟/点击䞍生效

确保 Shizuku 或 ADB 已连接

# 检查特权状态
bash ~/mcp-manager.sh status

# 测试截屏
screencap -p /sdcard/test.png && ls -la /sdcard/test.png

端口被占甚

lsof -i :3000

📄 讞可

MIT — 基于 xlisp/termux-mcp-server


A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wujie272/termux-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server