📱 Mobile MCP AI
让 Cursor 直接控制手机的 MCP 工具
🎬 演示
✨ 核心特性
📱 平台支持
| 平台 | 支持状态 | 系统要求 | 配置指南 |
|---|---|---|---|
| Android | ✅ 完整支持 | Windows / macOS / Linux | 开箱即用 |
| iOS | ✅ 完整支持 | macOS(必须) | iOS 配置指南 → |
📦 安装
pip install mobile-mcp-ai
升级到最新版
pip install --upgrade mobile-mcp-ai
查看当前版本
pip show mobile-mcp-ai
📱 连接设备
Android 设备
确保手机已开启 USB 调试,然后:
adb devices
看到设备列表即表示连接成功。
iOS 设备(macOS)
iOS 自动化需要额外配置 WebDriverAgent,请参考:
快速检查连接:
tidevice list
🎯 新用户快速入门
第一步:安装
pip install mobile-mcp-ai
第二步:连接设备
Android 用户:
# 开启手机 USB 调试,连接电脑
adb devices
iOS 用户:
# 安装依赖
pip install tidevice facebook-wda
brew install libimobiledevice
# 检查连接
tidevice list
📖 iOS 需要额外配置 WebDriverAgent,详见 iOS 配置指南
第三步:配置 Cursor
编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"mobile-automation": {
"command": "mobile-mcp"
}
}
}
💡 提示:会自动检测 Android/iOS 设备,无需额外配置
第四步:重启 Cursor
保存配置后,重启 Cursor 使配置生效。
第五步:开始使用
在 Cursor 中输入:
@MCP 检查设备连接
@MCP 截图看看当前页面
@MCP 点击"登录"按钮
⚙️ 高级配置
方式一:pip 安装后配置(推荐)
先安装:pip install mobile-mcp-ai
{
"mcpServers": {
"mobile-automation": {
"command": "mobile-mcp"
}
}
}
方式二:源码方式配置
如果你是从源码运行:
Android 配置:
{
"mcpServers": {
"mobile-automation": {
"command": "/path/to/your/venv/bin/python",
"args": ["-m", "mobile_mcp.mcp_tools.mcp_server"],
"cwd": "/path/to/mobile_mcp",
"env": {
"MOBILE_PLATFORM": "android"
}
}
}
}
iOS 配置:
{
"mcpServers": {
"mobile-automation": {
"command": "/path/to/your/venv/bin/python",
"args": ["-m", "mobile_mcp.mcp_tools.mcp_server"],
"cwd": "/path/to/mobile_mcp",
"env": {
"MOBILE_PLATFORM": "ios"
}
}
}
}
⚠️ 请将
/path/to/替换为你的实际路径📖 iOS 需要先配置 WebDriverAgent,详见 iOS 配置指南
保存后重启 Cursor。
🚀 使用示例
在 Cursor 中直接对话:
基础操作
@MCP 列出当前页面所有元素
@MCP 点击"登录"按钮
@MCP 在用户名输入框输入 test123
应用控制
@MCP 启动微信
@MCP 打开抖音,向上滑动 3 次
@MCP 列出手机上所有已安装的应用
截图分析
@MCP 截图看看当前页面
@MCP 截图,然后点击页面上的搜索图标
测试脚本生成
@MCP 帮我测试登录流程:输入用户名密码,点击登录
@MCP 把刚才的操作生成 pytest 测试脚本
组合操作
@MCP 打开设置,找到 WLAN,点进去截图
@MCP 打开微信,点击发现,再点击朋友圈
🛠️ 工具列表
| 类别 | 工具 | 说明 |
|---|---|---|
| 📋 | mobile_list_elements |
列出页面元素 |
| 📸 | mobile_take_screenshot |
截图 |
| 📐 | mobile_get_screen_size |
屏幕尺寸 |
| 👆 | mobile_click_by_text |
文本点击 |
| 👆 | mobile_click_by_id |
ID 点击 |
| 👆 | mobile_click_at_coords |
坐标点击 |
| ⌨️ | mobile_input_text_by_id |
ID 输入 |
| ⌨️ | mobile_input_at_coords |
坐标输入 |
| 👆 | mobile_swipe |
滑动 |
| ⌨️ | mobile_press_key |
按键 |
| ⏱️ | mobile_wait |
等待 |
| 📦 | mobile_launch_app |
启动应用 |
| 📦 | mobile_terminate_app |
终止应用 |
| 📦 | mobile_list_apps |
列出应用 |
| 📱 | mobile_list_devices |
列出设备 |
| 🔌 | mobile_check_connection |
检查连接 |
| ✅ | mobile_assert_text |
断言文本 |
| 📜 | mobile_get_operation_history |
操作历史 |
| 🗑️ | mobile_clear_operation_history |
清空历史 |
| 📝 | mobile_generate_test_script |
生成测试脚本 |
📞 联系作者
添加微信交流(备注:mobile-mcp)
📄 License
Apache 2.0
Metadata
Release files for mobile-mcp-ai1 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mobile_mcp_ai1-1.1.0.tar.gz | 55.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mobile_mcp_ai1-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 112.7 kB
Release files / mobile_mcp_ai1-1.1.0.tar.gz
| Download URL | mobile_mcp_ai1-1.1.0.tar.gz |
|---|---|
| Size | 55.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c95d587c2e562f41fa3e0afe12c9d26cb1edc18a25e32640451ce612d184c1b
|
|
BLAKE2b-256 checksum How to use checksums |
2f3bfbddff7fedf59c4e91fa174390db286c85f5de7d35afe2741e197cfcfde3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.4
|
Release files / mobile_mcp_ai1-1.1.0-py3-none-any.whl
| Download URL | mobile_mcp_ai1-1.1.0-py3-none-any.whl |
|---|---|
| Size | 56.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9465f79a623c46f683c94ebc0597182da2967a047b93d4feae00aa1f4f57cdfa
|
|
BLAKE2b-256 checksum How to use checksums |
7ee1dd3e30de09195fe518db4ff1b03021559437e1cc6232053cc0c4660145ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.4
|