adb-sms
adb-sms MCP
Liest Android-SMS-Verifizierungscodes über ADB, damit der Cursor Agent in Verbindung mit chrome-devtools die Web-SMS-Anmeldung durchführen kann.
Designprinzip: Die Telefonnummer wird vom Benutzer in
devices.jsonkonfiguriert; adb ist nur für die Erkennung der Geräte-Serialnummer + das Lesen des SMS-OTP zuständig.
Funktionsweise
USB 连接手机(adb devices → serial)
│
├─ devices.json[serial].phone_numbers → Web 填手机号
│
└─ adb 读短信 inbox → adb_wait_for_otp 拿验证码Related MCP server: ScoutlyMCP
Projektstruktur
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.mdVoraussetzungen
Android-Handy mit aktiviertem USB-Debugging und autorisiertem Computer
adb deviceszeigtdevice(nichtunauthorized)Python 3.10+ (empfohlen 3.12)
Android platform-tools (enthält
adb)
Installation
git clone https://github.com/zalazp/mcp-adb-sms.git
cd mcp-adb-sms
py -3.12 -m pip install -r requirements.txtTelefonnummer konfigurieren (erforderlich)
Die Telefonnummer wird nicht von adb gelesen. Bitte tragen Sie sie selbst in devices.json ein:
copy devices.json.example devices.jsonFühren Sie
adb devicesaus und notieren Sie die Serialnummer (z. B.10AD410LNF000PX)Verwenden Sie die Serialnummer als Schlüssel und tragen Sie alle Telefonnummern dieses Geräts ein
{
"10AD410LNF000PX": {
"phone_numbers": [
"18317840243",
"19139582095"
]
}
}Cursor-Konfiguration
Bearbeiten Sie %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"
}
}
}
}Feld | Beschreibung |
Pfad in | Auf den absoluten Pfad von |
| Absoluter Pfad zu |
Nach dem Speichern Cursor neu starten; adb-sms im MCP-Bedienfeld sollte grün werden.
Lokaler Selbsttest
cd mcp-adb-sms
$env:ADB_PATH="D:\RJAZ\Sdk\platform-tools\adb.exe"
py -3.12 test_local.pyBeispiel für normale Ausgabe:
{
"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" }
}Wenn recommendations auf fehlende Konfiguration hinweist, erstellen Sie devices.json wie oben beschrieben.
MCP-Tools
Tool | Beschreibung |
| Diagnostiziert adb, SMS-Lesbarkeit und ob |
| Listet verbundene ADB-Geräte auf |
| Liest die Telefonnummern der aktuellen Serialnummer aus |
| Liest die letzten N SMS-Nachrichten |
| Pollt und wartet auf neues OTP, nachdem im Web auf „Code senden“ geklickt wurde |
| Versuch auf Android 11+, der Shell das Lesen von SMS zu erlauben |
| Eingeschränkte adb-Shell (Whitelist-Befehle) |
Typischer Agent-Ablauf (SMS-Anmeldung)
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: 填入验证码并登录Wenn SMS nicht gelesen werden können
adb shell appops set com.android.shell READ_SMS allowOder rufen Sie im Agent adb_grant_sms_permission auf und führen Sie dann adb_health_check aus.
Bei weiterem Fehlschlag versucht MCP, über dumpsys notification als Fallback SMS aus der Benachrichtigungsleiste zu lesen (geringere Genauigkeit).
Sicherheitshinweise
Liest nur SMS von per USB verbundenen lokalen Geräten
SMS-Inhalte werden nicht dauerhaft auf der Festplatte gespeichert
devices.jsonenthält Telefonnummern und ist in.gitignore; nicht in öffentliche Repositories committenadb_shellerlaubt nur Whitelist-Befehle wie content / dumpsys / getpropNur für eigene Geräte oder autorisierte Testszenarien
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.-