使用说明
XHS MCP Pro - 小红书 MCP 专业版
一个功能增强的小红书 MCP (Model Context Protocol) 服务,提供批量操作、数据分析、定时任务、多账号管理等商业级功能。
✨ 核心特性
🚀 基础功能
- ✅ 小红书登录与状态检查 - 支持 Cookie 持久化和多账号管理
- ✅ 图文内容发布 - 支持 HTTP 图片链接(自动下载)和本地图片路径
- ✅ 视频内容发布 - 支持本地视频文件,自动等待处理完成
- ✅ 内容搜索 - 关键词搜索,支持多种筛选选项
- ✅ 内容浏览 - 获取推荐列表、帖子详情、用户主页
- ✅ 互动功能 - 发表评论、点赞、收藏
💼 商业价值创新功能
1. 批量操作系统 ⭐⭐⭐⭐⭐
- 批量发布: 一次操作处理多条内容,节省 90% 时间
- 并发控制: 智能控制并发数量,避免平台限制
- 重试机制: 自动重试失败的操作,提高成功率
- 进度跟踪: 实时查看批量任务进度和结果
- 延迟控制: 可配置每条内容之间的延迟
2. 定时任务调度 ⭐⭐⭐⭐⭐
- Cron 表达式: 支持灵活的定时任务配置
- 自动发布: 定时自动发布内容,无需人工干预
- 任务管理: 创建、查看、删除定时任务
- 执行历史: 记录任务执行历史和下次执行时间
3. 数据分析系统 ⭐⭐⭐⭐⭐
- 数据收集: 自动收集帖子互动数据
- 多维度分析: 支持日/周/月维度的数据分析
- 趋势分析: 分析内容发布趋势和互动趋势
- 标签分析: 统计热门标签和标签效果
4. 多账号管理 ⭐⭐⭐⭐
- 账号隔离: 支持管理多个小红书账号
- 快速切换: 快速切换不同账号进行操作
- 状态管理: 独立管理每个账号的登录状态
5. 内容模板系统 ⭐⭐⭐⭐
- 模板创建: 创建可复用的内容模板
- 分类管理: 按分类组织模板
- 快速发布: 使用模板快速生成和发布内容
🏗️ 技术架构
技术栈
- 语言: Go 1.21+
- Web 框架: Gin
- 浏览器自动化: go-rod
- MCP 协议: modelcontextprotocol/go-sdk
- 定时任务: robfig/cron
- 日志: logrus
架构设计
客户端层 (Claude Code / HTTP Client)
↓
接口层 (MCP Server + HTTP Server)
↓
服务层 (Service Aggregator)
↓
业务模块层 (Batch, Scheduler, Analytics, etc.)
↓
核心层 (Xiaohongshu Client)
↓
基础设施层 (go-rod, Gin, MCP SDK)
详细架构说明请查看 应用功能与架构说明.md
🚀 快速开始
环境要求
- Go 1.21 或更高版本
- Chrome/Chromium 浏览器
- macOS / Linux / Windows
安装
# 克隆仓库
git clone https://github.com/kirayoXkaki/xhs-mcp.git
cd xhs-mcp
# 安装依赖
go mod download
# 编译
go build -o xhs-mcp-pro .
配置
编辑 config.yaml 文件:
server:
port: ":18060"
browser:
headless: true # false 可以看到浏览器操作
timeout: 60
xiaohongshu:
cookie_path: "cookies" # Cookie 存储目录
business:
batch:
max_concurrency: 3 # 批量操作并发数
retry_times: 3 # 重试次数
retry_delay: 5 # 重试延迟(秒)
scheduler:
enabled: true
analytics:
enabled: true
运行
# 开发模式(可以看到浏览器操作)
./xhs-mcp-pro --headless=false
# 生产模式(无头模式)
./xhs-mcp-pro --headless=true
# 指定浏览器路径
./xhs-mcp-pro --bin="/path/to/chrome"
验证
访问健康检查接口:
curl http://localhost:18060/health
📖 使用文档
MCP 工具使用
1. 发布图文内容
{
"tool": "publish_content",
"arguments": {
"title": "标题",
"content": "内容描述",
"images": [
"https://example.com/image.jpg", // HTTP 链接(自动下载)
"/path/to/local/image.jpg" // 本地路径
],
"tags": ["美食", "旅行"]
}
}
2. 发布视频内容
{
"tool": "publish_video",
"arguments": {
"title": "视频标题",
"content": "视频描述",
"video": "/path/to/video.mp4",
"tags": ["美食", "教程"]
}
}
3. 批量发布
{
"tool": "batch_publish_content",
"arguments": {
"items": [
{
"title": "标题1",
"content": "内容1",
"images": ["/path/to/image1.jpg"],
"tags": ["标签1"]
}
],
"delay_seconds": 10
}
}
HTTP API 使用
发布图文
curl -X POST http://localhost:18060/api/v1/publish/content \
-H "Content-Type: application/json" \
-d '{
"title": "标题",
"content": "内容",
"images": ["/path/to/image.jpg"],
"tags": ["美食", "旅行"]
}'
创建定时任务
curl -X POST http://localhost:18060/api/v1/scheduler/tasks \
-H "Content-Type: application/json" \
-d '{
"type": "publish_content",
"content": {
"title": "定时发布",
"content": "内容",
"images": ["/path/to/image.jpg"]
},
"cron_expr": "0 0 9 * * *",
"account_id": "account_id"
}'
更多 API 文档请查看 API 文档
🔌 Claude Code 集成
配置 MCP 服务器
在 Claude Code 配置文件中添加:
{
"mcpServers": {
"xhs-mcp-pro": {
"command": "/path/to/xhs-mcp-pro",
"args": ["--headless", "true"],
"env": {
"ROD_BROWSER_BIN": "/path/to/chrome"
}
}
}
}
使用示例
直接对 Claude Code 说:
帮我写一篇帖子发布到小红书上,
配图为:https://example.com/image.jpg
使用 xiaohongshu-mcp 进行发布。
Claude Code 会自动调用 publish_content 工具完成发布。
详细使用说明请查看 使用说明-ClaudeCode.md
📁 项目结构
xhs-mcp-pro/
├── main.go # 程序入口
├── mcp_server.go # MCP 服务器
├── app_server.go # HTTP 服务器
├── handlers_api.go # API 处理器
├── config.yaml # 配置文件
├── go.mod # Go 模块
├── internal/
│ ├── config/ # 配置管理
│ ├── service/ # 核心服务
│ ├── types/ # 类型定义
│ ├── xiaohongshu/ # 小红书客户端
│ │ ├── client.go # 客户端封装
│ │ ├── publish.go # 图文发布
│ │ └── publish_video.go # 视频发布
│ └── business/ # 商业功能模块
│ ├── batch.go # 批量操作
│ ├── scheduler.go # 定时任务
│ ├── analytics.go # 数据分析
│ ├── account.go # 账号管理
│ └── template.go # 模板管理
├── cookies/ # Cookie 存储目录
└── docs/ # 文档目录
⚙️ 配置说明
命令行参数
./xhs-mcp-pro \
--headless=false \ # 是否无头模式
--bin="/path/to/chrome" \ # 浏览器路径
--port=":18060" \ # 服务端口
--config="config.yaml" # 配置文件路径
环境变量
# 指定浏览器路径
export ROD_BROWSER_BIN="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
配置文件
详细配置说明请查看 config.yaml
🔒 安全与合规
- ⚠️ 仅供学习研究使用
- ⚠️ 禁止用于任何违法行为
- ⚠️ 遵守小红书平台使用规范
- ⚠️ 注意账号安全,避免频繁操作
🐛 常见问题
Q: 如何登录小红书账号?
A: 目前需要手动登录并保存 Cookie。未来版本会支持二维码登录。
- 使用浏览器登录小红书
- 导出 Cookie 到
cookies/目录 - 在创建账号时指定 Cookie 路径
Q: 批量操作失败怎么办?
A: 系统会自动重试。检查:
- 登录状态是否有效
- 内容是否符合平台规范
- 查看任务详情了解失败原因
Q: 支持哪些图片格式?
A: 支持常见图片格式:
- JPEG/JPG
- PNG
- GIF
- WebP
Q: 如何查看日志?
A: 日志默认输出到控制台。可以通过配置修改:
log:
level: "debug" # debug, info, warn, error
output: "stdout" # stdout 或文件路径
更多问题请查看 常见问题
📊 功能对比
| 功能 | 原版 xiaohongshu-mcp | XHS MCP Pro |
|---|---|---|
| 批量操作 | ❌ | ✅ |
| 定时任务 | ❌ | ✅ |
| 数据分析 | ❌ | ✅ |
| 多账号管理 | ❌ | ✅ |
| 内容模板 | ❌ | ✅ |
| API 限流 | ❌ | ✅ |
| HTTP 图片链接 | ❌ | ✅ |
🛣️ 开发路线图
- [x] 基础功能框架
- [x] 批量操作
- [x] 定时任务
- [x] 数据分析
- [x] 多账号管理
- [ ] 完善 Cookie 加载
- [ ] 二维码登录
- [ ] Web 管理界面
- [ ] 数据库持久化
- [ ] 智能标签推荐
🤝 贡献
欢迎提交 Issue 和 Pull Request!
贡献指南
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
📄 许可证
本项目采用 MIT 许可证。详情请查看 LICENSE 文件。
🙏 致谢
- 本项目参考了 xiaohongshu-mcp 项目的架构设计
- 感谢所有贡献者的支持
📞 联系方式
- Issues: GitHub Issues
- Email: [your-email@example.com]
⭐ 如果这个项目对你有帮助,请给个 Star!⭐
Made with ❤️ by kirayoXkaki