adb-sms
adb-sms MCP
Lee los códigos de verificación por SMS de Android a través de ADB, para que Cursor Agent, junto con chrome-devtools, complete el inicio de sesión por SMS en la Web.
Principio de diseño: el número de teléfono lo configura el usuario en
devices.json; adb solo se encarga de identificar el serial del dispositivo + leer el OTP de los SMS.
Cómo funciona
USB 连接手机(adb devices → serial)
│
├─ devices.json[serial].phone_numbers → Web 填手机号
│
└─ adb 读短信 inbox → adb_wait_for_otp 拿验证码Related MCP server: ScoutlyMCP
Estructura del proyecto
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.mdRequisitos previos
Activa la depuración USB en el teléfono Android y autoriza la computadora
adb devicesmuestradevice(nounauthorized)Python 3.10+ (se recomienda 3.12)
Android platform-tools (incluye
adb)
Instalación
git clone https://github.com/zalazp/mcp-adb-sms.git
cd mcp-adb-sms
py -3.12 -m pip install -r requirements.txtConfigurar el número de teléfono (obligatorio)
El número de teléfono no lo lee adb, escríbelo tú mismo en devices.json:
copy devices.json.example devices.jsonEjecuta
adb devices, anota el serial (por ejemplo,10AD410LNF000PX)Usa el serial como clave e introduce todos los números de teléfono de ese dispositivo
{
"10AD410LNF000PX": {
"phone_numbers": [
"18317840243",
"19139582095"
]
}
}Configuración de Cursor
Edita %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"
}
}
}
}Campo | Descripción |
Ruta en | Cámbiala a la ruta absoluta de |
| Ruta absoluta de |
Después de guardar, reinicia Cursor; adb-sms debería ponerse verde en el panel de MCP.
Autocomprobación local
cd mcp-adb-sms
$env:ADB_PATH="D:\RJAZ\Sdk\platform-tools\adb.exe"
py -3.12 test_local.pyEjemplo de salida normal:
{
"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" }
}Si recommendations indica que falta configuración, crea devices.json como se indicó anteriormente.
Herramientas MCP
Herramienta | Descripción |
| Diagnostica adb, la legibilidad de los SMS y si |
| Lista los dispositivos ADB conectados |
| Lee los números de teléfono del serial actual desde |
| Lee los últimos N SMS |
| Tras hacer clic en "enviar código" en la Web, espera sondeando un nuevo OTP |
| Intenta autorizar a shell para leer SMS en Android 11+ |
| adb shell restringido (comandos de lista blanca) |
Flujo típico del Agent (inicio de sesión por 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: 填入验证码并登录Cuando no se pueden leer los SMS
adb shell appops set com.android.shell READ_SMS allowO llama a adb_grant_sms_permission en el Agent y luego ejecuta adb_health_check.
Si aún falla, MCP intentará leer los SMS de la barra de notificaciones mediante dumpsys notification como alternativa degradada (menor precisión).
Notas de seguridad
Solo lee los SMS de dispositivos locales conectados por USB
No persiste el contenido de los SMS en el disco
devices.jsoncontiene números de teléfono y ya está en.gitignore; no lo subas a repositorios públicosadb_shellsolo permite comandos de lista blanca como content / dumpsys / getpropSolo para dispositivos propios o escenarios de prueba autorizados
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Let AI agents securely read the text messages on your phone.
Send and read SMS from your own Android phone and number. No per-message fees from smsportal.
Scoped Android SMS access for AI agents, with Hebrew invoices, OTP, and tracking.
Hands CAPTCHAs, 2FA codes and approvals from your agent to your human with one tap.
Related MCP Servers
- 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
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to use a real Android phone with a SIM to retrieve phone numbers, receive SMS verification codes, and manage SMS messages.-