控制端:能接入MCP工具的API平台(支持 MCP SSE 协议),推荐Kelivo,RikkaHub成功率比较低。
服务端:安卓手机里的 Termux。
功能: 在 AI 对话里直接说“帮我定个下午 3 点的闹钟”,手机自动设定(备忘录,文件管理,天气等自带软件的使用同理)

二、实操步骤(可以把以下代码复制粘贴给AI让它进行一步步指导和优化)
1. 环境准备(在 Termux 中执行)
更新源并安装 Python,以及 MCP 所需的依赖库。注:网速慢可能需要等一会。
pkg update -y && pkg install python -y
pip install "mcp[cli]" uvicorn
2. 创建服务脚本(核心代码)
把下面的代码完整复制,粘贴到 Termux 里按回车。(这一步屏幕不会输出任何东西,正常现象)。
cat > ~/alarm_server.py << 'EOF'
import subprocess
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("闹钟助手", host="127.0.0.1", port=8765)
@mcp.tool()
def set_alarm(hour: int, minute: int, message: str = "起床") -> str:
"""设置闹钟。hour是小时0-23,minute是分钟0-59,message是闹钟标签。"""
cmd = [
"am", "start", "-a", "android.intent.action.SET_ALARM",
"--ei", "android.intent.extra.alarm.HOUR", str(hour),
"--ei", "android.intent.extra.alarm.MINUTES", str(minute),
"--es", "android.intent.extra.alarm.MESSAGE", message,
"--ez", "android.intent.extra.alarm.SKIP_UI", "true"
]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode == 0:
return f"闹钟已设置:{hour:02d}:{minute:02d} - {message}"
else:
return f"设置失败:{result.stderr}"
@mcp.tool()
def cancel_alarm(message: str = "") -> str:
"""取消闹钟。message是要取消的闹钟标签,留空则取消全部。"""
cmd = ["am", "start", "-a", "android.intent.action.DISMISS_ALARM",
"--ez", "android.intent.extra.alarm.SKIP_UI", "true"]
if message:
cmd += ["--es", "android.intent.extra.alarm.MESSAGE", message]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode == 0:
return "闹钟已取消"
else:
return f"取消失败:{result.stderr}"
if __name__ == "__main__":
mcp.run(transport="sse")
EOF
3. 在后台跑起来(关掉 Termux 窗口也能用)
nohup python ~/alarm_server.py > /dev/null 2>&1 &
三、前端连接配置(关键的避坑指南)
非常重要: 不是所有 AI App 都能连得上(kelivo能连接,RikkaHub不行)
配置地址:
在 AI 客户端的 MCP 设置中,选择 SSE 连接,填入以下地址:
http://127.0.0.1:8765/sse
四、排雷:为什么连上了但调用失败?(权限问题)
如果你在 AI 界面提示“设置失败:
Permission denied”或
“SecurityException”,不是代码问题,是安卓底层拦截了。
必须手动在手机设置里做一次授权(只需做一次):
1. 打开手机 设置 -> 应用管理。
2. 找到并点击 Termux。
3. 点击 权限。
4. 关键:找到 “修改系统设置”,改为 “允许”。
5. 如果列表里还有 “闹钟和提醒”,也改为 “允许”。(如果不给这个权限,系统会认为是恶意程序悄悄设闹钟,强制拦截。)
五、进阶扩展(如何做到手机“关机”也能用?)
目前的架构是跑在当前手机的 127.0.0.1 上的。一旦关机,这个服务会停掉。
如果想做成 24 小时在线的智能闹钟服务器:
1. 找一台废旧的安卓手机或电视盒子,插着电源,连上 WiFi。
2. 同样安装 Termux,并重复上面的步骤。
3. 关键操作: 给这台旧手机的 WiFi 设置 “静态 IP”(例如固定为 192.168.1.200)。
4. 把这台旧手机的电池优化设为 “无限制”,确保它永不休眠。
5.修改AI前端配置的地址,换成:
http://192.168.1.200:8765/sse
6.其他用Termux在手机上跑的MCP工具也同理。
这样,只要你用 DeepSeek 或者 Claude,一句口令就能远程控制这台 24 小时开机的旧手机设定闹钟,彻底摆脱联网和关机的限制。
用同样的思路还能够让AI打开其他手机自带应用,有问题可以在评论区留言~
夜雨聆风