This server automates Xiaohongshu (Little Red Book) operations through a browser automation layer built on Playwright and the Model Context Protocol. It exposes tools for account login, publishing image and text posts, uploading videos (MP4, MOV, AVI), searching content, fetching post details, and managing comments. You can pass local file paths or HTTP URLs for media. The implementation handles session persistence and auto-reconnect, running an async browser in the background. Reach for this when you need to integrate Xiaohongshu publishing into an AI workflow without manual browser interaction. It's designed for content creators and marketers who want to batch publish or trigger posts programmatically from other tools that speak MCP.
这是一个完整的AI社交媒体运营解决方案,由六个强大的项目组成,实现从内容生成、图像视频创作、平台操作到AI智能调度的全链路自动化。
xhs-image-mcp/src/image_video_mcp/skills/ 技能管理架构,通过 Markdown 文件组织和管理提示词技能,支持动态加载、参数格式化,实现提示词的模块化和可复用化[新对话] 请输入消息: 写个单身程序员如何找富婆的小红书,配9张图,其中有核心图有类似狂飙中大嫂陈舒婷
📤 发送中...
📥 最终生成的小红书
最终发布的小红书:


本仓库包含六个独立但协同工作的项目:
定位:上层智能调度系统,AI自主决策和执行运营任务
核心文件:
run.py:启动 FastAPI 服务器,提供 HTTP API 接口(默认端口 8012)chat.py:交互式聊天客户端,通过命令行与 AI Agent 对话适用场景:需要AI智能运营和自动化调度的场景
定位:内容文案生成引擎,提供AI内容创作能力
适用场景:需要AI生成小红书文案和内容的场景
定位:平台操作引擎,提供小红书平台的具体操作能力
适用场景:需要直接操作小红书平台的场景
定位:AI图像生成引擎,提供高质量图像创作能力
src/image_video_mcp/skills/ 架构,通过 Markdown 文件组织和管理提示词技能,支持动态加载、参数格式化,实现提示词的模块化和可复用化适用场景:需要AI生成图像内容的场景
定位:视频生成引擎,借鉴 MoneyPrinterTurbo 的视频生产逻辑
适用场景:需要AI生成剪辑风格视频的场景
定位:数据收集和分析引擎
适用场景:需要数据收集和分析的场景
┌─────────────────────────────────────────────────────────┐
│ AI Social Scheduler (智能调度层) │
│ - AI决策引擎 │
│ - 事件监听器 │
│ - 任务调度器 │
│ - 策略管理器 │
└───┬──────────┬──────────┬──────────┬──────────┬────────┘
│ MCP协议 │ MCP协议 │ MCP协议 │ MCP协议 │ MCP协议
↓ ↓ ↓ ↓ ↓
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│xhs-content │ │xhs-image-mcp │ │xhs-video-mcp │ │xhs-browser- │ │xhs-data- │
│generator │ │(图像生成) │ │(视频生成) │ │automation-mcp │ │collector-mcp │
│ │ │ │ │ │ │(平台操作) │ │(数据收集) │
│- 内容生成 │ │- 图像生成 │ │- 视频脚本生成 │ │- 内容发布 │ │- 数据收集 │
│- 文案创作 │ │- Prompt模板 │ │- TTS语音合成 │ │- 内容搜索 │ │- 数据分析 │
│ │ │- Resource │ │- 视频合成 │ │- 用户互动 │ │- 趋势识别 │
└──────────────┘ └──────────────┘ └──────────────┘ │- 账户管理 │ └──────────────┘
└────────┬────────┘
│ 浏览器自动化
↓
┌──────────┐
│ 小红书平台 │
└──────────┘
克隆项目
git clone git@github.com:luyike221/xiaohongshu-mcp-python.git
cd xiaohongshu-mcp-python
安装 uv 包管理器
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
安装项目依赖
安装图像生成 MCP 服务:
cd xhs-image-mcp
uv sync
安装视频生成 MCP 服务:
cd xhs-video-mcp
uv sync
安装小红书内容生成 MCP 服务:
cd xhs-content-generator-mcp
uv sync
安装小红书浏览器自动化 MCP 服务:
cd xhs-browser-automation-mcp
uv sync
uv run playwright install chromium
安装数据收集 MCP 服务:
cd xhs-data-collector-mcp
uv sync
安装 AI 调度系统:
cd ai_social_scheduler
uv sync
在 xhs-image-mcp 目录下创建 .env 文件:
# 服务器配置
MCP_HOST=127.0.0.1
MCP_PORT=8003
# 通义万相配置(图像生成)
WANT2I_API_KEY=your_api_key
WANT2I_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
在 xhs-video-mcp 目录下创建 .env 文件:
# LLM 配置
LLM_PROVIDER=openai # 或 moonshot, deepseek
OPENAI_API_KEY=your_openai_api_key
OPENAI_MODEL_NAME=gpt-3.5-turbo
# 视频素材配置(多个key用逗号分隔)
PEXELS_API_KEYS=your_pexels_api_key_1,your_pexels_api_key_2
PIXABAY_API_KEYS=your_pixabay_api_key
# 视频配置
VIDEO_OUTPUT_DIR=./output
MATERIAL_CACHE_DIR=./cache/materials
VIDEO_FPS=30
VIDEO_GPU_ACCELERATION=false # 启用GPU加速(需要NVIDIA GPU和NVENC支持)
VIDEO_CODEC=auto # 视频编码器: auto, libx264, h264_nvenc, hevc_nvenc
在 xhs-content-generator-mcp 目录下创建 .env 文件(可选):
# 服务器配置
MCP_HOST=0.0.0.0
MCP_PORT=8001
在 xhs-browser-automation-mcp 目录下创建 .env 文件:
# 环境模式: development 或 production
ENV=development
# 服务器配置
SERVER_HOST=127.0.0.1
SERVER_PORT=8000
# 默认用户
GLOBAL_USER=your_username
在 ai_social_scheduler 目录下创建配置文件:
cp config/config.example.yaml config/config.yaml
# 编辑 config/config.yaml 填入实际配置
cd xhs-image-mcp
uv run python -m image_video_mcp.main
服务将在 http://localhost:8003 启动。
cd xhs-video-mcp
# 使用启动脚本(推荐)
./start.sh
# 或使用 uv 命令
uv run xhs-video-mcp
# 或指定主机和端口
uv run xhs-video-mcp --host 0.0.0.0 --port 8005
服务将在 http://localhost:8005 启动(默认端口)。
cd xhs-content-generator-mcp
uv run python -m xhs_content_generator_mcp.main
服务将在 http://localhost:8001 启动(默认端口 8000,可通过参数指定)。
cd xhs-browser-automation-mcp
uv run python -m xiaohongshu_mcp_python.main
服务将在 http://localhost:8000 启动。
方式一:启动 HTTP API 服务(推荐)
使用 run.py 启动 FastAPI 服务器,提供 HTTP 接口:
cd ai_social_scheduler
uv run python run.py
服务将在 http://0.0.0.0:8012 启动,提供以下接口:
POST /api/v1/chat - 聊天接口,发送消息获取 AI 回复方式二:使用交互式聊天客户端
使用 chat.py 启动交互式命令行客户端:
cd ai_social_scheduler
uv run python chat.py
启动后可以:
quit 或 exit 退出reset 重置对话线程方式三:直接运行主程序
cd ai_social_scheduler
uv run python main.py
如果你需要生成小红书内容,可以使用 xhs-content-generator-mcp:
# 通过 MCP 客户端调用
{
"tool": "generate_content",
"parameters": {
"topic": "春日美食",
"content_type": "note"
}
}
如果你只需要直接操作小红书平台,可以使用 xhs-browser-automation-mcp:
# 通过 MCP 客户端调用
{
"tool": "xiaohongshu_publish_content",
"parameters": {
"title": "春日美景",
"content": "分享今天拍摄的美丽春景!",
"images": ["/path/to/image1.jpg", "/path/to/image2.jpg"],
"tags": ["春天", "摄影", "美景"]
}
}
如果你需要AI自主运营,可以使用 ai_social_scheduler:
方式一:使用交互式聊天客户端(最简单)
cd ai_social_scheduler
uv run python chat.py
启动后直接与 AI 对话:
[新对话] 请输入消息: 帮我写一篇关于美食的小红书
📤 发送中...
📥 AI 回复:
好的,我来帮你创建一篇关于美食的小红书内容...
方式二:通过 HTTP API 调用
cd ai_social_scheduler
uv run python run.py
curl -X POST http://localhost:8012/api/v1/chat \
-H "Content-Type: application/json" \
-d '{"message": "帮我写一篇关于美食的小红书"}'
AI 处理流程: 当你说"帮我写一篇关于美食的小红书"时,AI 会:
xhs-content-generator-mcp 生成内容文案xhs-image-mcp 生成配图xhs-browser-automation-mcp 发布内容视频生成流程: 当需要生成视频时,AI 会:
xhs-video-mcp 生成视频脚本所有项目可以完美集成,形成完整的运营闭环:
.
├── xhs-image-mcp/ # 图像生成 MCP 服务
│ ├── src/
│ │ └── image_video_mcp/
│ │ ├── main.py # 主程序入口
│ │ ├── clients/ # 客户端模块
│ │ ├── prompts/ # Prompt 模板
│ │ ├── resources/ # Resource 资源
│ │ ├── skills/ # Skills 技能管理系统(核心)
│ │ │ ├── skill_manager.py # 技能管理器
│ │ │ └── skills/ # 技能文件目录(Markdown格式)
│ │ └── ...
│ └── README.md # 详细文档
│
├── xhs-video-mcp/ # 视频生成 MCP 服务
│ ├── src/
│ │ └── xhs_video_mcp/
│ │ ├── main.py # 主程序入口
│ │ ├── services/ # 服务模块
│ │ │ ├── llm_service.py # LLM 服务
│ │ │ ├── voice_service.py # 语音服务
│ │ │ ├── subtitle_service.py # 字幕服务
│ │ │ ├── material_service.py # 素材服务
│ │ │ ├── video_service.py # 视频服务
│ │ │ └── video_generation_service.py # 主服务
│ │ ├── config/ # 配置管理
│ │ └── utils/ # 工具模块
│ ├── start.sh # 启动脚本
│ └── README.md # 详细文档
│
├── xhs-content-generator-mcp/ # 小红书内容生成 MCP 服务
│ ├── src/
│ │ └── xhs_content_generator_mcp/
│ │ ├── __init__.py
│ │ └── main.py # 主程序入口
│ ├── pyproject.toml
│ └── README.md # 详细文档
│
├── xhs-browser-automation-mcp/ # 小红书浏览器自动化 MCP 服务
│ ├── src/
│ │ └── xiaohongshu_mcp_python/
│ │ ├── main.py # 主程序入口
│ │ ├── server/ # MCP 服务器
│ │ ├── xiaohongshu/ # 小红书操作模块
│ │ └── ...
│ ├── tests/ # 测试文件
│ └── README.md # 详细文档
│
├── xhs-data-collector-mcp/ # 数据收集 MCP 服务
│ ├── src/
│ │ └── xhs_data_collector_mcp/
│ │ └── ...
│ └── README.md # 详细文档
│
├── ai_social_scheduler/ # AI 调度系统
│ ├── src/
│ │ └── ai_social_scheduler/
│ │ ├── core/ # AI调度核心层
│ │ │ ├── ai_engine.py # AI决策引擎
│ │ │ ├── event_listener.py # 事件监听器
│ │ │ └── ...
│ │ ├── api/ # FastAPI 接口层
│ │ │ ├── app.py # FastAPI 应用
│ │ │ └── ...
│ │ ├── mcp/ # MCP服务层
│ │ └── ...
│ ├── run.py # 启动 FastAPI 服务器
│ ├── chat.py # 交互式聊天客户端
│ ├── config/ # 配置文件
│ └── README.md # 详细文档
│
└── README.md # 本文件
在项目根目录创建 .cursor/mcp.json:
{
"mcpServers": {
"xhs-image-mcp": {
"url": "http://localhost:8003",
"description": "图像生成 MCP 服务"
},
"xhs-video-mcp": {
"url": "http://localhost:8005",
"description": "视频生成 MCP 服务"
},
"xhs-content-generator-mcp": {
"url": "http://localhost:8001",
"description": "小红书内容生成 MCP 服务"
},
"xhs-browser-automation-mcp": {
"url": "http://localhost:8000",
"description": "小红书浏览器自动化 MCP 服务"
},
"xhs-data-collector-mcp": {
"url": "http://localhost:8006",
"description": "数据收集 MCP 服务"
}
}
}
在配置文件中添加:
{
"mcpServers": {
"xhs-image-mcp": {
"url": "http://localhost:8003"
},
"xhs-video-mcp": {
"url": "http://localhost:8005"
},
"xhs-content-generator-mcp": {
"url": "http://localhost:8001"
},
"xhs-browser-automation-mcp": {
"url": "http://localhost:8000"
},
"xhs-data-collector-mcp": {
"url": "http://localhost:8006"
}
}
}
# 用户请求:"帮我写一篇关于美食的小红书"
#
# AI 调度系统处理流程:
# 1. 事件监听器接收用户请求
# 2. AI 引擎分析需求,生成内容计划:
# - 主题:美食
# - 内容方向:分享一道家常菜
# - 图片需求:需要3张图片
# - 标签:美食、家常菜、生活
# 3. 任务调度器调用 MCP 服务:
# - 生成内容(调用 xhs-content-generator-mcp)
# - 生成图片(调用 xhs-image-mcp)
# - 生成视频(调用 xhs-video-mcp,如需要)
# - 发布内容(调用 xhs-browser-automation-mcp)
# 4. 监控发布结果
# 5. 根据数据调整后续策略
# 设置定时任务:"每天下午3点发布一篇内容"
#
# AI 调度系统会:
# 1. 定时触发任务
# 2. AI 分析当天热点和用户偏好
# 3. 生成合适的内容
# 4. 自动发布
# 5. 收集数据并优化策略
使用 chat.py 与 AI Agent 进行对话:
$ cd ai_social_scheduler
$ uv run python chat.py
============================================================
小红书运营 Agent 交互式聊天
============================================================
提示:
- 输入消息后按 Enter 发送
- 输入 'quit' 或 'exit' 退出
- 输入 'reset' 重置对话
[新对话] 请输入消息: 帮我写一篇关于春日美食的小红书
📤 发送中...
📥 AI 回复:
好的,我来帮你创建一篇关于春日美食的小红书内容。让我先分析一下需求...
[对话 ID: a1b2c3d4...] 请输入消息: 标题要吸引人一点
📤 发送中...
📥 AI 回复:
好的,我会优化标题,让它更加吸引人...
消息数: 4
[对话 ID: a1b2c3d4...] 请输入消息: reset
✅ 对话已重置
[新对话] 请输入消息: quit
再见!
使用 run.py 启动服务后,可以通过 HTTP 调用:
# 启动服务
$ cd ai_social_scheduler
$ uv run python run.py
INFO: Started server process [12345]
INFO: Uvicorn running on http://0.0.0.0:8012
# 在另一个终端发送请求
$ curl -X POST http://localhost:8012/api/v1/chat \
-H "Content-Type: application/json" \
-d '{
"message": "帮我写一篇关于春日美食的小红书",
"thread_id": null
}'
{
"thread_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"response": "好的,我来帮你创建一篇关于春日美食的小红书内容...",
"message_count": 2
}
# 继续对话(使用相同的 thread_id)
$ curl -X POST http://localhost:8012/api/v1/chat \
-H "Content-Type: application/json" \
-d '{
"message": "标题要吸引人一点",
"thread_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}'
使用本工具产生的任何后果由使用者自行承担。请遵守平台规则,合理使用。
欢迎提交 Issue 和 Pull Request!
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-feature本项目采用 MIT 许可证。
⭐ 如果这个项目对你有帮助,请给它一个 Star!
Made with ❤️ by luyike221