xhs-mcp
An MCP server for Xiaohongshu (xiaohongshu.com) that provides login, publishing, search, recommendations, and other automation capabilities via Puppeteer.
README
xhs-mcp
简体中文 | English
xhs-mcp 提供统一的命令行入口 xhs-mcp,并内置 MCP 服务器子命令。用于小红书(xiaohongshu.com)的 Model Context Protocol(MCP)服务器与 CLI 工具,支持登录、发布、搜索、推荐等自动化能力(基于 Puppeteer)。
免责声明:本项目是社区维护的非官方工具,不隶属于、未获得小红书或其关联公司的背书。使用者需要自行遵守小红书平台规则、账号安全要求和适用法律法规。发布、评论、删除等操作会真实作用于你的账号,请谨慎使用。
📦 NPM 信息
- 包名:
xhs-mcp - 运行 CLI(推荐):
npx xhs-mcp <subcommand> - 启动 MCP:
npx xhs-mcp mcp [--mode stdio|http] [--port 3000]
✨ 功能
- 认证:登录、登出、状态检查
- 发布:图文和视频发布
- 图文发布:标题≤20字符(40显示单位)、内容≤1000、最多18图
- 视频发布:支持 MP4、MOV、AVI、MKV、WebM、FLV、WMV 格式
- ⭐ 新功能: 支持图片 URL 自动下载(HTTP/HTTPS)
- ⭐ 新功能: 标题宽度精确验证(CJK字符2单位,ASCII字符1单位)
- 支持本地图片路径
- 支持 URL 和本地路径混合使用
- 智能缓存机制,避免重复下载
- 发现:推荐、搜索、详情、评论
- 用户笔记:列表查看、删除管理
- 自动化:Puppeteer 驱动、无头模式、Cookie 管理
- 图片处理:支持图片 URL 下载、缓存、压缩和本地路径混合
📋 可用工具
xhs_auth_login、xhs_auth_logout、xhs_auth_statusxhs_discover_feeds、xhs_search_note、xhs_get_note_detailxhs_comment_on_notexhs_get_user_notes、xhs_delete_note(用户笔记管理)xhs_get_favorites_list、xhs_get_batch_notes_from_favorites(收藏夹读取)xhs_download_note_images(笔记图片下载)xhs_publish_content(统一发布接口:type、title、content、media_paths、tags)- 图片发布:1-18个图片文件或URL
- 视频发布:恰好1个视频文件
- 混合使用:支持图片URL和本地路径混合
🚀 快速开始(MCP)
Stdio 模式(默认)
npx xhs-mcp mcp
# 调试日志
XHS_ENABLE_LOGGING=true npx xhs-mcp mcp
首次运行提示:如果未安装 Puppeteer 浏览器,先执行
npx xhs-mcp browser # 自动检查并安装 Chromium,显示可执行路径 # 或 npx puppeteer browsers install chrome输出示例:
{ "success": true, "message": "Chromium is ready", "data": { "installed": true, "executablePath": "/path/to/chromium" } }
验证 MCP 连接:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | npx xhs-mcp mcp
HTTP 模式
# 启动 HTTP 服务器(默认端口 3000)
npx xhs-mcp mcp --mode http
# 指定端口
npx xhs-mcp mcp --mode http --port 8080
# 调试模式
XHS_ENABLE_LOGGING=true npx xhs-mcp mcp --mode http
HTTP 服务器支持:
- Streamable HTTP (协议版本 2025-03-26) - 端点:
/mcp - SSE (协议版本 2024-11-05) - 端点:
/sse和/messages - 健康检查 - 端点:
/health
详细文档请参考:HTTP Transports
🧰 CLI 子命令
# 认证
npx xhs-mcp login --timeout 120
npx xhs-mcp logout
npx xhs-mcp status
# 浏览器依赖
npx xhs-mcp browser [--with-deps] # 检查并安装 Chromium,显示可执行路径
# 发现与检索
npx xhs-mcp feeds [-b /path/to/chromium]
npx xhs-mcp search -k 关键字 [-b /path/to/chromium]
# 当前用户笔记
npx xhs-mcp usernote list [-l 20] [--cursor <cursor>] [-b /path/to/chromium]
# 删除用户笔记
npx xhs-mcp usernote delete --note-id <id> [-b /path/to/chromium]
npx xhs-mcp usernote delete --last-published [-b /path/to/chromium]
# 互动
npx xhs-mcp comment --feed-id <id> --xsec-token <token> -n "Nice!" [-b /path/to/chromium]
# 发布
# 使用本地图片
npx xhs-mcp publish --type image --title 标题 --content 内容 -m path1.jpg,path2.png --tags a,b [-b /path/to/chromium]
# ⭐ 使用图片 URL(自动下载)
npx xhs-mcp publish --type image --title 标题 --content 内容 -m "https://example.com/img1.jpg,https://example.com/img2.png" --tags a,b
# 混合使用 URL 和本地路径
npx xhs-mcp publish --type image --title 标题 --content 内容 -m "https://example.com/img1.jpg,./local/img2.jpg" --tags a,b
# 发布视频
npx xhs-mcp publish --type video --title 视频标题 --content 视频描述 -m path/to/video.mp4 --tags a,b [-b /path/to/chromium]
# 查看可用工具
npx xhs-mcp tools [--detailed] [--json]
# 启动 MCP
npx xhs-mcp mcp [--mode stdio|http] [--port 3000]
🔧 客户端接入(Cursor)
Stdio 模式
.cursor/mcp.json:
{
"mcpServers": {
"xhs-mcp": {
"command": "npx",
"args": ["xhs-mcp", "mcp"],
"env": { "XHS_ENABLE_LOGGING": "true" }
}
}
}
HTTP 模式
.cursor/mcp.json:
{
"mcpServers": {
"xhs-mcp-http": {
"command": "npx",
"args": ["xhs-mcp", "mcp", "--mode", "http", "--port", "3000"],
"env": { "XHS_ENABLE_LOGGING": "true" }
}
}
}
或者使用 HTTP 客户端直接连接:
{
"mcpServers": {
"xhs-mcp-http": {
"url": "http://localhost:3000/mcp"
}
}
}
⚠️ 注意事项
- 本工具依赖浏览器自动化和小红书 Web 页面结构,页面改版时搜索、收藏夹、发布等能力可能需要适配。
- 登录 Cookie 默认保存到
~/.xhs-mcp/cookies.json。Cookie 等同于登录凭证,不要提交到 Git、issue、日志或截图中。 - 高风险工具包括:
xhs_publish_content、xhs_comment_on_note、xhs_delete_note。建议先使用测试账号验证流程。 - 图文发布:标题≤20、内容≤1000、图片≤18
- 视频发布:支持多种格式,文件大小建议≤500MB
- 避免同账号多端同时网页登录
- 合理控制发帖频率
- 图片 URL 自动下载到
./temp_images/目录(自动缓存) - 图片 URL 支持格式:JPEG、PNG、GIF、WebP、BMP
📖 文档和示例
📚 文档
- 完整使用指南 - 详细的使用说明和最佳实践
- HTTP 传输文档 - HTTP/SSE 模式配置
- 发布指南 - NPM 发布流程
- 开源发布检查清单 - GitHub 发布前检查
- 安全策略 - Cookie 与账号安全说明
🎨 示例
🧪 测试
- 运行测试 - 测试说明和用法
- 运行所有测试:
npm test
🛠️ 构建说明
- 统一使用单一生产构建配置:
config/webpack.config.js - 已移除开发与优化变体;开发请直接运行:
npm run dev(直接运行 TypeScript CLI)npm run build(打包到dist/xhs-mcp.cjs)
🙏 致谢
基于 xiaohongshu-mcp 重构与扩展(TypeScript、Puppeteer、MCP 优化、日志清理、NPM 发布)。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。