adb-sms
adb-sms MCP
Чтение SMS-кодов подтверждения Android через ADB для выполнения веб-входа по SMS в Cursor Agent совместно с chrome-devtools.
Принцип проектирования: номера телефонов настраиваются пользователем в
devices.json; adb отвечает только за определение serial устройства и чтение OTP из SMS.
Принцип работы
USB 连接手机(adb devices → serial)
│
├─ devices.json[serial].phone_numbers → Web 填手机号
│
└─ adb 读短信 inbox → adb_wait_for_otp 拿验证码Related MCP server: Android Forensics ADB MCP Server
Структура проекта
mcp-adb-sms/
├── server.py # MCP 服务入口
├── adb_client.py # ADB 设备 / 短信读取
├── sms_parser.py # 短信与 OTP 解析
├── test_local.py # 本地自检(不启动 MCP)
├── requirements.txt
├── devices.json.example # 手机号配置模板(提交到 git)
├── devices.json # 本地配置(git 忽略,需自行创建)
└── README.mdПредварительные требования
На Android-телефоне включена отладка по USB и выдан доступ компьютеру
adb devicesпоказываетdevice(неunauthorized)Python 3.10+ (рекомендуется 3.12)
Android platform-tools (включая
adb)
Установка
git clone https://github.com/zalazp/mcp-adb-sms.git
cd mcp-adb-sms
py -3.12 -m pip install -r requirements.txtНастройка номеров телефонов (обязательно)
Номера телефонов не считываются adb — запишите их самостоятельно в devices.json:
copy devices.json.example devices.jsonВыполните
adb devicesи запишите serial (например,10AD410LNF000PX)Используя serial в качестве ключа, укажите все номера телефонов этого устройства
{
"10AD410LNF000PX": {
"phone_numbers": [
"18317840243",
"19139582095"
]
}
}Настройка Cursor
Отредактируйте %USERPROFILE%\.cursor\mcp.json:
{
"mcpServers": {
"adb-sms": {
"command": "py",
"args": [
"-3.12",
"E:\\path\\to\\mcp-adb-sms\\server.py"
],
"env": {
"ADB_PATH": "D:\\RJAZ\\Sdk\\platform-tools\\adb.exe"
}
}
}
}Поле | Описание |
путь в | укажите абсолютный путь к |
| абсолютный путь к |
После сохранения перезапустите Cursor — в панели MCP adb-sms должен стать зелёным.
Локальная самопроверка
cd mcp-adb-sms
$env:ADB_PATH="D:\RJAZ\Sdk\platform-tools\adb.exe"
py -3.12 test_local.pyПример корректного вывода:
{
"adb_exists": true,
"devices": [{ "serial": "10AD410LNF000PX", "state": "device" }],
"sms_readable": true,
"sim_numbers": [
{ "number": "13800138000", "available": true },
{ "number": "13900139000", "available": true }
],
"device_profile": { "source": "devices.json" }
}Если в recommendations указано, что отсутствует конфигурация, создайте devices.json, как описано выше.
Инструменты MCP
Инструмент | Описание |
| диагностика adb, читаемости SMS и наличия конфигурации |
| список подключённых ADB-устройств |
| чтение номеров телефонов текущего serial из |
| чтение последних N SMS |
| опрос и ожидание нового OTP после отправки кода на веб-странице |
| попытка выдать shell разрешение на чтение SMS на Android 11+ |
| ограниченный adb shell (команды из белого списка) |
Типовой процесс Agent (вход по SMS)
1. adb_health_check()
2. adb_get_sim_numbers() ← 从 devices.json 取手机号
3. chrome-devtools: 打开登录页、填号、勾选协议
4. chrome-devtools: 滑块验证码(失败则人工完成)
5. chrome-devtools: 点击「发送验证码」
6. adb_wait_for_otp(timeout=90, sender_filter="Midea|美的")
7. chrome-devtools: 填入验证码并登录Если SMS не читаются
adb shell appops set com.android.shell READ_SMS allowИли вызовите в Agent adb_grant_sms_permission, а затем выполните adb_health_check.
Если это по-прежнему не помогает, MCP попытается прочитать SMS из уведомлений через dumpsys notification (с меньшей точностью).
Примечания по безопасности
Читает SMS только с локального устройства, подключённого по USB
Не сохраняет содержимое SMS на диск
devices.jsonсодержит номера телефонов и уже в.gitignore— не публикуйте его в открытых репозиторияхadb_shellразрешает только команды из белого списка: content / dumpsys / getprop и т.п.Только для собственных устройств или сценариев тестирования с разрешения владельца
Лицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Hands CAPTCHAs, 2FA codes and approvals from your agent to your human with one tap.
Hosted two-way SMS bridge: your coding agent texts you when it needs an answer; you reply by SMS.
Send push to Android, iOS and the web, and ask a trusted phone to approve a login, from your agent.
Drive cloud Android phones on US mobile IPs. Read the screen, tap, type, install apps and run tasks.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables control of Android devices via ADB, allowing screenshot capture, touch simulation, and swipe gestures through natural language commands.22103 npm6MIT
- FlicenseAqualityDmaintenanceEnables forensic investigators to acquire data from Android devices via ADB, including device backup, artifact collection, and secure command execution.105-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to retrieve SMS messages from Android devices via ADB.1-
- AlicenseAqualityDmaintenanceEnables an agent to inspect and interact with Android emulators or physical devices via ADB, capturing UI snapshots, tapping nodes, typing text, and reading app logs.10MIT