xiaohongshu-mcp-python是一个基于现代Python技术栈开发的小红书内容自动化发布工具,通过Model Context Protocol (MCP)协议为AI客户端提供强大的小红书操作能力。 项目核心功能包括小红书账户登录管理、图文内容发布、视频内容发布、内容搜索与获取、帖子详情查看以及评论互动等。支持多种图片格式(JPG、PNG、GIF)和视频格式(MP4、MOV、AVI),既可处理本地文件路径,也支持HTTP/HTTPS链接,为用户提供灵活的内容发布方案。 该工具特别适合内容创作者、营销人员和开发者使用,能够显著提升小红书内容发布的效率和自动化程度。通过标准化的MCP接口,用户可以轻松地将小红书操作能力集成到各种AI工作流中,实现智能化的内容管理和发布。
🚀 AI 社交媒体运营全栈解决方案
✨ 项目简介
这是一个完整的AI社交媒体运营解决方案,由四个强大的项目组成,实现从内容生成、平台操作到AI智能调度的全链路自动化。
🎯 核心价值
- 🤖 AI自主运营:AI模型自主决策和执行运营任务,无需人工干预
- 🔄 事件驱动:智能响应用户请求、平台通知、定时任务等多种事件
- 📊 数据驱动:基于数据分析自动优化内容策略和发布时机
- 🔌 模块化设计:内容生成、平台操作、AI调度三层架构,灵活可扩展
- 🎨 内容创作:AI自动生成图像和视频,支持完整的内容创作流程
- 📱 多平台支持:支持小红书、抖音、快手等平台(逐步扩展)
📖 使用指南
场景一:生成内容、图片、并发布于小红书
[新对话] 请输入消息: 写个单身程序员如何找富婆的小红书,配9张图,其中有核心图有类似狂飙中大嫂陈舒婷
📤 发送中...
📥 最终生成的小红书
最终发布的小红书:


🏗️ 项目架构
本仓库包含四个独立但协同工作的项目:
1️⃣ ai_social_scheduler - AI 调度核心层
定位:上层智能调度系统,AI自主决策和执行运营任务
- 🤖 AI自主驱动:AI模型分析运营目标,自动生成和执行计划
- 🔄 事件响应:支持用户请求、平台通知、定时任务等多种事件
- 📊 策略优化:基于数据分析自动调整内容策略
- 🎨 内容创作:AI生成内容创作计划,调用底层服务执行
- 📈 数据分析:内容表现分析、趋势识别、热点追踪
- 🌐 HTTP API 服务:提供 FastAPI 接口,支持 HTTP 调用
- 💬 交互式聊天:提供命令行聊天客户端,方便快速体验
核心文件:
run.py:启动 FastAPI 服务器,提供 HTTP API 接口(默认端口 8012)chat.py:交互式聊天客户端,通过命令行与 AI Agent 对话
适用场景:需要AI智能运营和自动化调度的场景
2️⃣ xhs-content-generator-mcp - 小红书内容生成 MCP 服务层
定位:内容文案生成引擎,提供AI内容创作能力
- ✍️ 内容生成:基于主题生成小红书笔记、标题、描述等内容
- 🎯 多类型支持:支持笔记、标题、描述等多种内容类型
- 🚀 FastMCP框架:使用 FastMCP 快速构建 MCP 服务
- 🔌 MCP协议实现:完整支持 Model Context Protocol 规范
- 🎨 智能创作:AI驱动的智能内容创作
适用场景:需要AI生成小红书文案和内容的场景
3️⃣ xhs-browser-automation-mcp - 小红书浏览器自动化 MCP 服务层
定位:平台操作引擎,提供小红书平台的具体操作能力
- 🎯 MCP协议实现:完整实现 Model Context Protocol 规范
- 🚀 高性能:基于 Playwright 的异步浏览器自动化
- 📝 内容发布:支持图文、视频内容发布
- 🔍 内容管理:搜索、获取、互动等完整功能
- 🔐 账户管理:登录、会话保持、自动重连
适用场景:需要直接操作小红书平台的场景
4️⃣ image_video_mcp - 图像视频生成 MCP 服务层
定位:内容创作引擎,提供AI图像和视频生成能力
- 🎨 图像生成:基于提示词生成高质量图像(支持通义万相)
- 🎬 视频生成:基于提示词生成视频内容
- 🚀 FastMCP框架:使用 FastMCP 快速构建 MCP 服务
- 🔌 MCP协议实现:完整支持 Model Context Protocol 规范
- ⚙️ 灵活配置:支持自定义尺寸、种子、负面提示词等参数
适用场景:需要AI生成图像或视频内容的场景
🔗 协同工作
┌─────────────────────────────────────────┐
│ AI Social Scheduler (智能调度层) │
│ - AI决策引擎 │
│ - 事件监听器 │
│ - 任务调度器 │
│ - 策略管理器 │
└───┬──────────┬──────────┬───────────────┘
│ MCP协议 │ MCP协议 │ MCP协议
↓ ↓ ↓
┌──────────────┐ ┌──────────────┐ ┌────────────────────┐
│xhs-content │ │image_video_mcp│ │xhs-browser-auto-mcp │
│generator │ │(图像视频生成) │ │ (平台操作服务层) │
│ │ │ │ │ │
│- 内容生成 │ │- 图像生成 │ │- 小红书内容发布 │
│- 文案创作 │ │- 视频生成 │ │- 内容搜索与获取 │
│ │ │ │ │- 用户互动管理 │
└──────────────┘ └──────────────┘ │- 账户管理 │
└────────┬───────────┘
│ 浏览器自动化
↓
┌──────────┐
│ 小红书平台 │
└──────────┘
🎯 核心功能
🤖 AI 智能运营
- 自主决策:AI分析运营目标,自动生成内容创作计划
- 智能调度:根据数据表现自动调整发布策略和时机
- 事件响应:实时响应平台通知、用户请求、定时任务
- 策略优化:基于历史数据持续优化运营策略
🎨 内容生成
- 图像生成:基于提示词AI生成高质量图像
- 视频生成:基于提示词AI生成视频内容
- 文案生成:AI生成小红书笔记、标题、描述等内容
- 参数定制:支持自定义尺寸、种子、负面提示词等
- 批量生成:支持批量生成和异步处理
📝 内容发布
- 图文发布:支持多图片、标签、标题和描述
- 视频发布:支持视频上传、自动等待处理完成
- 批量操作:支持批量发布和定时发布
- 内容管理:搜索、获取、编辑内容
📊 数据分析
- 表现分析:阅读量、点赞、评论、转发等数据统计
- 趋势识别:内容趋势分析和热点识别
- 用户洞察:粉丝增长、互动率等用户数据
- 策略建议:基于数据自动生成优化建议
🔍 内容管理
- 内容搜索:关键词搜索小红书内容
- 推荐获取:获取首页推荐列表
- 详情分析:获取帖子详情和互动数据
- 用户管理:获取用户主页信息
🚀 快速开始
📋 环境要求
- Python >= 3.11
- uv 包管理器
- 支持的操作系统:Linux, macOS, Windows
🔧 安装步骤
-
克隆项目
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 image_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安装 AI 调度系统:
cd ai_social_scheduler uv sync
⚙️ 配置
图像视频生成 MCP 服务配置
在 image_video_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
小红书内容生成 MCP 服务配置
在 xhs-content-generator-mcp 目录下创建 .env 文件(可选):
# 服务器配置
MCP_HOST=0.0.0.0
MCP_PORT=8001
小红书浏览器自动化 MCP 服务配置
在 xhs-browser-automation-mcp 目录下创建 .env 文件:
# 环境模式: development 或 production
ENV=development
# 服务器配置
SERVER_HOST=127.0.0.1
SERVER_PORT=8000
# 默认用户
GLOBAL_USER=your_username
AI 调度系统配置
在 ai_social_scheduler 目录下创建配置文件:
cp config/config.example.yaml config/config.yaml
# 编辑 config/config.yaml 填入实际配置
🎯 启动服务
启动图像视频生成 MCP 服务
cd image_video_mcp
uv run python -m image_video_mcp.main
服务将在 http://localhost:8003 启动。
启动小红书内容生成 MCP 服务
cd xhs-content-generator-mcp
uv run python -m xhs_content_generator_mcp.main
服务将在 http://localhost:8001 启动(默认端口 8000,可通过参数指定)。
启动小红书浏览器自动化 MCP 服务
cd xhs-browser-automation-mcp
uv run python -m xiaohongshu_mcp_python.main
服务将在 http://localhost:8000 启动。
启动 AI 调度系统
方式一:启动 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
启动后可以:
- 直接输入消息与 AI Agent 对话
- 输入
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"
}
}
场景二:直接使用小红书浏览器自动化 MCP 服务
如果你只需要直接操作小红书平台,可以使用 xhs-browser-automation-mcp:
# 通过 MCP 客户端调用
{
"tool": "xiaohongshu_publish_content",
"parameters": {
"title": "春日美景",
"content": "分享今天拍摄的美丽春景!",
"images": ["/path/to/image1.jpg", "/path/to/image2.jpg"],
"tags": ["春天", "摄影", "美景"]
}
}
场景三:使用 AI 智能运营
如果你需要AI自主运营,可以使用 ai_social_scheduler:
方式一:使用交互式聊天客户端(最简单)
cd ai_social_scheduler
uv run python chat.py
启动后直接与 AI 对话:
[新对话] 请输入消息: 帮我写一篇关于美食的小红书
📤 发送中...
📥 AI 回复:
好的,我来帮你创建一篇关于美食的小红书内容...
方式二:通过 HTTP API 调用
- 启动 API 服务:
cd ai_social_scheduler
uv run python run.py
- 发送 HTTP 请求:
curl -X POST http://localhost:8012/api/v1/chat \
-H "Content-Type: application/json" \
-d '{"message": "帮我写一篇关于美食的小红书"}'
AI 处理流程: 当你说"帮我写一篇关于美食的小红书"时,AI 会:
- 分析美食主题和需求
- 调用
xhs-content-generator-mcp生成内容文案 - 调用
image_video_mcp生成配图 - 调用
xhs-browser-automation-mcp发布内容 - 监控发布结果
- 根据数据调整后续策略
场景四:完整集成使用
所有项目可以完美集成,形成完整的运营闭环:
- AI 调度系统监听事件(用户请求、定时任务等)
- AI 决策引擎分析需求,生成执行计划
- 内容生成服务生成文案和图片
- 任务调度器调用 MCP 服务执行具体操作
- 数据分析收集结果,优化策略
🛠️ 技术栈
核心技术
- Python 3.11+:主要开发语言
- uv:现代 Python 包管理工具
- MCP 协议:服务间通信标准
- LangGraph:AI Agent 框架
- Playwright:浏览器自动化
- FastAPI:Web 服务框架
数据存储
- SQLite/PostgreSQL:关系型数据存储
- Redis:缓存和任务队列
- pgvector:向量数据库(用于AI功能)
📁 项目结构
.
├── image_video_mcp/ # 图像视频生成 MCP 服务
│ ├── src/
│ │ └── image_video_mcp/
│ │ ├── main.py # 主程序入口
│ │ ├── clients/ # 客户端模块
│ │ ├── prompts/ # Prompt 模板
│ │ ├── resources/ # Resource 资源
│ │ └── ...
│ └── 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 # 详细文档
│
├── 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 # 本文件
🔌 MCP 客户端接入
Cursor IDE
在项目根目录创建 .cursor/mcp.json:
{
"mcpServers": {
"image-video-mcp": {
"url": "http://localhost:8003",
"description": "图像视频生成 MCP 服务"
},
"xhs-content-generator-mcp": {
"url": "http://localhost:8001",
"description": "小红书内容生成 MCP 服务"
},
"xhs-browser-automation-mcp": {
"url": "http://localhost:8000",
"description": "小红书浏览器自动化 MCP 服务"
}
}
}
Claude Desktop
在配置文件中添加:
{
"mcpServers": {
"image-video-mcp": {
"url": "http://localhost:8003"
},
"xhs-content-generator-mcp": {
"url": "http://localhost:8001"
},
"xhs-browser-automation-mcp": {
"url": "http://localhost:8000"
}
}
}
🎨 功能演示
AI 自主运营示例
# 用户请求:"帮我写一篇关于美食的小红书"
#
# AI 调度系统处理流程:
# 1. 事件监听器接收用户请求
# 2. AI 引擎分析需求,生成内容计划:
# - 主题:美食
# - 内容方向:分享一道家常菜
# - 图片需求:需要3张图片
# - 标签:美食、家常菜、生活
# 3. 任务调度器调用 MCP 服务:
# - 生成内容(调用 xhs-content-generator-mcp)
# - 生成图片(调用 image_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
再见!
HTTP API 使用示例
使用 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"
}'
⚠️ 注意事项
🔒 账户安全
- 同一账户不要在多个浏览器端同时登录
- 定期检查登录状态,及时处理 Cookie 过期
- 建议使用专门的小红书账户进行自动化操作
📊 使用限制
- 遵守小红书平台规则和相关法律法规
- 合理控制发布频率,避免被平台限制
- 本项目仅供学习和研究使用
🛡️ 风险提示
使用本工具产生的任何后果由使用者自行承担。请遵守平台规则,合理使用。
🤝 贡献
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建特性分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m 'Add amazing feature' - 推送分支:
git push origin feature/amazing-feature - 提交 Pull Request
📄 许可证
本项目采用 MIT 许可证。
🙏 致谢
- Model Context Protocol - MCP 协议标准
- Playwright - 浏览器自动化工具
- uv - 现代 Python 包管理工具
- LangGraph - AI Agent 框架
⭐ 如果这个项目对你有帮助,请给它一个 Star!
Made with ❤️ by luyike221