前言

在数字化营销的时代,小红书作为中国最大的生活方式分享平台之一,已经成为众多品牌和个人创作者的重要运营阵地。然而,手动运营小红书账号需要投入大量的时间和精力:每天发布内容、回复评论、分析数据等重复性工作让人应接不暇。

今天我要为大家介绍一个强大的工具——xiaohongshu-mcp,这是一个基于Model Context Protocol (MCP)的自动化工具,可以帮助你实现小红书的智能化运营,大大提升运营效率。

什么是xiaohongshu-mcp?

xiaohongshu-mcp是一个开源的自动化工具,专为小红书平台设计。它通过模拟浏览器操作的方式,实现了小红书的大部分核心功能,包括内容发布、互动管理、数据获取等。

核心特性

  •  安全登录:支持二维码登录,自动管理登录状态
  •  内容发布:支持图文和视频内容发布
  •  内容搜索:强大的搜索功能,支持多种筛选条件
  •  数据获取:获取推荐内容、帖子详情、用户主页等
  •  互动管理:自动点赞、收藏、评论
  •  AI集成:支持MCP协议,可与Claude Code、Cursor、VSCode、Cline、AnythingLLM、Cherry Studio、n8n等AI工具集成

功能详解

1. 智能登录系统

xiaohongshu-mcp提供了完整的登录解决方案:

  • 二维码登录:无需输入账号密码,直接扫码登录
  • 状态检查:实时监控登录状态,自动处理过期情况

2. 内容发布能力

图文发布
  • 支持本地图片和网络图片
  • 自动处理图片上传和格式转换
  • 支持添加话题标签
  • 可设置定时发布
视频发布
  • 支持本地视频文件上传
  • 自动等待视频处理完成
  • 支持添加标题、描述和标签

3. 内容搜索与发现

强大的搜索功能帮助你:

  • 根据关键词搜索相关内容
  • 支持多种筛选条件(发布时间、内容类型等)
  • 获取热门话题和趋势

4. 数据分析与获取

  • 帖子详情:获取完整的帖子信息,包括互动数据
  • 评论管理:获取评论列表,支持回复评论
  • 用户分析:获取用户主页信息和粉丝数据
  • 推荐内容:获取首页推荐内容列表

5. 自动化互动

  • 自动点赞心仪的内容
  • 智能收藏有价值的信息
  • 批量处理评论回复

部署方式

xiaohongshu-mcp提供了多种部署方式,满足不同用户的需求:

Docker部署(推荐)

最简单的部署方式,无需安装开发环境:

# 拉取镜像
docker pull xpzouying/xiaohongshu-mcp

# 使用docker-compose启动
docker compose up -d

二进制部署

直接下载对应平台的二进制文件:

  • macOS (Intel/Apple Silicon)
  • Windows x64
  • Linux x64

源码编译

如果你有Go开发环境,可以从源码编译:

# 克隆项目
git clone https://github.com/xpzouying/xiaohongshu-mcp.git

# 编译
go build -o xiaohongshu-mcp .

使用教程

1. 初始配置

首先进行登录配置:

# 运行登录工具
./xiaohongshu-login

# 启动MCP服务
./xiaohongshu-mcp

2. AI工具集成

xiaohongshu-mcp支持与多种AI工具集成,目前已支持Claude CodeCursorVSCodeClineAnythingLLMCherry Studion8nGoogle Gemini CLI等8+款主流AI工具。

Claude Code CLI
# 添加MCP服务器
claude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcp

# 验证连接
claude mcp list
Cursor

项目级配置(推荐): 在项目根目录创建 .cursor/mcp.json

{
  "mcpServers": {
    "xiaohongshu-mcp": {
      "url": "http://localhost:18060/mcp",
      "description": "小红书内容发布服务"
    }
  }
}

全局配置: 在用户目录创建 ~/.cursor/mcp.json

配置完成后重启Cursor,工具将自动可用。

VSCode

工作区配置(推荐): 在项目根目录创建 .vscode/mcp.json

{
  "servers": {
    "xiaohongshu-mcp": {
      "url": "http://localhost:18060/mcp",
      "type": "http"
    }
  },
  "inputs": []
}

或者使用命令面板:

  1. Ctrl/Cmd + Shift + P 打开命令面板
  2. 运行 MCP: Add Server 命令
  3. 选择 HTTP 方式,输入地址 http://localhost:18060/mcp
Google Gemini CLI

在 ~/.gemini/settings.json 或项目目录 .gemini/settings.json 中配置:

{
  "mcpServers": {
    "xiaohongshu": {
      "httpUrl": "http://localhost:18060/mcp",
      "timeout": 30000
    }
  }
}
Cline

在Cline的MCP设置中添加配置:

{
  "xiaohongshu-mcp": {
    "url": "http://localhost:18060/mcp",
    "type": "streamableHttp",
    "autoApprove": [],
    "disabled": false
  }
}

配置说明:

  • url: MCP服务地址
  • type: 使用 streamableHttp 类型获得更好性能
  • autoApprove: 自动批准的工具列表(留空表示手动批准)
  • disabled: 设置为 false 启用服务
AnythingLLM

AnythingLLM是一款多模态AI客户端,支持workflow定义和多种插件扩展。

集成步骤:

  1. 在AnythingLLM中创建新的workspace
  2. 在工具配置中启用MCP插件
  3. 添加xiaohongshu-mcp服务器配置:
    URL: http://localhost:18060/mcp
    名称: xiaohongshu-mcp
    
  4. 保存配置后即可在对话中使用小红书功能

使用示例:

帮我写一篇关于美食制作的帖子并发布到小红书
Cherry Studio

Cherry Studio是一款AI客户端,支持MCP协议集成。

配置方法:

  1. 打开Cherry Studio设置
  2. 进入MCP配置页面
  3. 添加新的MCP服务器:
    名称: xiaohongshu-mcp
    类型: HTTP
    地址: http://localhost:18060/mcp
    
  4. 保存配置并重启应用
n8n

n8n是一个工作流自动化工具,可以通过HTTP Request节点调用xiaohongshu-mcp的API。

配置workflow:

  1. 创建新的workflow
  2. 添加HTTP Request节点
  3. 配置节点参数:
    Method: POST
    URL: http://localhost:18060/api/v1/publish
    Body: JSON格式的发布参数
    
  4. 添加定时触发器实现自动化发布

示例workflow:

  • 定时触发器 → AI生成内容 → HTTP请求发布 → 结果通知
MCP Inspector(调试工具)

用于测试和调试MCP连接:

# 安装MCP Inspector
npm install -g @modelcontextprotocol/inspector

# 启动调试工具
npx @modelcontextprotocol/inspector

# 在浏览器中访问并连接到:http://localhost:18060/mcp

调试步骤:

  1. 测试连接(Ping Server)
  2. 检查工具列表(List Tools)
  3. 验证工具调用(Tool Call)
其他MCP客户端

任何支持HTTP MCP协议的客户端都可以连接到 http://localhost:18060/mcp

通用配置模板:

{
  "name": "xiaohongshu-mcp",
  "url": "http://localhost:18060/mcp",
  "type": "http"
}

常见配置参数:

  • url: MCP服务地址(必需)
  • type: 连接类型,通常为"http"或"streamableHttp"
  • timeout: 超时时间(毫秒)
  • autoApprove: 自动批准的工具列表
  • disabled: 是否禁用此服务

自定义AI工具集成

如果你使用的AI工具不在上述列表中,但支持MCP协议,可以按照以下步骤集成:

  1. 确认工具支持MCP:检查你的AI工具是否支持MCP协议
  2. 获取服务地址:xiaohongshu-mcp的服务地址为 http://localhost:18060/mcp
  3. 配置连接:在AI工具中添加HTTP MCP服务器配置
  4. 测试连接:使用MCP Inspector验证连接是否正常

集成故障排除

连接失败 服务未启动 检查xiaohongshu-mcp是否正在运行
工具不可用 配置错误 验证MCP服务器URL和配置格式
调用超时 网络问题 增加超时时间,检查网络连接
权限不足 登录过期 重新运行登录工具
功能异常 版本不兼容 更新到最新版本的xiaohongshu-mcp

支持的AI工具对比

Claude Code 中等 命令行开发 原生Claude集成
Cursor 简单 IDE开发 代码编辑器集成
VSCode 简单 IDE开发 微软生态集成
Cline 中等 AI编程助手 强大的编程辅助
AnythingLLM 简单 多模态对话 Workflow自动化
Cherry Studio 简单 AI对话 简洁易用的界面
n8n 中等 工作流自动化 复杂流程编排
Gemini CLI 中等 Google生态 Google AI集成

3. 实际使用场景

场景1:自动发布内容

通过AI生成内容并自动发布:

请帮我发布一篇关于"秋季护肤"的小红书笔记:
- 标题:秋季护肤必备攻略
- 内容:分享秋季护肤经验...
- 图片:使用本地图片路径
- 标签:护肤、秋季、美容
场景2:内容搜索与分析

分析竞争对手的内容策略:

搜索"护肤品推荐"的相关笔记,分析前10篇的内容特点和互动数据
场景3:用户互动管理

自动回复评论和私信:

检查我的最新评论,回复积极的评论内容

API调用详解

除了MCP协议,xiaohongshu-mcp还提供标准的RESTful HTTP API接口,适合程序化调用。

API基础信息
主要API接口
健康检查
GET /health
登录管理
GET /api/v1/login/status          # 检查登录状态
GET /api/v1/login/qrcode          # 获取登录二维码
DELETE /api/v1/login/cookies      # 重置登录状态
内容发布
POST /api/v1/publish              # 发布图文内容
POST /api/v1/publish_video        # 发布视频内容
内容获取
GET /api/v1/feeds/list            # 获取推荐列表
POST /api/v1/feeds/search         # 搜索内容
POST /api/v1/feeds/detail         # 获取帖子详情
用户管理
POST /api/v1/user/profile         # 获取用户主页
互动功能
POST /api/v1/feeds/comment        # 发表评论
POST /api/v1/feeds/comment/reply  # 回复评论
API调用示例

发布图文内容:

curl -X POST http://localhost:18060/api/v1/publish \
  -H "Content-Type: application/json" \
  -d '{
    "title": "秋季护肤攻略",
    "content": "随着天气转凉,护肤重点也要调整...",
    "images": ["/path/to/image1.jpg"],
    "tags": ["护肤", "秋季"]
  }'

Python调用:

import requests

data = {
    "title": "秋季护肤攻略",
    "content": "随着天气转凉,护肤重点也要调整...",
    "images": ["/path/to/image1.jpg"],
    "tags": ["护肤", "秋季"]
}

response = requests.post("http://localhost:18060/api/v1/publish", json=data)
print(response.json())
MCP vs API对比
使用场景 AI助手集成 程序化调用
调用方式 自然语言 HTTP请求
学习成本 中等
灵活性 中等
适用用户 运营人员 开发者

安全与合规

风险控制

  • 实名认证:建议使用前完成小红书实名认证
  • 内容合规:避免发布违规内容,遵守平台规则
  • 频率控制:合理控制发布频率,避免被判定为 spam
  • 单一登录:同一账号不要在多个设备同时登录

使用建议

  1. 从小量开始:初期控制发布频率,观察账号表现
  2. 内容质量:确保发布的内容有价值,避免纯搬运
  3. 定期检查:监控账号状态,及时处理异常情况
  4. 合规运营:遵守小红书平台规则,不进行违规营销

技术架构

xiaohongshu-mcp基于现代技术栈构建:

  • 后端语言:Go语言,性能优异
  • 浏览器自动化:使用Chrome Headless
  • 协议支持:MCP (Model Context Protocol)
  • API设计:RESTful API + MCP双接口
  • 部署方式:支持Docker、Binary、源码多种方式

二次开发

开发环境搭建

1. 环境要求
  • Go版本:1.20+
  • 操作系统:Windows、macOS、Linux
  • 浏览器:Chrome/Chromium(自动下载)
2. 克隆项目
git clone https://github.com/xpzouying/xiaohongshu-mcp.git
cd xiaohongshu-mcp
3. 安装依赖
# 下载依赖
go mod download

# 验证安装
go mod verify
4. 运行项目
# 开发模式运行
go run .

# 或编译后运行
go build -o xiaohongshu-mcp .
./xiaohongshu-mcp

项目架构分析

核心文件结构
xiaohongshu-mcp/
├── main.go              # 程序入口
├── app_server.go       # HTTP服务器
├── mcp_server.go       # MCP服务器
├── mcp_handlers.go      # MCP工具处理器
├── handlers_api.go      # HTTP API处理器
├── routes.go            # 路由配置
├── service.go           # 业务服务层
├── middleware.go        # 中间件
├── types.go             # 类型定义
├── configs/             # 配置管理
├── xiaohongshu/         # 核心功能模块
│   ├── login.go         # 登录功能
│   ├── publish.go       # 内容发布
│   ├── feeds.go         # 内容获取
│   ├── search.go        # 搜索功能
│   ├── user_profile.go  # 用户信息
│   └── types.go         # 小红书相关类型
├── browser/             # 浏览器自动化
├── cookies/             # Cookie管理
└── pkg/                 # 工具包
架构分层
  1. 表现层app_server.go + mcp_server.go

    • 处理HTTP请求和MCP协议
  2. 业务逻辑层service.go + xiaohongshu/

    • 核心业务逻辑实现
  3. 数据访问层browser/ + cookies/

    • 浏览器操作和数据持久化

添加新功能

示例:添加定时发布功能
1. 定义类型

types.go中添加:

type SchedulePublishRequest struct {
    Title       string   `json:"title"`
    Content     string   `json:"content"`
    Images      []string `json:"images"`
    ScheduleAt  string   `json:"schedule_at"`  // ISO8601格式
    Tags        []string `json:"tags,omitempty"`
    Visibility  string   `json:"visibility,omitempty"`
}
2. 实现业务逻辑

xiaohongshu/publish.go中添加:

func (x *Xiaohongshu) SchedulePublish(req *SchedulePublishRequest) error {
    // 解析发布时间
    scheduleTime, err := time.Parse(time.RFC3339, req.ScheduleAt)
    if err != nil {
        return fmt.Errorf("invalid schedule time: %w", err)
    }

    // 计算延迟时间
    delay := time.Until(scheduleTime)
    if delay < 0 {
        return fmt.Errorf("schedule time must be in the future")
    }

    // 异步执行发布
    go func() {
        time.Sleep(delay)
        publishReq := &PublishRequest{
            Title:      req.Title,
            Content:    req.Content,
            Images:     req.Images,
            Tags:       req.Tags,
            Visibility: req.Visibility,
        }
        x.Publish(publishReq)
    }()

    return nil
}
3. 添加HTTP API

handlers_api.go中添加:

func (h *APIHandler) SchedulePublish(c *gin.Context) {
    var req SchedulePublishRequest
    if err := c.ShouldBindJSON(&req); err != nil {
        c.JSON(400, gin.H{"error": err.Error()})
        return
    }

    if err := h.service.SchedulePublish(&req); err != nil {
        c.JSON(500, gin.H{"error": err.Error()})
        return
    }

    c.JSON(200, gin.H{
        "success": true,
        "message": "定时发布任务已创建",
        "data": gin.H{
            "schedule_at": req.ScheduleAt,
        },
    })
}
4. 添加路由

routes.go中添加:

api.POST("/schedule", handler.SchedulePublish)
5. 添加MCP工具(可选)

mcp_handlers.go中添加:

{
    Name:        "schedule_publish",
    Description: "定时发布图文内容到小红书",
    InputSchema: map[string]interface{}{
        "type": "object",
        "properties": map[string]interface{}{
            "title": map[string]interface{}{
                "type": "string",
                "description": "笔记标题",
            },
            "content": map[string]interface{}{
                "type": "string",
                "description": "笔记内容",
            },
            "images": map[string]interface{}{
                "type": "array",
                "items": map[string]interface{}{
                    "type": "string",
                },
                "description": "图片路径数组",
            },
            "schedule_at": map[string]interface{}{
                "type": "string",
                "description": "发布时间,ISO8601格式,如:2024-01-20T10:30:00+08:00",
            },
        },
        "required": []string{"title", "content", "images", "schedule_at"},
    },
}
测试新功能
1. 单元测试

创建测试文件xiaohongshu/publish_schedule_test.go

package xiaohongshu

import (
    "testing"
    "time"

    "github.com/stretchr/testify/assert"
)

func TestSchedulePublish(t *testing.T) {
    x := &Xiaohongshu{}
    
    // 模拟定时发布请求
    req := &SchedulePublishRequest{
        Title:      "测试定时发布",
        Content:    "这是定时发布的测试内容",
        Images:     []string{"/path/to/test.jpg"},
        ScheduleAt: time.Now().Add(time.Minute).Format(time.RFC3339),
    }
    
    err := x.SchedulePublish(req)
    assert.NoError(t, err)
}
2. API测试
# 测试API
curl -X POST http://localhost:18060/api/v1/schedule \
  -H "Content-Type: application/json" \
  -d '{
    "title": "定时发布测试",
    "content": "这是定时发布的测试内容",
    "images": ["/path/to/image.jpg"],
    "schedule_at": "2024-01-20T10:30:00+08:00"
  }'

调试技巧

1. 开启调试模式
// 在代码中添加调试日志
logrus.SetLevel(logrus.DebugLevel)
logrus.Debug("调试信息")
2. 浏览器可视化调试
# 启动非无头模式
go run . -headless=false
3. 使用浏览器开发者工具
// 在代码中添加断点
page := browser.Page()
page.Eval(`debugger;`) // 在浏览器中暂停执行

常见开发问题

浏览器启动失败 检查Chrome是否安装,尝试设置ROD_BROWSER_BIN环境变量
Cookie过期 重新运行登录工具,或调用/api/v1/login/cookies删除旧Cookie
网络超时 增加超时时间,或检查网络连接
元素定位失败 使用非无头模式调试,检查页面结构变化

总结

xiaohongshu-mcp为小红书运营者提供了一个强大的自动化工具,支持与Claude CodeCursorVSCodeClineAnythingLLMCherry Studion8n等主流AI工具集成,通过智能化的操作流程,大大降低了运营的门槛和成本。

无论是个人创作者、品牌运营者还是营销团队,都可以通过这个工具实现:

  • 效率提升:减少重复性手工操作
  • 智能化运营:借助AI生成和分析内容
  • 数据驱动:基于数据做出运营决策

当然,工具只是手段,内容质量和运营策略才是核心,希望大家能够创作出更多有价值的内容,为小红书社区贡献正能量。

xiaohongshu-mcp 项目地址

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐