🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Xiaohongshu Mcp Node

by @sipingme

通过 MCP 协议操作小红书平台,支持内容发布、搜索、互动等完整功能

Versionv0.1.0
Downloads773
TERMINAL
clawhub install xiaohongshu-mcp-node-skill

📖 About This Skill


name: xiaohongshu-mcp-node description: 通过 MCP 协议操作小红书平台,支持内容发布、搜索、互动等完整功能 version: 1.0.0 author: Ping Si 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 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

    # 克隆并构建 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 配置中添加:

    {
      "mcpServers": {
        "xiaohongshu": {
          "command": "node",
          "args": ["/path/to/xiaohongshu-mcp-node/dist/index.js"],
          "env": {
            "HEADLESS": "true",
            "COOKIES_PATH": "/path/to/cookies.json"
          }
        }
      }
    }
    

    3. 安装 Skill 文档

    # 克隆 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. 如果未登录,引导用户登录

    输出示例

    {
      "isLoggedIn": true,
      "username": "用户名"
    }
    

    异常处理

  • 如果 isLoggedIn: false,执行操作 2(登录流程)
  • 如果 Cookie 过期,提示用户重新登录

  • 操作 2:登录小红书

    场景:首次使用或 Cookie 过期

    MCP 工具xhs_get_qrcode

    步骤

    1. AI 调用 xhs_get_qrcode 工具获取二维码 2. 向用户展示二维码(Base64 图片) 3. 提示用户使用小红书 App 扫码 4. 扫码成功后,Cookie 自动保存

    输出示例

    {
      "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 工具:

    {
      "title": "文章标题",
      "content": "文章正文内容...",
      "imagePaths": ["/path/to/image1.jpg", "/path/to/image2.jpg"],
      "tags": ["标签1", "标签2"],
      "isOriginal": true,
      "visibility": "public"
    }
    

    4. 等待发布完成(可能需要30-60秒)

    5. 向用户报告结果

    输出示例

    {
      "success": true,
      "noteId": "abc123",
      "message": "发布成功"
    }
    

    异常处理

  • 标题超过20字:提示用户修改
  • 图片不存在:提示用户检查路径
  • 未登录:先执行登录流程
  • 网络错误:重试或提示用户

  • 操作 3:发布视频内容

    场景:用户提供标题、正文和视频文件

    步骤

    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:搜索内容

    场景:用户想搜索小红书上的内容

    步骤

    xhs-cli search \
      --keyword "Node.js" \
      --sort-by "综合" \
      --note-type "图文"
    

    参数说明

  • --keyword:搜索关键词(必需)
  • --sort-by:排序方式(可选)
  • --note-type:笔记类型(可选)
  • --publish-time:发布时间(可选)
  • 输出示例

    {
      "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:获取内容详情

    场景:用户想查看某条内容的详细信息

    步骤

    xhs-cli get-detail \
      --feed-id "abc123" \
      --xsec-token "xyz789" \
      --load-all-comments
    

    参数说明

  • --feed-id:内容ID(必需,从搜索结果中获取)
  • --xsec-token:安全令牌(必需,从搜索结果中获取)
  • --load-all-comments:加载所有评论(可选)
  • 输出包含

  • 完整标题和正文
  • 所有图片URL
  • 用户信息
  • 点赞数、评论数
  • 评论列表

  • 操作 6:发表评论

    场景:用户想对某条内容发表评论

    步骤

    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:点赞内容

    场景:用户想点赞某条内容

    步骤

    # 点赞
    xhs-cli like \
      --feed-id "abc123" \
      --xsec-token "xyz789"

    取消点赞

    xhs-cli like \ --feed-id "abc123" \ --xsec-token "xyz789" \ --unlike


    操作 8:收藏内容

    场景:用户想收藏某条内容

    步骤

    # 收藏
    xhs-cli favorite \
      --feed-id "abc123" \
      --xsec-token "xyz789"

    取消收藏

    xhs-cli favorite \ --feed-id "abc123" \ --xsec-token "xyz789" \ --unfavorite


    操作 9:获取推荐列表

    场景:用户想查看推荐内容

    步骤

    xhs-cli list-feeds
    

    输出:返回20条推荐内容,格式同搜索结果


    📊 输入输出规范

    命令行输出格式

    所有命令统一使用 JSON 格式输出:

    成功响应

    {
      "success": true,
      "message": "操作成功",
      "data": { ... }
    }
    

    错误响应

    {
      "success": false,
      "error": "错误信息"
    }
    

    标题长度限制

    小红书标题最多 20个字,计算规则:

  • 中文字符、全角字符:每个计 1 个字
  • 英文字母、数字、半角字符:每个计 0.5 个字
  • 如果超长,需要提示用户修改或自动截断。

    图片要求

  • 格式:JPG, PNG, GIF, WEBP
  • 数量:图文发布至少 1 张,最多 9 张
  • 大小:单张不超过 10MB
  • 来源:支持本地路径和 URL(自动下载)
  • 视频要求

  • 格式:MP4, MOV
  • 大小:不超过 1GB
  • 时长:建议 15秒 - 5分钟

  • ⚠️ 常见问题和解决方案

    问题 1:未登录或 Cookie 过期

    症状:提示"未登录"或操作失败

    解决

    xhs-cli login
    
    扫码重新登录

    问题 2:标题超过长度限制

    症状:提示"标题验证失败"

    解决

  • 检查标题长度(中文20字,英文40字符)
  • 修改标题或使用更简洁的表达
  • 问题 3:图片上传失败

    症状:提示"图片上传失败"

    原因

  • 图片路径错误
  • 图片格式不支持
  • 图片大小超限
  • 网络问题
  • 解决

  • 检查图片路径是否正确
  • 确认图片格式(JPG/PNG/GIF)
  • 压缩图片到 10MB 以下
  • 检查网络连接
  • 问题 4:浏览器自动化失败

    症状:提示"页面元素未找到"

    原因:小红书页面结构变化

    解决

  • 更新 xiaohongshu-mcp-node 到最新版本
  • 报告问题到 GitHub Issues
  • 问题 5:找不到命令

    症状xhs-cli: command not found

    解决

    # 确认安装
    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:收到!我将为你发布到小红书。

    [执行命令]

    xhs-cli publish \
      --title "Node.js 开发技巧分享" \
      --content "..." \
      --images /tmp/img1.jpg /tmp/img2.jpg \
      --tags "Node.js" "编程" "技术分享" \
      --original
    

    AI:✅ 文章已成功发布到小红书!

  • 标题:Node.js 开发技巧分享
  • 图片:2 张
  • 状态:发布完成

  • 📚 参考资料

  • 项目 GitHub
  • xiaohongshu-mcp-node 核心库
  • 快速开始指南
  • 常见问题 FAQ

  • 📝 维护说明

  • 版本: 1.0.0
  • 最后更新: 2026-03-20
  • 维护者: Ping Si
  • 许可证: 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 已正确配置!