Xiaohongshu MCP Python

Xiaohongshu MCP Python

Enables automated content publishing and management on Xiaohongshu (Little Red Book) platform, supporting image/video posts, content search, user profiles, and interactions through the Model Context Protocol.

Category
访问服务器

README

xiaohongshu-mcp-python

🐍 小红书 MCP Python 版本 - 基于 Model Context Protocol 的小红书自动化内容发布工具

Python Version MCP Protocol License

🌟 项目简介

xiaohongshu-mcp-python 是一个基于 Python 开发的小红书内容发布自动化工具,通过 Model Context Protocol (MCP) 协议为 AI 客户端提供小红书操作能力。本项目使用现代 Python 技术栈,支持异步操作,提供高效稳定的小红书内容管理服务。

✨ 核心特性

  • 🚀 现代 Python 架构:基于 Python 3.8+ 和异步编程
  • 🎯 MCP 协议支持:完整实现 Model Context Protocol 规范
  • 🌐 Playwright 驱动:使用 Playwright 替代 Selenium,性能更优
  • 📦 uv 包管理:采用现代 Python 包管理工具 uv
  • 🔧 环境配置:支持 .env 文件配置管理
  • 🛡️ 类型安全:完整的类型注解支持

🎯 主要功能

📝 内容发布功能

<details> <summary><b>🖼️ 图文内容发布</b></summary>

支持发布图文内容到小红书,包括:

  • 📄 标题和内容描述(标题限制20字符)
  • 🖼️ 多图片上传(支持本地路径和HTTP链接)
  • 🏷️ 标签管理
  • 📊 发布状态监控

图片支持格式:

  • 本地文件路径:/path/to/image.jpg
  • HTTP/HTTPS 链接:https://example.com/image.png
  • 支持格式:JPG, PNG, GIF, WebP

</details>

<details> <summary><b>🎬 视频内容发布</b></summary>

支持发布视频内容到小红书:

  • 🎥 本地视频文件上传
  • 📝 视频标题和描述
  • ⏱️ 自动等待视频处理完成
  • 🏷️ 视频标签设置

视频支持格式:

  • 本地文件:/path/to/video.mp4
  • 支持格式:MP4, MOV, AVI
  • 文件大小:建议不超过 1GB

</details>

🔍 内容管理功能

<details> <summary><b>🔐 账户管理</b></summary>

  • 登录状态检查
  • Cookie 管理
  • 会话保持
  • 自动重新登录

</details>

<details> <summary><b>🔍 内容搜索与获取</b></summary>

  • 关键词搜索小红书内容
  • 获取首页推荐列表
  • 帖子详情获取(包含互动数据)
  • 用户主页信息获取

</details>

<details> <summary><b>💬 互动功能</b></summary>

  • 发表评论到指定帖子
  • 获取评论列表
  • 互动数据统计

</details>

🚀 快速开始

📋 环境要求

  • Python 3.8 或更高版本
  • uv 包管理器
  • 支持的操作系统:Linux, macOS, Windows

🔧 安装步骤

  1. 克隆项目

    git clone https://github.com/your-username/xiaohongshu-mcp-python.git
    cd xiaohongshu-mcp-python
    
  2. 安装 uv 包管理器

    # macOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Windows
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  3. 配置国内镜像源(可选)

    export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
    
  4. 安装依赖

    uv sync
    
  5. 安装 Playwright 浏览器

    uv run playwright install chromium
    

⚙️ 环境配置

创建 .env 文件:

# 小红书配置
XIAOHONGSHU_HEADLESS=true
XIAOHONGSHU_COOKIES_PATH=./cookies
XIAOHONGSHU_SCREENSHOTS_PATH=./screenshots

# MCP 服务配置
MCP_HOST=localhost
MCP_PORT=18060

# 日志配置
LOG_LEVEL=INFO
LOG_FILE=./logs/xiaohongshu-mcp.log

🎯 启动服务

# 启动 MCP 服务
uv run python -m src.xiaohongshu_mcp_python.main

# 或使用项目脚本
uv run xiaohongshu-mcp

服务将在 http://localhost:18060/mcp 启动。

📖 使用教程

1️⃣ 登录小红书

首次使用需要登录小红书账户:

# 使用登录工具
uv run python -m src.xiaohongshu_mcp_python.login

2️⃣ 验证 MCP 连接

使用 MCP Inspector 验证连接:

npx @modelcontextprotocol/inspector

在浏览器中访问 http://localhost:18060/mcp 进行连接测试。

3️⃣ 发布内容示例

发布图文内容:

# 通过 MCP 工具调用
{
  "tool": "publish_content",
  "parameters": {
    "title": "春日美景",
    "content": "分享今天拍摄的美丽春景,希望大家喜欢!",
    "images": [
      "/path/to/spring1.jpg",
      "/path/to/spring2.jpg"
    ],
    "tags": ["春天", "摄影", "美景"]
  }
}

🔌 MCP 客户端接入

Claude Code CLI

# 添加 MCP 服务
claude mcp add --transport http xiaohongshu-mcp-python http://localhost:18060/mcp

# 验证连接
claude mcp list

Cursor IDE

在项目根目录创建 .cursor/mcp.json

{
  "mcpServers": {
    "xiaohongshu-mcp-python": {
      "url": "http://localhost:18060/mcp",
      "description": "小红书 Python MCP 服务"
    }
  }
}

VSCode

在项目根目录创建 .vscode/mcp.json

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

🛠️ 开发指南

📁 项目结构

xiaohongshu-mcp-python/
├── src/
│   └── xiaohongshu_mcp_python/
│       ├── __init__.py
│       ├── main.py              # 主程序入口
│       ├── mcp_server.py        # MCP 服务器实现
│       ├── xiaohongshu/         # 小红书操作模块
│       ├── utils/               # 工具函数
│       └── config/              # 配置管理
├── tests/                       # 测试文件
├── docs/                        # 文档
├── pyproject.toml              # 项目配置
├── .env.example                # 环境变量示例
└── README.md

🧪 运行测试

# 运行所有测试
uv run pytest

# 运行特定测试
uv run pytest tests/test_mcp_server.py

# 生成覆盖率报告
uv run pytest --cov=src

🔍 代码质量检查

# 代码格式化
uv run black src tests

# 类型检查
uv run mypy src

# 代码风格检查
uv run flake8 src tests

🔧 可用 MCP 工具

工具名称 功能描述 必需参数 可选参数
xiaohongshu_start_login_session 启动登录会话 username
xiaohongshu_check_login_session 检查登录状态 username
xiaohongshu_cleanup_login_session 清理登录会话 username
xiaohongshu_publish_content 发布图文内容 title, content, images tags, username
xiaohongshu_publish_video 发布视频内容 title, content, video tags, username
xiaohongshu_search_feeds 搜索小红书内容 keyword username
xiaohongshu_get_feeds 获取推荐列表 username
xiaohongshu_get_user_profile 获取用户主页 user_id username
xiaohongshu_get_feed_detail 获取笔记详情 feed_id username

📝 工具详细说明

xiaohongshu_publish_video - 视频发布工具

发布视频内容到小红书平台。

参数说明:

  • title (必需): 视频标题,最多20个中文字或英文单词
  • content (必需): 视频描述内容,不包含以#开头的标签内容
  • video (必需): 视频文件路径,支持本地视频文件绝对路径
  • tags (可选): 话题标签列表,如 ["美食", "旅行", "生活"]
  • username (可选): 用户名,如果不提供则使用全局用户

使用示例:

# 通过 MCP 客户端调用
result = await xiaohongshu_publish_video(
    title="我的旅行视频",
    content="分享一段美好的旅行时光",
    video="/path/to/my_video.mp4",
    tags=["旅行", "生活", "美好时光"]
)

返回结果:

{
    "success": true,
    "message": "视频发布完成",
    "result": {
        "note_id": "视频笔记ID",
        "success": true
    }
}

⚠️ 注意事项

🔒 账户安全

  • 同一账户不要在多个浏览器端同时登录
  • 定期检查登录状态,及时处理 Cookie 过期
  • 建议使用专门的小红书账户进行自动化操作

📊 发布限制

  • 标题不超过 20 个字符
  • 每日发布量建议控制在合理范围内
  • 图片格式:JPG, PNG, GIF, WebP
  • 视频格式:MP4, MOV, AVI(建议不超过 1GB)

🛡️ 风险提示

本项目仅供学习和研究使用,请遵守小红书平台规则和相关法律法规。使用本工具产生的任何后果由使用者自行承担。

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本项目
  2. 创建特性分支:git checkout -b feature/amazing-feature
  3. 提交更改:git commit -m 'Add amazing feature'
  4. 推送分支:git push origin feature/amazing-feature
  5. 提交 Pull Request

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

🙏 致谢


⭐ 如果这个项目对你有帮助,请给它一个 Star!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选