xhs-mcp

xhs-mcp

An MCP server for Xiaohongshu (xiaohongshu.com) that provides login, publishing, search, recommendations, and other automation capabilities via Puppeteer.

Category
访问服务器

README

xhs-mcp

简体中文 | English

xhs-mcp 提供统一的命令行入口 xhs-mcp,并内置 MCP 服务器子命令。用于小红书(xiaohongshu.com)的 Model Context Protocol(MCP)服务器与 CLI 工具,支持登录、发布、搜索、推荐等自动化能力(基于 Puppeteer)。

免责声明:本项目是社区维护的非官方工具,不隶属于、未获得小红书或其关联公司的背书。使用者需要自行遵守小红书平台规则、账号安全要求和适用法律法规。发布、评论、删除等操作会真实作用于你的账号,请谨慎使用。

npm version npm downloads License: MIT

📦 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_loginxhs_auth_logoutxhs_auth_status
  • xhs_discover_feedsxhs_search_notexhs_get_note_detail
  • xhs_comment_on_note
  • xhs_get_user_notesxhs_delete_note(用户笔记管理)
  • xhs_get_favorites_listxhs_get_batch_notes_from_favorites(收藏夹读取)
  • xhs_download_note_images(笔记图片下载)
  • xhs_publish_content(统一发布接口:typetitlecontentmedia_pathstags
    • 图片发布: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_contentxhs_comment_on_notexhs_delete_note。建议先使用测试账号验证流程。
  • 图文发布:标题≤20、内容≤1000、图片≤18
  • 视频发布:支持多种格式,文件大小建议≤500MB
  • 避免同账号多端同时网页登录
  • 合理控制发帖频率
  • 图片 URL 自动下载到 ./temp_images/ 目录(自动缓存)
  • 图片 URL 支持格式:JPEG、PNG、GIF、WebP、BMP

📖 文档和示例

📚 文档

🎨 示例

🧪 测试

  • 运行测试 - 测试说明和用法
  • 运行所有测试: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

Baidu Map

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

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

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

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
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 模型以安全和受控的方式获取实时的网络信息。

官方
精选