开源一个小红书内容发布MCP
起因是我之前在玩儿 xiaohongshu-mcp 时被警告使用了AI工具运营账号……而我确实是用了openclaw玩儿了几次。既然不行,那就手搓一个使用 uiautomator 的方式来玩儿它的工具吧。

#1. 这是什么服务?
🤔 一句话解释:一个通过 AI 自动发布小红书笔记的工具
📱 能做什么:
自动发布小红书笔记(图片 + 标题 + 正文 + 标签)
单独推送图片到手机相册
检查手机连接状态
🧐 工作原理:
AI → MCP服务器 → 控制手机(ADB+uiautomator2) → 自动操作小红书APP
#📁 可用工具
工具说明publish_note发布完整的小红书笔记(图片+标题+正文+标签)push_image_to_phone仅推送图片到手机相册check_device_status检查设备连接状态
#2. 准备工作
#2.1 环境要求
要求说明Python3.10 或更高版本Android 手机已开启 USB 调试网络手机和电脑在同一 WiFi 下
#2.2 安装依赖
打开终端/命令行,运行:
pip install "mcp[cli]" uiautomator2
#2.3 连接手机
# 确保手机开启 USB 调试后,连接电脑
adb tcpip 5555
adb connect ip:5555
# 首次使用需要初始化 uiautomator2
python -m uiautomator2 init
⚠️ 提示:将
ip:5555改成你的手机 IP 地址
#2.4 修改配置
编辑 mcp_server.py,找到顶部的设备配置:
did = "ip:5555" # 改成你的手机IP
#3. 安装启动
#3.1 启动服务
python mcp_server.py
启动成功后,会看到类似这样的输出:
==================================================
🚀 启动小红书笔记发布MCP服务
==================================================
📱 连接设备: ip:5555
🌐 服务地址: http://0.0.0.0:8000
📡 MCP 端点: http://0.0.0.0:8000/mcp
🛠️ 可用工具:
1. publish_note - 发布小红书笔记
2. push_image_to_phone - 推送图片到手机
3. check_device_status - 检查设备状态
==================================================
<#&!53#&!>
#3.2 配置 AI 客户端(可选)
如果你使用 Claude Desktop,可以在配置文件中添加:
{
"mcpServers": {
"小红书笔记发布": {
"url": "http://localhost:8000/mcp"
}
}
}


#3.3 技术架构
MCP Client (Claude/AI)
│
▼
┌─────────────────────┐
│ MCP Server (:8000) │
│ streamable-http │
├─────────────────────┤
│ publish_note() │
│ adb_push_image() ──► ADB ──► 手机
│ push_content() ──► uiautomator2 ──► 小红书 APP
└─────────────────────┘
#4. 如何使用
#4.1 基础发布
直接告诉 AI 你想发什么,例如:
帮我发一条小红书笔记,标题是"布纳哈本2026岛节酒发布",内容是关于这款威士忌的品鉴记录,图片用这个链接:https://example.com/whisky.jpg,标签带上 #威士忌 #有瓶酒APP
AI 会自动完成以下步骤:
1. 下载图片 → URL 下载到本地
2. ADB Push → 推送图片到手机 /sdcard/Pictures/
3. 媒体扫描 → 触发 MediaScanner 让相册识别新图片
4. 打开小红书 → app_start("com.xingin.xhs")
5. 点击 ➕ → 计算"市集"和"消息"之间的中心点,点击发布按钮
6. 从相册选择 → 选择刚推送的图片
7. 两次下一步 → 跳过图片编辑页
8. 填写标题 → set_text(title)
9. 填写正文 → 内容 + 标签拼接后写入
10. 发布笔记 → 点击"发布笔记"按钮
#4.2 单独推送图片
如果只需要推送图片:
推送这张图片到手机:https://example.com/photo.jpg
#4.3 检查状态
检查手机连接状态
#5. 常见问题
#❓ 手机连不上?
确认手机已开启 USB 调试
检查 IP 地址是否正确
尝试重新连接:
adb connect 你的手机IP:5555
#❓ 图片发不出去?
检查网络能否访问图片 URL
确认小红书 APP 已登录
检查手机存储空间是否充足

#❓ 发布失败?
确保手机屏幕常亮(设置 → 显示 → 保持唤醒)
检查小红书是否弹出升级提示
确认发布频率不要太高
#❓ 发布按钮位置不准?
发布按钮通过"市集"和"消息"两个 Tab 的坐标自动计算中心点,兼容不同屏幕分辨率。如果位置有偏差,可能需要调整代码中的偏移量。
#⚡ 快速开始
# 1. 安装
pip install "mcp[cli]" uiautomator2
# 2. 连接手机
adb connect ip:5555
# 3. 初始化(首次)
python -m uiautomator2 init
# 4. 启动服务
python mcp_server.py
# 5. 告诉 AI 要发什么
#
#📁 项目结构
xhs_mcp_u2/
├── mcp_server.py # MCP 服务主文件
├── README.md # 项目说明
└── requirements.txt # Python 依赖
#💡 注意事项
手机需要保持屏幕常亮,建议开启开发者选项中的"保持唤醒状态"
小红书 APP 需要提前登录
网络环境需要能访问图片 URL(服务端下载图片后通过 ADB 推送)
发布频率不宜过高,避免触发小红书风控
首次使用会自动关闭小红书的"发现新版本"升级弹窗
仓库地址⬇️
https://github.com/LeanFly/xhs-mcp-u2
