📱 电话 MCP 插件
🌟 强大的 MCP 插件,可让您通过 ADB 命令轻松控制您的 Android 手机。
例子
浏览器根据当日天气,自动选择播放网易云音乐,无需确认
从通讯录里给郝打电话。如果他没接,就发短信让他来101会议室。
Related MCP server: PhonePi MCP
⚡ 快速入门
📥 安装
🔧 配置
AI助手配置
在您的 AI 助手配置中进行配置(Cursor、Trae、Claude 等):
或者,如果您使用 pip 安装:
重要提示:上述配置中的路径
/usr/local/bin/python是 Python 解释器的路径。您需要根据系统上 Python 的实际安装位置进行修改。以下是如何在不同操作系统上查找 Python 路径:Linux/macOS :在终端中运行以下命令:
which python3或者
which pythonWindows :在命令提示符(CMD)中运行:
where python或者在 PowerShell 中:
(Get-Command python).Path确保将配置中的
/usr/local/bin/python替换为完整路径,例如在 Windows 上它可能是C:\Python39\python.exe
注意:对于 Cursor,请将此配置放在
~/.cursor/mcp.json中
用法:
在 Claude 对话中直接使用命令,例如:
Please call contact hao
⚠️ 使用前,请确保:
ADB 已正确安装和配置
您的 Android 设备上已启用 USB 调试
设备通过 USB 连接到计算机
🎯 主要特点
📞通话功能:拨打电话、结束通话、接听来电
💬消息传递:发送和接收短信,获取原始消息
👥联系人:访问手机联系人,通过自动化 UI 交互创建新联系人
📸媒体:截图、屏幕录制、媒体控制
📱应用程序:启动应用程序、启动具有意图的特定活动、列出已安装的应用程序、终止应用程序
🔧系统:窗口信息、应用程序快捷方式
🗺️地图:通过电话号码搜索兴趣点
🖱️ UI 交互:点击、滑动、输入文本、按键
🔍 UI 检查:通过文本、ID、类或描述查找元素
🤖 UI 自动化:等待元素,滚动查找元素
🧠屏幕分析:结构化的屏幕信息和统一的交互
🌐 Web 浏览器:在设备的默认浏览器中打开 URL
🔄 UI 监控:监控 UI 变化并等待特定元素出现或消失
🛠️ 要求
Python 3.7+
已启用 USB 调试的 Android 设备
ADB 工具
📋 基本命令
设备和连接
沟通
媒体和应用程序
屏幕分析与交互
位置和地图
📚 高级用法
应用程序和活动启动
该插件提供了多种启动应用程序和活动的方式:
按应用名称(两种方法):
# Method 1: Using app command (may not work on all devices) phone-cli app camera # Method 2: Using open_app command (alternative if app command fails) phone-cli open_app camera按包名称(两种方法):
# Method 1: Using app command (may not work on all devices) phone-cli app com.android.contacts # Method 2: Using open_app command (alternative if app command fails) phone-cli open_app com.android.contacts按包装和活动(最可靠的方法):
# This method works on all devices phone-cli launch com.android.dialer/com.android.dialer.DialtactsActivity
注意:如果您在使用
app或open_app命令时遇到问题,请始终使用带有完整组件名称(package/activity)的launch命令,以实现最可靠的操作。
使用 UI 自动化创建联系人
该插件提供了通过UI交互创建联系人的方法:
此命令将:
打开联系人应用
导航至联系人创建界面
填写姓名和电话号码字段
自动保存联系人
基于屏幕的自动化
统一的屏幕交互界面,让智能座席能够轻松:
分析屏幕:获取 UI 元素和文本的结构化分析
做出决策:基于检测到的 UI 模式和可用的操作
执行交互:通过一致的参数系统
UI监控和自动化
该插件提供了强大的UI监控功能,可以检测界面变化:
基本 UI 监控:
# Monitor any UI changes with custom interval (seconds) phone-cli monitor-ui --interval 0.5 --duration 30等待特定元素出现:
# Wait for text to appear (useful for automated testing) phone-cli monitor-ui --watch-for text_appears --text "Login successful" # Wait for specific ID to appear phone-cli monitor-ui --watch-for id_appears --id "confirmation_dialog"监视元素消失:
# Wait for text to disappear phone-cli monitor-ui --watch-for text_disappears --text "Loading..."获取详细的 UI 更改报告:
# Get raw JSON data with all UI change information phone-cli monitor-ui --raw
提示:UI 监控对于自动化脚本特别有用,可以等待加载屏幕完成或确认操作已在 UI 中生效。
📚 详细文档
如需完整的文档和配置详细信息,请访问我们的GitHub 存储库。
🧰 工具文档
屏幕接口API
该插件提供了强大的屏幕界面以及全面的 API,用于与设备交互。以下是主要功能及其参数:
与屏幕交互
参数:
action:操作类型(“点击”、“滑动”、“按键”、“文本”、“查找”、“等待”、“滚动”)params:包含特定于每个动作类型的参数的字典
**返回:**操作结果的JSON字符串
例子:
分析屏幕
参数:
include_screenshot:是否在结果中包含 base64 编码的屏幕截图max_elements:要处理的最大 UI 元素数量
**返回:**带有详细屏幕分析的 JSON 字符串
创建联系人
参数:
name:联系人的全名phone:联系人的电话号码
**返回:**操作结果的 JSON 字符串
**位置:**该函数位于“contacts.py”模块中,并实现 UI 自动化来创建联系人
启动应用活动
参数:
package_name:要启动的应用程序的包名称activity_name:要启动的特定活动(可选)
**返回:**操作结果的 JSON 字符串
**位置:**该函数位于“apps.py”模块中
启动意图
参数:
intent_action:要执行的操作intent_type:意图的 MIME 类型(可选)extras:通过 Intent 传递的额外数据(可选)
**返回:**操作结果的 JSON 字符串
**位置:**该函数位于“apps.py”模块中
📄 许可证
Apache 许可证,版本 2.0
联系人创建工具
该工具提供了一种使用 ADB 在 Android 设备上创建联系人的简单方法。
先决条件
Python 3.x
ADB(Android Debug Bridge)安装和配置
Android 设备已连接并授权 ADB
用法
基本用法
只需运行脚本:
这将创建一个具有默认值的联系人:
账户名:“您的账户名”
帐户类型:“com.google”
高级用法
您可以使用 JSON 字符串提供自定义帐户名称和类型:
输出
该脚本输出一个 JSON 对象,内容如下:
success:布尔值,指示操作是否成功message:命令的任何输出或错误消息
成功输出示例:
错误处理
如果 ADB 不可用或设备未连接,脚本将返回错误
无效的 JSON 输入将导致错误消息
任何 ADB 命令错误都将被捕获并返回到消息字段中
笔记
确保您的 Android 设备已连接并授权使用 ADB
运行该命令时,设备屏幕应处于解锁状态
某些设备可能需要额外的权限才能修改联系人