Skill: sipingme/xiaohongshu-mcp-node-skill (version 0.1.0)

--- name: xiaohongshu-mcp-node description: 通过 MCP 协议操作小红书平台，支持内容发布、搜索、互动等完整功能 version: 1.0.0 author: Ping Si <[REDACTED_SECRET]> type: mcp-server requires: - mcpServer: xiaohongshu-mcp-node - node: ">=20.0.0" - browser: chromium tags: - xiaohongshu - mcp - social-media - automation repository: https://github.com/sipingme/xiaohongshu-mcp-node-skill mcpServer: https://github.com/sipingme/xiaohongshu-mcp-node --- # 小红书 MCP Skill 通过 Model Context Protocol 让 AI 能够操作小红书平台。 ## 🏗️ 架构说明 本 Skill 是一个 MCP Server 集成配置，实际功能由 [xiaohongshu-mcp-node](https://github.com/sipingme/xiaohongshu-mcp-node) MCP Server 提供。 ``` OpenClaw/AI Agent ↓ (读取 Skill 配置) xiaohongshu-mcp-node-skill ↓ (启动 MCP Server) xiaohongshu-mcp-node ↓ (MCP Protocol - 13 Tools) 小红书平台 ``` ## 🎯 何时使用此 Skill 当用户需要操作小红书平台时，AI 会自动调用相应的 MCP 工具： ### 账号管理 - 登录小红书账号 - 检查登录状态 ### 内容发布 - 发布图文笔记（标题、正文、图片、标签） - 发布视频内容 ### 内容搜索 - 搜索小红书内容 - 获取推荐列表 - 查看内容详情 ### 互动功能 - 发表评论 - 点赞/取消点赞 - 收藏/取消收藏 - 获取评论列表 **触发关键词**： - "发布到小红书"、"小红书发布" - "搜索小红书"、"在小红书上搜索" - "小红书评论"、"评论这条小红书" - "点赞小红书"、"收藏小红书内容" ## 📋 前置要求 ### 1. 安装 xiaohongshu-mcp-node MCP Server ```bash # 克隆并构建 MCP Server git clone https://github.com/sipingme/xiaohongshu-mcp-node.git cd xiaohongshu-mcp-node # 安装依赖 npm install # 安装浏览器 npx playwright install chromium # 构建项目 npm run build # 首次登录（获取 Cookie） npm run login ``` ### 2. 配置 OpenClaw 在 OpenClaw 的 MCP 配置中添加： ```json { "mcpServers": { "xiaohongshu": { "command": "node", "args": ["/path/to/xiaohongshu-mcp-node/dist/index.js"], "env": { "HEADLESS": "true", "COOKIES_PATH": "/path/to/cookies.json" } } } } ``` ### 3. 安装 Skill 文档 ```bash # 克隆 Skill 配置和文档 git clone https://github.com/sipingme/xiaohongshu-mcp-node-skill.git cp -r xiaohongshu-mcp-node-skill ~/.openclaw/skills/xiaohongshu/ ``` ## 🚀 标准操作流程 (SOP) ### 操作 1：检查登录状态 **场景**：在执行任何操作前，先确认登录状态 **MCP 工具**：`xhs_check_login` **步骤**： 1. AI 调用 `xhs_check_login` 工具 2. 解析返回结果 3. 如果未登录，引导用户登录 **输出示例**： ```json { "isLoggedIn": true, "username": "用户名" } ``` **异常处理**： - 如果 `isLoggedIn: false`，执行操作 2（登录流程） - 如果 Cookie 过期，提示用户重新登录 --- ### 操作 2：登录小红书 **场景**：首次使用或 Cookie 过期 **MCP 工具**：`xhs_get_qrcode` **步骤**： 1. AI 调用 `xhs_get_qrcode` 工具获取二维码 2. 向用户展示二维码（Base64 图片） 3. 提示用户使用小红书 App 扫码 4. 扫码成功后，Cookie 自动保存 **输出示例**： ```json { "image": "data:image/png;base64,iVBORw0KG...", "timeout": "4m" } ``` **异常处理**： - 二维码过期：重新调用工具 - 扫码失败：检查网络连接 --- ### 操作 3：发布图文内容 **场景**：用户提供标题、正文和图片，发布到小红书 **MCP 工具**：`xhs_publish_note` **步骤**： 1. 验证用户已登录（调用 `xhs_check_login`） 2. 收集发布信息： - 标题（必需，最多20字） - 正文内容（必需） - 图片路径列表（必需，至少1张，最多9张） - 标签（可选，最多10个） - 是否原创（可选） - 可见范围（可选：public/private/friends） 3. 调用 `xhs_publish_note` 工具： ```json { "title": "文章标题", "content": "文章正文内容...", "imagePaths": ["/path/to/image1.jpg", "/path/to/image2.jpg"], "tags": ["标签1", "标签2"], "isOriginal": true, "visibility": "public" } ``` 4. 等待发布完成（可能需要30-60秒） 5. 向用户报告结果 **输出示例**： ```json { "success": true, "noteId": "abc123", "message": "发布成功" } ``` **异常处理**： - 标题超过20字：提示用户修改 - 图片不存在：提示用户检查路径 - 未登录：先执行登录流程 - 网络错误：重试或提示用户 --- ### 操作 3：发布视频内容 **场景**：用户提供标题、正文和视频文件 **步骤**： ```bash xhs-cli publish-video \ --title-file /tmp/title.txt \ --content-file /tmp/content.txt \ --video /path/to/video.mp4 \ --tags "视频" "教程" ``` **参数说明**： - `--title` 或 `--title-file`：标题（必需） - `--content` 或 `--content-file`：正文内容（必需） - `--video`：视频文件路径（必需） - `--tags`：标签列表（可选） - `--visibility`：可见范围（可选） **注意事项**： - 视频上传时间较长（5-10分钟） - 视频大小限制：通常不超过 1GB - 支持格式：MP4, MOV 等 --- ### 操作 4：搜索内容 **场景**：用户想搜索小红书上的内容 **步骤**： ```bash xhs-cli search \ --keyword "Node.js" \ --sort-by "综合" \ --note-type "图文" ``` **参数说明**： - `--keyword`：搜索关键词（必需） - `--sort-by`：排序方式（可选） - `--note-type`：笔记类型（可选） - `--publish-time`：发布时间（可选） **输出示例**： ```json { "success": true, "count": 20, "feeds": [ { "id": "abc123", "xsecToken": "xyz789", "title": "Node.js 开发技巧", "user": { "userId": "user123", "nickname": "技术博主", "avatar": "https://..." }, "cover": "https://...", "likeCount": "1.2k", "commentCount": "89" } ], "message": "找到 20 条结果" } ``` --- ### 操作 5：获取内容详情 **场景**：用户想查看某条内容的详细信息 **步骤**： ```bash xhs-cli get-detail \ --feed-id "abc123" \ --xsec-token "xyz789" \ --load-all-comments ``` **参数说明**： - `--feed-id`：内容ID（必需，从搜索结果中获取） - `--xsec-token`：安全令牌（必需，从搜索结果中获取） - `--load-all-comments`：加载所有评论（可选） **输出包含**： - 完整标题和正文 - 所有图片URL - 用户信息 - 点赞数、评论数 - 评论列表 --- ### 操作 6：发表评论 **场景**：用户想对某条内容发表评论 **步骤**： ```bash cat > /tmp/comment.txt << 'EOF' 很棒的分享！学到了很多。 EOF xhs-cli comment \ --feed-id "abc123" \ --xsec-token "xyz789" \ --content-file /tmp/comment.txt ``` **参数说明**： - `--feed-id`：内容ID（必需） - `--xsec-token`：安全令牌（必需） - `--content` 或 `--content-file`：评论内容（必需） --- ### 操作 7：点赞内容 **场景**：用户想点赞某条内容 **步骤**： ```bash # 点赞 xhs-cli like \ --feed-id "abc123" \ --xsec-token "xyz789" # 取消点赞 xhs-cli like \ --feed-id "abc123" \ --xsec-token "xyz789" \ --unlike ``` --- ### 操作 8：收藏内容 **场景**：用户想收藏某条内容 **步骤**： ```bash # 收藏 xhs-cli favorite \ --feed-id "abc123" \ --xsec-token "xyz789" # 取消收藏 xhs-cli favorite \ --feed-id "abc123" \ --xsec-token "xyz789" \ --unfavorite ``` --- ### 操作 9：获取推荐列表 **场景**：用户想查看推荐内容 **步骤**： ```bash xhs-cli list-feeds ``` **输出**：返回20条推荐内容，格式同搜索结果 --- ## 📊 输入输出规范 ### 命令行输出格式 所有命令统一使用 JSON 格式输出： **成功响应**： ```json { "success": true, "message": "操作成功", "data": { ... } } ``` **错误响应**： ```json { "success": false, "error": "错误信息" } ``` ### 标题长度限制 小红书标题最多 **20个字**，计算规则： - 中文字符、全角字符：每个计 1 个字 - 英文字母、数字、半角字符：每个计 0.5 个字 如果超长，需要提示用户修改或自动截断。 ### 图片要求 - **格式**：JPG, PNG, GIF, WEBP - **数量**：图文发布至少 1 张，最多 9 张 - **大小**：单张不超过 10MB - **来源**：支持本地路径和 URL（自动下载） ### 视频要求 - **格式**：MP4, MOV - **大小**：不超过 1GB - **时长**：建议 15秒 - 5分钟 --- ## ⚠️ 常见问题和解决方案 ### 问题 1：未登录或 Cookie 过期 **症状**：提示"未登录"或操作失败 **解决**： ```bash xhs-cli login ``` 扫码重新登录 ### 问题 2：标题超过长度限制 **症状**：提示"标题验证失败" **解决**： - 检查标题长度（中文20字，英文40字符） - 修改标题或使用更简洁的表达 ### 问题 3：图片上传失败 **症状**：提示"图片上传失败" **原因**： - 图片路径错误 - 图片格式不支持 - 图片大小超限 - 网络问题 **解决**： - 检查图片路径是否正确 - 确认图片格式（JPG/PNG/GIF） - 压缩图片到 10MB 以下 - 检查网络连接 ### 问题 4：浏览器自动化失败 **症状**：提示"页面元素未找到" **原因**：小红书页面结构变化 **解决**： - 更新 xiaohongshu-mcp-node 到最新版本 - 报告问题到 GitHub Issues ### 问题 5：找不到命令 **症状**：`xhs-cli: command not found` **解决**： ```bash # 确认安装 npm list -g xiaohongshu-mcp-node-skill # 重新安装 npm install -g xiaohongshu-mcp-node-skill # 检查 PATH which xhs-cli ``` --- ## 🔒 安全性说明 ### 敏感信息处理 - Cookie 存储在本地文件中（默认 `./cookies.json`） - 不会上传任何数据到第三方服务器 - 所有通信仅限于小红书官方网站 ### 权限要求 - 读取本地文件（图片、视频、文本） - 网络访问（小红书网站） - 写入 Cookie 文件 - 浏览器控制（Playwright） ### 数据隐私 - ❌ 不会收集用户信息 - ❌ 不会上传到第三方服务器 - ✅ 所有操作仅在本地执行 - ✅ Cookie 仅存储在本地 --- ## 🎓 示例对话 **用户**：帮我把这篇文章发布到小红书 **AI**：好的，我来帮你发布。请提供以下信息： 1. 文章标题（最多20字） 2. 文章正文 3. 配图（至少1张） 4. 标签（可选） **用户**：[提供内容和图片] **AI**：收到！我将为你发布到小红书。 [执行命令] ```bash xhs-cli publish \ --title "Node.js 开发技巧分享" \ --content "..." \ --images /tmp/img1.jpg /tmp/img2.jpg \ --tags "Node.js" "编程" "技术分享" \ --original ``` **AI**：✅ 文章已成功发布到小红书！ - 标题：Node.js 开发技巧分享 - 图片：2 张 - 状态：发布完成 --- ## 📚 参考资料 - [项目 GitHub](https://github.com/sipingme/xiaohongshu-mcp-node-skill) - [xiaohongshu-mcp-node 核心库](https://github.com/sipingme/xiaohongshu-mcp-node) - [快速开始指南](./references/quick-start.md) - [常见问题 FAQ](./references/faq.md) --- ## 📝 维护说明 - **版本**: 1.0.0 - **最后更新**: 2026-03-20 - **维护者**: Ping Si <[REDACTED_SECRET]> - **许可证**: Apache-2.0 --- ## ✅ 首次成功检查清单 新用户应该能在 5 分钟内完成： - [ ] 安装工具：`npm install -g xiaohongshu-mcp-node xiaohongshu-mcp-node-skill` - [ ] 检查安装：`xhs-cli --version` - [ ] 登录账号：`xhs-cli login`（扫码） - [ ] 检查登录：`xhs-cli check-login` - [ ] 测试发布：准备图片和内容，执行发布命令 - [ ] 在小红书 App 中看到发布的内容 如果以上步骤都能顺利完成，说明 Skill 已正确配置！


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)