Phone MCP Plugin
一个 MCP 插件,它使 AI 助手能够控制安卓手机,允许通过自然语言命令执行诸如拨打电话、发送消息、截取屏幕截图和访问联系人等功能。
README
Phone MCP 插件
一个用于 MCP 的手机控制插件,允许您控制您的 Android 手机来连接任何人。
在 Claude 和 Cursor 中使用 Phone MCP
安装
uvx phone-mcp
Cursor 配置
在 ~/.cursor/mcp.json 中配置:
"phone-mcp": {
"command": "uvx",
"args": [
"phone-mcp"
]
}
在 Claude 中使用
"phone-mcp": {
"command": "uvx",
"args": [
"phone-mcp"
]
}
Claude 可以直接调用以下手机控制功能:
- 通话功能: 拨打电话、结束通话、接收来电
- 消息功能: 发送短信、接收最近消息
- 联系人功能: 访问手机联系人
- 媒体功能: 截屏、录屏、控制媒体播放
- 应用功能: 打开应用程序、设置闹钟
- 系统功能: 获取窗口信息、应用快捷方式、启动特定 Activity
- 地图功能: 按位置搜索 POI 信息(包括电话号码)(需要高德地图 API 密钥)
示例命令
直接在 Claude 对话中使用:
- 检查设备连接:
mcp_phone_mcp_check_device_connection - 拨打电话:
mcp_phone_mcp_call_number - 发送短信:
mcp_phone_mcp_send_text_message - 获取联系人:
mcp_phone_mcp_get_contacts - 截屏:
mcp_phone_mcp_take_screenshot - 获取应用快捷方式:
mcp_phone_mcp_get_app_shortcuts - 获取窗口信息:
mcp_phone_mcp_get_current_window - 启动特定 Activity:
mcp_phone_mcp_launch_activity - 按位置搜索 POI:
mcp_amap_maps_maps_get_poi_info_by_location
无需额外配置。只要 ADB 正确安装和配置,Claude 就可以直接控制您的 Android 设备。
安装
从 PyPI 安装包:
pip install phone-mcp
或者使用 UVX 安装:
uvx phone-mcp
要求
- Python 3.7+
- 启用 USB 调试的 Android 设备
- 在您的系统上安装并配置 ADB
ADB 设置(必需)
此软件包需要安装 ADB (Android Debug Bridge) 在您的计算机上,并正确连接到您的 Android 设备。
安装 ADB
-
Windows:
- 从 Google 下载 Platform Tools
- 将 zip 文件解压到您计算机上的某个位置(例如,
C:\android-sdk) - 将 Platform Tools 目录添加到您的 PATH 环境变量
-
macOS:
- 通过 Homebrew 安装:
brew install android-platform-tools - 或者从上面的链接下载 Platform Tools
- 通过 Homebrew 安装:
-
Linux:
- Ubuntu/Debian:
sudo apt-get install adb - Fedora:
sudo dnf install android-tools - 或者从上面的链接下载 Platform Tools
- Ubuntu/Debian:
连接您的 Android 设备
-
启用 USB 调试:
- 在您的 Android 设备上,转到设置 > 关于手机
- 点击“版本号”七次以启用开发者选项
- 返回到设置 > 系统 > 开发者选项
- 启用“USB 调试”
-
连接设备:
- 使用 USB 数据线将您的手机连接到您的计算机
- 接受手机上的 USB 调试授权提示
- 通过在您的终端/命令提示符中运行
adb devices来验证连接 - 您应该看到您的设备列为“device”(而不是“unauthorized”或“offline”)
-
故障排除:
- 如果您的设备显示为“unauthorized”,请检查您的手机上是否有提示
- 如果未显示任何设备,请尝试:
- 不同的 USB 数据线或端口
- 使用
adb kill-server后跟adb start-server重新启动 ADB 服务器 - 安装制造商特定的 USB 驱动程序(Windows)
验证连接
在使用此软件包之前,请验证 ADB 是否可以检测到您的设备:
# 检查您的设备是否已正确连接
adb devices
# 预期输出:
# List of devices attached
# XXXXXXXX device
配置
该插件包含几个可配置的选项,可以自定义:
国家代码
默认情况下,在拨打电话或发送消息时使用国家代码 +86(中国)。您可以通过编辑 config.py 文件来更改此设置:
# 在 phone_mcp/config.py 中
DEFAULT_COUNTRY_CODE = "+1" # 更改为您的国家代码(例如,美国为 "+1")
地图 API 密钥
要使用基于位置的 POI 搜索功能,您需要设置一个高德地图 API 密钥:
# 设置环境变量
export AMAP_MAPS_API_KEY="your_api_key_here"
只有设置了此环境变量,地图功能才会启用。
存储路径
可以自定义屏幕截图和录制路径:
# 设备上的屏幕截图存储位置
SCREENSHOT_PATH = "/sdcard/Pictures/Screenshots/"
# 设备上的屏幕录制存储位置
RECORDING_PATH = "/sdcard/Movies/"
命令行为
超时和自动重试设置:
# 等待命令完成的最长时间(秒)
COMMAND_TIMEOUT = 30
# 是否自动重试连接到设备
AUTO_RETRY_CONNECTION = True
# 最大连接重试次数
MAX_RETRY_COUNT = 3
功能
- 拨打和接听电话
- 发送和接收短信
- 截屏和录屏
- 控制媒体播放
- 打开应用程序和设置闹钟
- 检查设备连接
- 访问和管理联系人
用法
用作 MCP 插件
当用作 MCP 插件时,该功能将通过您的 MCP 界面提供。
命令行界面
该软件包还提供了一个命令行界面,用于直接访问手机功能:
# 检查设备连接(首先使用此命令来验证设置)
phone-cli check
# 拨打电话
phone-cli call 1234567890
# 结束当前通话
phone-cli hangup
# 发送短信
phone-cli send-sms 1234567890 "来自 CLI 的问候"
# 读取/检查最近的短信
phone-cli messages --limit 10
# 获取联系人
phone-cli contacts
# 截屏
phone-cli screenshot
# 录屏(默认 30 秒)
phone-cli record --duration 10
# 播放/暂停媒体
phone-cli media
# 启动应用程序
phone-cli app camera
# 设置闹钟
phone-cli alarm 7 30 --label "起床"
# 检查来电
phone-cli incoming
# 获取窗口信息
phone-cli window
# 获取应用快捷方式
phone-cli shortcuts --package com.android.calculator2
# 启动特定 Activity
phone-cli launch --component com.android.settings/.Settings\$WifiSettingsActivity
# 原始命令
phone-cli launch-activity --component com.android.settings/.Settings\$WifiSettingsActivity
# 地图 API 命令(仅在设置了 AMAP_MAPS_API_KEY 时可用)
# 按位置获取 POI 信息
phone-cli get-poi 116.480053,39.987005 --keywords 餐厅 --radius 1000
# get-poi 命令的别名
phone-cli map-around 116.480053,39.987005 --keywords 餐厅 --radius 1000
可用工具
通话功能
call_number: 拨打电话end_call: 结束当前通话receive_incoming_call: 处理来电check_device_connection: 检查设备是否已连接
消息功能
send_text_message: 发送短信receive_text_messages: 获取最近的消息
联系人功能
get_contacts: 从手机检索联系人
媒体功能
take_screenshot: 捕获屏幕start_screen_recording: 录制屏幕play_media: 控制媒体播放
应用功能
open_app: 启动应用程序set_alarm: 创建闹钟
系统功能
get_current_window: 获取有关当前活动窗口的信息get_app_shortcuts: 获取特定或所有软件包的应用快捷方式launch_activity: 使用自定义 Intent 启动特定的应用 Activity
地图功能
around_search: 搜索某个位置周围的 POIget_poi_info_by_location: 搜索 POI 信息,包括按位置的电话号码(CLI 中提供别名map-around)
开发
要为此项目做出贡献:
- 克隆存储库
- 安装开发依赖项:
pip install -e ".[dev]" - 进行更改
- 运行测试:
pytest
许可证
Apache License, Version 2.0
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。