基于 ADB 的微信自动化 MCP 服务器,提供通过自然语言命令发送微信消息和自动截屏功能,使 AI 能够自动回复来自多个联系人的个性化消息,满足商业和个人生活需求。适应闪电模拟器(LDP Player 9),并通过 MCP 协议暴露工具接口。蓝云 MCP 开发挑战赛的入口文件是 main.exe。
send_wechat_message(name, message) - 发送微信消息screen_save() - 保存截屏D:\Program\leidian\LDPlayer9\adb.exe devices
查看结果示例:
列出的设备
127.0.0.1:5555 设备
emulator-5554 设备
选择第一个端口(例如 127.0.0.1:5555)填入 main.py 中的 DEVICE 变量可以使用 conda 或 uv 创建环境,推荐使用 Python 3.13:
# 使用 conda
conda create -n mcp-wechat python=3.13
conda activate mcp-wechat
# 或使用 uv
uv venv
uv pip install "mcp[cli]"
只需安装 pip install "mcp[cli]" 库即可。
main.py 中的 ldplayer_dir 变量main.py 中的 DEVICE 变量(例如 "127..0.1:5555")main.py:
python main.py
运行后,MCP SSE 服务将启动并注册以下工具:
send_wechat_message(name: str, message: str) -> str
screen_save() -> str
screens/ 目录下mcp.json 文件中写入:
{
"mcpServers": {
"plus": {
"url": "http://127.0.0.1:8000/sse"
}
}
}
ADBKeyboard.apk 目录下的文件不能缺失,这是闪电模拟器中用于 ADB 输入中文的插件screens 目录下{模拟器路径}\adb.exe devices 命令查看可用设备端口main.py:MCP 服务入口,注册工具并运行 FastMCP(SSE 传输)。wechat_example.py:封装微信相关操作(进入对话、输入、发送等)。adb_utils.py:ADB 基础能力(连接、点击、激活输入法、截屏、分辨率、活动检测等)。ADBKeyboard.apk:通过广播进行文本输入所需的输入法 APK(首次自动安装并激活)。screens/:截屏输出目录(自动创建)。配置好 MCP 后,可以直接在 Cursor 的代理中使用以下功能:
给 AAA 说我感冒了,写一个请假条发给他
帮我截图
给 AAA、 BBB 发信息说我今晚不回家,分别截图
演示视频:
⚠️ AAA 和 BBB 需要是微信联系人或群聊中可搜索的名字或备注,以便准确找到指定的人并根据名字进入对话
🚀 本项目成功地将 adb 操作整合进 MCP,允许 AI 自由操作模拟器。随着多模态大模型的发展和进步,截屏可以输入到具有图像理解和定位能力的大模型(如 GLM-4.5V)中,使得 AI 代理能够通过 MCP 观察并完全自动化每一步,完成手机上的任何任务。
建议在 Windows 中使用原始字符串或双斜杠作为路径分隔符,例如:
ldplayer_install_dir = r"D:\\Program\\leidian\\LDPlayer9"
首次运行时会自动检查并安装/激活 ADBKeyboard.apk,如果自动激活失败,可以手动执行,例如:
"D:\Program\leidian\LDPlayer9\adb.exe" -s 127.0.0.1:5555 install -r ADBKeyboard.apk
"D:\Program\leidian\LDPlayer9\adb.exe" -s 127.0.0.1:5555 shell ime enable com.android.adbkeyboard/.AdbIME
"D:\Program\leidian\LDPlayer9\adb.exe" -s 127.0.0.1:5555 shell ime set com.android.adbkeyboard/.AdbIME
adb.exe 路径是否正确且可执行
"D:\Program\leidian\LDPlayer9\adb.exe" devices
"D:\Program\leidian\LDPlayer9\adb.exe" connect 127.0.0.1:5555
"D:\Program\leidian\LDPlayer9\adb.exe" -s 127.0.0.1:5555 shell screencap -p /sdcard/screen.png
ld_adb_address 是否一致。DEVICE 变量是否一致。本项目采用 MIT 许可证。
注意事项:
pyproject.toml 避免打包排除规则 runtime/、screens/ 等内容发布在发行包中