Commit 0eebb6fe authored by kuu's avatar kuu

Remove upstream marketing files and trim README for internal use

- Drop DONATIONS.md, donate/, README_EN.md, CONTRIBUTING.md,
  .all-contributorsrc, .kimi-agent.yml and .github/FUNDING.yml
- Keep only the internal publish-only deployment doc in README
- Fix broken anchors in docker/README.md and docker/novnc/README.md
parent 86ed10c7
{
"files": [
"README.md",
"README_EN.md"
],
"imageSize": 100,
"commit": false,
"commitType": "docs",
"commitConvention": "angular",
"contributors": [
{
"login": "xpzouying",
"name": "zy",
"avatar_url": "https://avatars.githubusercontent.com/u/3946563?v=4",
"profile": "https://haha.ai",
"contributions": [
"code",
"ideas",
"doc",
"design",
"maintenance",
"infra",
"review"
]
},
{
"login": "esperyong",
"name": "clearwater",
"avatar_url": "https://avatars.githubusercontent.com/u/1271815?v=4",
"profile": "http://www.hwbuluo.com",
"contributions": [
"code"
]
},
{
"login": "laryzhong",
"name": "Zhongpeng",
"avatar_url": "https://avatars.githubusercontent.com/u/47939471?v=4",
"profile": "https://github.com/laryzhong",
"contributions": [
"code"
]
},
{
"login": "DTDucas",
"name": "Duong Tran",
"avatar_url": "https://avatars.githubusercontent.com/u/105262836?v=4",
"profile": "https://github.com/DTDucas",
"contributions": [
"code"
]
},
{
"login": "Angiin",
"name": "Angiin",
"avatar_url": "https://avatars.githubusercontent.com/u/17389304?v=4",
"profile": "https://github.com/Angiin",
"contributions": [
"code"
]
},
{
"login": "muhenan",
"name": "Henan Mu",
"avatar_url": "https://avatars.githubusercontent.com/u/43441941?v=4",
"profile": "https://github.com/muhenan",
"contributions": [
"code"
]
},
{
"login": "chengazhen",
"name": "Journey",
"avatar_url": "https://avatars.githubusercontent.com/u/52627267?v=4",
"profile": "https://github.com/chengazhen",
"contributions": [
"code"
]
},
{
"login": "eveyuyi",
"name": "Eve Yu",
"avatar_url": "https://avatars.githubusercontent.com/u/69026872?v=4",
"profile": "https://github.com/eveyuyi",
"contributions": [
"code"
]
},
{
"login": "CooperGuo",
"name": "CooperGuo",
"avatar_url": "https://avatars.githubusercontent.com/u/183056602?v=4",
"profile": "https://github.com/CooperGuo",
"contributions": [
"code"
]
},
{
"login": "BiboyQG",
"name": "Banghao Chi",
"avatar_url": "https://avatars.githubusercontent.com/u/125724218?v=4",
"profile": "https://biboyqg.github.io/",
"contributions": [
"code"
]
},
{
"login": "varz1",
"name": "varz1",
"avatar_url": "https://avatars.githubusercontent.com/u/60377372?v=4",
"profile": "https://github.com/varz1",
"contributions": [
"code"
]
},
{
"login": "Meloyg",
"name": "Melo Y Guan",
"avatar_url": "https://avatars.githubusercontent.com/u/62586556?v=4",
"profile": "https://google.meloguan.site",
"contributions": [
"code"
]
},
{
"login": "lmxdawn",
"name": "lmxdawn",
"avatar_url": "https://avatars.githubusercontent.com/u/21293193?v=4",
"profile": "https://github.com/lmxdawn",
"contributions": [
"code"
]
},
{
"login": "haikow",
"name": "haikow",
"avatar_url": "https://avatars.githubusercontent.com/u/22428382?v=4",
"profile": "https://github.com/haikow",
"contributions": [
"code"
]
},
{
"login": "a67793581",
"name": "Carlo",
"avatar_url": "https://avatars.githubusercontent.com/u/18513362?v=4",
"profile": "https://carlo-blog.aiju.fun/",
"contributions": [
"code"
]
},
{
"login": "hrz394943230",
"name": "hrz",
"avatar_url": "https://avatars.githubusercontent.com/u/28583005?v=4",
"profile": "https://github.com/hrz394943230",
"contributions": [
"code"
]
},
{
"login": "ctrlz526",
"name": "Ctrlz",
"avatar_url": "https://avatars.githubusercontent.com/u/143257420?v=4",
"profile": "https://github.com/ctrlz526",
"contributions": [
"code"
]
},
{
"login": "flippancy",
"name": "flippancy",
"avatar_url": "https://avatars.githubusercontent.com/u/6467703?v=4",
"profile": "https://github.com/flippancy",
"contributions": [
"code"
]
},
{
"login": "Infinityay",
"name": "Yuhang Lu",
"avatar_url": "https://avatars.githubusercontent.com/u/103165980?v=4",
"profile": "https://github.com/Infinityay",
"contributions": [
"code"
]
},
{
"login": "bryankthompson",
"name": "Bryan Thompson",
"avatar_url": "https://avatars.githubusercontent.com/u/199543909?v=4",
"profile": "https://triepod.ai",
"contributions": [
"code"
]
},
{
"login": "tanxxjun321",
"name": "tan jun",
"avatar_url": "https://avatars.githubusercontent.com/u/7806992?v=4",
"profile": "http://www.megvii.com",
"contributions": [
"code"
]
},
{
"login": "coldmountein",
"name": "coldmountain",
"avatar_url": "https://avatars.githubusercontent.com/u/95873096?v=4",
"profile": "https://github.com/coldmountein",
"contributions": [
"code"
]
},
{
"login": "yqdaddy",
"name": "mamage",
"avatar_url": "https://avatars.githubusercontent.com/u/44826388?v=4",
"profile": "https://blog.litpp.com/",
"contributions": [
"code",
"doc"
]
},
{
"login": "YRYangang",
"name": "Runyang YOU",
"avatar_url": "https://avatars.githubusercontent.com/u/54588936?v=4",
"profile": "https://runyang.vercel.app/",
"contributions": [
"code",
"doc"
]
},
{
"login": "Daily-AC",
"name": "e0_7",
"avatar_url": "https://avatars.githubusercontent.com/u/134906805?v=4",
"profile": "https://www.hnfnu.edu.cn/",
"contributions": [
"code",
"doc"
]
},
{
"login": "prehisle",
"name": "prehisle",
"avatar_url": "https://avatars.githubusercontent.com/u/2081344?v=4",
"profile": "https://github.com/prehisle",
"contributions": [
"code",
"doc"
]
},
{
"login": "blablabiu",
"name": "Xinhao Chen",
"avatar_url": "https://avatars.githubusercontent.com/u/123888078?v=4",
"profile": "https://github.com/blablabiu",
"contributions": [
"code",
"doc"
]
},
{
"login": "qiuxsgit",
"name": "qiuxsgit",
"avatar_url": "https://avatars.githubusercontent.com/u/15036686?v=4",
"profile": "https://github.com/qiuxsgit",
"contributions": [
"code"
]
},
{
"login": "ZhuYichuan",
"name": "openlts",
"avatar_url": "https://avatars.githubusercontent.com/u/7954801?v=4",
"profile": "https://github.com/ZhuYichuan",
"contributions": [
"code"
]
},
{
"login": "galois1983",
"name": "galois1983",
"avatar_url": "https://avatars.githubusercontent.com/u/80469442?v=4",
"profile": "https://github.com/galois1983",
"contributions": [
"code"
]
},
{
"login": "xPeiPeix",
"name": "Peip",
"avatar_url": "https://avatars.githubusercontent.com/u/42157266?v=4",
"profile": "https://github.com/xPeiPeix",
"contributions": [
"code"
]
},
{
"login": "zhenzoo",
"name": "zhenzoo",
"avatar_url": "https://avatars.githubusercontent.com/u/273501489?v=4",
"profile": "https://github.com/zhenzoo",
"contributions": [
"code"
]
},
{
"login": "eeeggplant",
"name": "eggplant",
"avatar_url": "https://avatars.githubusercontent.com/u/73321941?v=4",
"profile": "https://github.com/eeeggplant",
"contributions": [
"code"
]
},
{
"login": "Iams4kura",
"name": "s4kura",
"avatar_url": "https://avatars.githubusercontent.com/u/126048986?v=4",
"profile": "https://github.com/Iams4kura",
"contributions": [
"code"
]
},
{
"login": "Matrixqlc",
"name": "Matrixqlc",
"avatar_url": "https://avatars.githubusercontent.com/u/129405195?v=4",
"profile": "https://github.com/Matrixqlc",
"contributions": [
"code"
]
},
{
"login": "DLLXW",
"name": "Qu Yuli",
"avatar_url": "https://avatars.githubusercontent.com/u/39004676?v=4",
"profile": "https://www.zhihu.com/people/lim0-34",
"contributions": [
"code"
]
},
{
"login": "ao-lj-ao",
"name": "ao-lj-ao",
"avatar_url": "https://avatars.githubusercontent.com/u/287673796?v=4",
"profile": "https://github.com/ao-lj-ao",
"contributions": [
"code"
]
},
{
"login": "CNQQC",
"name": "CNQQC",
"avatar_url": "https://avatars.githubusercontent.com/u/243505512?v=4",
"profile": "https://github.com/CNQQC",
"contributions": [
"code"
]
},
{
"login": "ACCLE123",
"name": "ACCLE123",
"avatar_url": "https://avatars.githubusercontent.com/u/95094975?v=4",
"profile": "https://github.com/ACCLE123",
"contributions": [
"code"
]
},
{
"login": "SamYunquChen",
"name": "SamYunquChen",
"avatar_url": "https://avatars.githubusercontent.com/u/106165995?v=4",
"profile": "https://github.com/SamYunquChen",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
"skipCi": true,
"repoType": "github",
"repoHost": "https://github.com",
"projectName": "xiaohongshu-mcp",
"projectOwner": "xpzouying"
}
custom:
- "https://github.com/xpzouying/xiaohongshu-mcp#赞赏支持"
# .kimi-agent.yml
features:
pr_auto_review: false # PR 打开时自动 Code Review
release_changelog: false # Release 发布时自动更新 CHANGELOG
# 贡献指南 | Contributing Guide
感谢你对本项目的关注!为了保证代码质量和 Review 效率,请在提交 PR 前仔细阅读以下规范。
Thank you for your interest! Please read this guide carefully before submitting a PR.
---
## 基本流程 | Basic Workflow
1. Fork 本仓库并创建功能分支
2. 在本地完成开发和测试
3. 提交 PR 并填写清晰的描述
---
## PR 提交规范 | PR Requirements
### 1. 一个 PR 只做一件事 | One PR, One Feature
每个 PR 只包含 **一个功能或一个修复**。多个功能请拆分为多个 PR。
Each PR should contain **only one feature or one fix**. Split multiple features into separate PRs.
### 2. 必须经过验证 | Must Be Verified
**即使代码是 AI 生成的,也必须在本地运行并验证功能正确。** 未经验证的 PR 将直接关闭。
**Even if the code is AI-generated, you must run and verify it locally.** Unverified PRs will be closed.
### 3. 提供演示截图/视频 | Provide Demo
PR 中请附上功能演示的 **截图或录屏**,让 Reviewer 快速理解改动效果。
Please attach **screenshots or screen recordings** to demonstrate the feature.
> **隐私提醒:演示中务必对自己的账号信息进行打码处理!**
>
> **Privacy: Always blur/mask your account info in demos!**
### 4. 禁止大量 JS 注入 | No Excessive JS Injection
本项目使用 [go-rod](https://go-rod.github.io/) 进行浏览器自动化。**严禁通过大量注入 JavaScript 的方式操作页面元素**,应使用 go-rod 提供的 API 操作元素。
违反此规则的 PR **一律不予合并**。
This project uses [go-rod](https://go-rod.github.io/) for browser automation. **Do NOT manipulate page elements by injecting large amounts of JavaScript.** Use go-rod's API instead.
PRs violating this rule **will NOT be merged**.
### 5. 代码规范 | Code Style
- Go 代码需要格式化(`gofmt`)
- 注释使用中文,专业术语可用英文
- 不要过度设计,保持简洁
---
## 提交 Checklist | PR Checklist
提交前请确认:
- [ ] 代码已在本地运行并验证通过
- [ ] 一个 PR 仅包含一个功能/修复
- [ ] 附上演示截图或录屏(账号信息已打码)
- [ ] 没有大量 JS 注入,使用 go-rod API 操作元素
- [ ] 代码已格式化,注释清晰
---
感谢你的贡献!🎉 | Thanks for contributing!
# 赞赏与公益捐赠公开账本
本项目的所有赞赏,将全部用于公益捐赠。
> 本页按月公开记录:收到的赞赏(默认匿名或使用对方指定昵称)、对应捐出、以及捐赠凭证截图(已脱敏)。
> 如需更正/撤回署名,请开 Issue 或通过邮箱联系。
## 摘要
- 累计收到赞赏:¥ 1629.21
- 累计捐赠:¥ 2010
- 最近更新时间:2026-11-05
---
## 维护说明
- **隐私**:默认匿名展示;仅在赞助者明确授权时展示昵称。请在截图中打码/涂抹交易号、手机号、邮箱、二维码关键元素等敏感信息。
- **更正机制**:如有遗漏或需要修改,请开 Issue;所有更动保留在 Git 历史中。
---
## 月度明细
### 2026-11
**本月小结**
- 本月收到赞赏合计:¥ 5.00
- 前期收到赞赏合计:¥ 188.37(4 月、5 月、7 月汇总)。
- 捐出合计:¥ 200.00,2026-11-01 捐赠给中国社会福利基金会「驰援那曲地震」。
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2026-11-04 | 匿名大侠 | 5.00 | 微信赞赏码 |
<table>
<tr>
<td><img height="400" alt="donation-2026-11-01" src="https://github.com/user-attachments/assets/dff9ad7b-f486-4517-8d61-69e0cfd195ca" /></td>
</tr>
</table>
### 2026-07
**本月小结**
- 收到赞赏合计:¥ 66.60
- 捐出合计:已于 [2026-11-01](#2026-11) 汇总捐赠。
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2026-07-06 | 匹诺曹 | 66.60 | 赞赏码 |
### 2026-05
**本月小结**
- 收到赞赏合计:¥ 32.97
- 捐出合计:已于 [2026-11-01](#2026-11) 汇总捐赠。
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2026-05-05 | 计划的一部分 | 9.99 | 赞赏码 |
| 2026-05-08 | 沈迪河 | 3.00 | 赞赏码 |
| 2026-05-12 | 邓昱旻 | 9.99 | 赞赏码 |
| 2026-05-26 | Zora. 卓然 \| 。 | 9.99 | 赞赏码 |
### 2026-04
**本月小结**
- 收到赞赏合计:¥ 88.80
- 捐出合计:已于 [2026-11-01](#2026-11) 汇总捐赠。
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2026-04-09 | 1900 | 88.80 | 微信红包 |
### 2026-03
**本月小结**
- 收到赞赏合计:¥ 159.91
- 捐出合计:¥ 200.00
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2026-03-01 | 黄蕾 SQUASH | 9.99 | 赞赏码 |
| 2026-03-04 | 之乎者也 | 9.99 | 赞赏码 |
| 2026-03-05 | 质数的孤独 | 29.99 | 赞赏码 |
| 2026-03-06 | 无名大侠 | 19.99 | 赞赏码 |
| 2026-03-08 | 勇敢的心 | 19.99 | 赞赏码 |
| 2026-03-10 | angiie | 9.99 | 赞赏码 |
| 2026-03-19 | 志颖兄 | 19.99 | 赞赏码 |
| 2026-03-20 | ZzT | 29.99 | 赞赏码 |
| 2026-03-26 | 苏大侠 | 9.99 | 赞赏码 |
<table>
<tr>
<td><img height="400" alt="donation-2026-03-intro" src="https://github.com/user-attachments/assets/25bad146-060a-46f1-a600-e5843c02b233" /></td>
<td><img height="400" alt="donation-2026-03" src="https://github.com/user-attachments/assets/9bc6bbf7-d393-4f81-b39a-f2cf48753b5f" /></td>
</tr>
</table>
### 2026-02
**本月小结**
- 收到赞赏合计:¥ 305.98
- 捐出合计:¥ 310.00,捐赠给腾讯慈善「重疾儿童协助」
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2026-02-07 | 来自于微信群的小爷 | 29.99 | 赞赏码 |
| 2026-02-09 | Arthur.Morgan | 9.99 | 赞赏码 |
| 2026-02-17 | Jackie | 50.00 | 微信红包 |
| 2026-02-17 | 无名大侠 | 0.01 | 赞赏码 |
| 2026-02-17 | akia | 9.99 | 赞赏码 |
| 2026-02-19 | @_@ | 5.00 | 赞赏码 |
| 2026-02-22 | 小小酷 | 1.00 | 赞赏码 |
| 2026-02-27 | 陈志 | 200.00 | 赞赏码 |
<table>
<tr>
<td><img height="400" alt="donation-2026-02-intro" src="https://github.com/user-attachments/assets/00d75786-d6b3-41b5-9ced-d2fec8b6514e" /></td>
<td><img height="400" alt="donation-2026-02" src="https://github.com/user-attachments/assets/5c1d1cae-3a04-4730-8022-4608f0c6f3e7" /></td>
</tr>
</table>
### 2026-01
**本月小结**
- 收到赞赏合计:¥ 99.98
- 捐出合计:¥ 200.00
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2026-01-02 | K91431 | 49.99 | 赞赏码 |
| 2026-01-05 | Yancy | 49.99 | 赞赏码 |
<table>
<tr>
<td><img height="400" alt="donation-2026-01" src="https://github.com/user-attachments/assets/ab6eae5e-9e8a-496d-94aa-d3f0c8a1cfc1" /></td>
</tr>
</table>
---
## 历史年度记录
- [2025 年度捐赠记录](./donate/DONATIONS2025.md)
---
## 变更记录
- 2026-11-05:补录 11 月 4 日收到的微信赞赏 ¥ 5.00。
- 2026-11-01:更新 4 月、5 月、7 月赞赏的汇总捐赠记录及凭证。
- 2026-11-01:补录 2026 年 5 月、7 月的 5 笔微信赞赏,合计 ¥ 99.57。
- 2026-03-02:按年度拆分捐赠记录,2025 年数据归档至 `donate/DONATIONS2025.md`。
- 2025-10-26:初始化赞赏记录。汇总 2025 年 9 月、10 月份的赞赏,捐赠给「春蕾计划她们想上学」。
# xiaohongshu-mcp # xhs-publish-mcp
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> 小红书图文发布 MCP 服务(内网集中部署)。基于 [xpzouying/xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp) v2.7.3 修改。
[![All Contributors](https://img.shields.io/badge/all_contributors-40-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![善款已捐](https://img.shields.io/badge/善款已捐-CNY%202010.00-brightgreen?style=flat-square)](./DONATIONS.md)
[![爱心汇聚](https://img.shields.io/badge/爱心汇聚-CNY%201624.21-blue?style=flat-square)](./DONATIONS.md)
[![Docker Pulls](https://img.shields.io/docker/pulls/xpzouying/xiaohongshu-mcp?style=flat-square&logo=docker)](https://hub.docker.com/r/xpzouying/xiaohongshu-mcp)
MCP for 小红书 / xiaohongshu.com。让你的 AI 助手直接访问小红书数据。
## 内网图文发布模式 ## 内网图文发布模式
...@@ -34,1099 +26,9 @@ go build -o xhs-login.exe ./cmd/login ...@@ -34,1099 +26,9 @@ go build -o xhs-login.exe ./cmd/login
现有 Skill 仍连接编辑电脑的本机地址。供多人集中调用前,需要为 Skill 增加远程地址和令牌配置,并通过受控素材上传或受信任的素材域传递图片。服务接口支持读取部署机文件和下载图片,配置远程接入时应在入口限制素材来源。 现有 Skill 仍连接编辑电脑的本机地址。供多人集中调用前,需要为 Skill 增加远程地址和令牌配置,并通过受控素材上传或受信任的素材域传递图片。服务接口支持读取部署机文件和下载图片,配置远程接入时应在入口限制素材来源。
### 🚀 快速开始:选择最适合你的版本 ## 相关文档
> [!IMPORTANT]
> #### 🔥 方案 A:Openclaw 深度集成 (推荐给开发者)
> - **Openclaw 太火啦 🔥🔥🔥 ,新增 Openclaw 支持,分为两种,请各位按需使用:**
> - [xiaohongshu-mcp-skills](https://github.com/autoclaw-cc/xiaohongshu-mcp-skills)(适用于已部署完本项目的用户)
> - [xiaohongshu-skills](https://github.com/autoclaw-cc/xiaohongshu-skills)(开箱即用版)
> [!TIP]
> #### ✨ 方案 B:x-mcp 浏览器插件版 (推荐给非技术同学 / 追求极简的用户)
> - **不想折腾 Docker 或部署环境?试试:[xpzouying/x-mcp](https://github.com/xpzouying/x-mcp)**
> - **零配置**:安装插件即用,无需任何代码、代理或复杂的环境配置。
> - **安全稳定**:直接在常用浏览器 (Chrome/Edge) 及本地网络运行,无服务器 IP 风险,且能解决 90% 的部署报错。
### 📖 相关资源
- **我的博客文章**:[haha.ai/xiaohongshu-mcp](https://www.haha.ai/xiaohongshu-mcp)
- **贡献指南**:[Contributing Guide](./CONTRIBUTING.md)
### 🛠️ 疑难杂症
如果您在部署传统 Docker 版本时遇到问题,**务必先查看:[各种疑难杂症 (Issues #56)](https://github.com/xpzouying/xiaohongshu-mcp/issues/56)**。
> *提示:如果环境排查太耗时,切换到 [x-mcp 插件版](https://github.com/xpzouying/x-mcp) 通常是更高效的选择。*
## Star History
<!-- 图表由 .github/workflows/star-history.yml 每周生成到 star-history 数据分支(star-history.com 托管图表因 GitHub API 限制已失效) -->
<a href="https://www.star-history.com/#xpzouying/xiaohongshu-mcp&Timeline">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/xpzouying/xiaohongshu-mcp/star-history/assets/star-history-dark.svg" />
<img alt="Star History Chart" src="https://raw.githubusercontent.com/xpzouying/xiaohongshu-mcp/star-history/assets/star-history.svg" />
</picture>
</a>
## 赞赏支持
本项目所有的赞赏都会用于慈善捐赠。所有的慈善捐赠记录,请参考 [DONATIONS.md](./DONATIONS.md)。
**捐赠时,请备注 MCP 以及名字。**
如需更正/撤回署名,请开 Issue 或通过邮箱联系。
**支付宝(不展示二维码):**
通过支付宝向 **xpzouying@gmail.com** 赞赏。
**微信:**
<img src="donate/wechat@2x.png" alt="WeChat Pay QR" width="260" />
## 项目简介
**主要功能**
> 💡 **提示:** 点击下方功能标题可展开查看视频演示
<details>
<summary><b>1. 登录和检查登录状态</b></summary>
第一步必须,小红书需要进行登录。可以检查当前登录状态。
**登录演示:**
https://github.com/user-attachments/assets/8b05eb42-d437-41b7-9235-e2143f19e8b7
**检查登录状态演示:**
https://github.com/user-attachments/assets/bd9a9a4a-58cb-4421-b8f3-015f703ce1f9
</details>
<details>
<summary><b>2. 发布图文内容</b></summary>
支持发布图文内容到小红书,包括标题、内容描述和图片。
**图片支持方式:**
支持两种图片输入方式:
1. **HTTP/HTTPS 图片链接**
```
["https://example.com/image1.jpg", "https://example.com/image2.png"]
```
2. **本地图片绝对路径**(推荐)
```
["/Users/username/Pictures/image1.jpg", "/home/user/images/image2.png"]
```
**为什么推荐使用本地路径:**
- ✅ 稳定性更好,不依赖网络
- ✅ 上传速度更快
- ✅ 避免图片链接失效问题
- ✅ 支持更多图片格式
**发布图文帖子演示:**
https://github.com/user-attachments/assets/8aee0814-eb96-40af-b871-e66e6bbb6b06
</details>
<details>
<summary><b>3. 发布视频内容</b></summary>
支持发布视频内容到小红书,包括标题、内容描述和本地视频文件。
**视频支持方式:**
仅支持本地视频文件绝对路径:
```
"/Users/username/Videos/video.mp4"
```
**功能特点:**
- ✅ 支持本地视频文件上传
- ✅ 自动处理视频格式转换
- ✅ 支持标题、内容描述和标签
- ✅ 等待视频处理完成后自动发布
**注意事项:**
- 仅支持本地视频文件,不支持 HTTP 链接
- 视频处理时间较长,请耐心等待
- 建议视频文件大小不超过 1GB
</details>
<details>
<summary><b>4. 搜索内容</b></summary>
根据关键词搜索小红书内容。
**搜索帖子演示:**
https://github.com/user-attachments/assets/03c5077d-6160-4b18-b629-2e40933a1fd3
</details>
<details>
<summary><b>5. 获取推荐列表</b></summary>
获取小红书首页推荐内容列表。
**获取推荐列表演示:**
https://github.com/user-attachments/assets/110fc15d-46f2-4cca-bdad-9de5b5b8cc28
</details>
<details>
<summary><b>6. 获取帖子详情(包括互动数据和评论)</b></summary>
获取小红书帖子的完整详情,包括:
- 帖子内容(标题、描述、图片等)
- 用户信息
- 互动数据(点赞、收藏、分享、评论数)
- 评论列表及子评论
**⚠️ 重要提示:**
- 需要提供帖子 ID 和 xsec_token(两个参数缺一不可)
- 这两个参数可以从 Feed 列表或搜索结果中获取
- 必须先登录才能使用此功能
**获取帖子详情演示:**
https://github.com/user-attachments/assets/76a26130-a216-4371-a6b3-937b8fda092a
</details>
<details>
<summary><b>7. 发表评论到帖子</b></summary>
支持自动发表评论到小红书帖子。
**功能说明:**
- 自动定位评论输入框
- 输入评论内容并发布
- 支持 HTTP API 和 MCP 工具调用
**⚠️ 重要提示:**
- 需要先登录才能使用此功能
- 需要提供帖子 ID、xsec_token 和评论内容
- 这些参数可以从 Feed 列表或搜索结果中获取
**发表评论演示:**
https://github.com/user-attachments/assets/cc385b6c-422c-489b-a5fc-63e92c695b80
</details>
<details>
<summary><b>8. 获取用户个人主页</b></summary>
获取小红书用户的个人主页信息,包括用户基本信息和笔记内容。
**功能说明:**
- 获取用户基本信息(昵称、简介、头像等)
- 获取关注数、粉丝数、获赞量统计
- 获取用户发布的笔记内容列表
- 支持 HTTP API 和 MCP 工具调用
**⚠️ 重要提示:**
- 需要先登录才能使用此功能
- 需要提供用户 ID 和 xsec_token
- 这些参数可以从 Feed 列表或搜索结果中获取
**返回信息包括:**
- 用户基本信息:昵称、简介、头像、认证状态
- 统计数据:关注数、粉丝数、获赞量、笔记数
- 笔记列表:用户发布的所有公开笔记
</details>
<details>
<summary><b>9. 回复评论</b></summary>
回复笔记下的指定评论,支持精准回复特定用户的评论。
**功能说明:**
- 回复指定笔记下的特定评论
- 支持通过评论 ID 或用户 ID 定位目标评论
- 需要提供 feed_id、xsec_token、comment_id/user_id 和回复内容
**⚠️ 重要提示:**
- 需要先登录才能使用此功能
- comment_id 和 user_id 至少提供一个
- 这些参数可以从帖子详情的评论列表中获取
</details>
<details>
<summary><b>10. 点赞/取消点赞</b></summary>
为笔记点赞或取消点赞,智能检测当前状态避免重复操作。
**功能说明:**
- 为指定笔记点赞或取消点赞
- 智能检测:已点赞时跳过点赞,未点赞时跳过取消点赞
- 需要提供 feed_id 和 xsec_token
**⚠️ 重要提示:**
- 需要先登录才能使用此功能
- 默认为点赞操作,设置 unlike=true 可取消点赞
</details>
<details>
<summary><b>11. 收藏/取消收藏</b></summary>
收藏笔记或取消收藏,智能检测当前状态避免重复操作。
**功能说明:**
- 收藏指定笔记或取消收藏
- 智能检测:已收藏时跳过收藏,未收藏时跳过取消收藏
- 需要提供 feed_id 和 xsec_token
**⚠️ 重要提示:**
- 需要先登录才能使用此功能
- 默认为收藏操作,设置 unfavorite=true 可取消收藏
</details>
**小红书基础运营知识**
- **标题:(非常重要)小红书要求标题不超过 20 个字**
- **正文:(非常重要):正文不能超过 1000 个字**
- 当前支持图文发送以及视频发送:从推荐的角度看,图文的流量会比视频以及纯文字的更好。
- (低优先级)可以考虑纯文字的支持。1. 个人感觉纯文字会大大增加运营的复杂度;2. 纯文字在我的使用场景的价值较低。
- Tags:现已支持。添加合适的 Tags 能带来更多的流量。
- 根据本人实操,小红书每天的发帖量应该是 **50 篇**。
- **(非常重要)小红书的同一个账号不允许在多个网页端登录**,如果你登录了当前 xiaohongshu-mcp 后,就不要再在其他的网页端登录该账号,否则就会把当前 MCP 的账号“踢出登录”。你可以使用移动 App 端进行查看当前账号信息。
- 曝光低的话,首先查看内容中是否有违禁词,搜一下有很多第三方免费工具。
- 一定不要出现引流、纯搬运的情况,属于官方重点打击对象。
**风险说明**
1. 该项目是在自己的另外一个项目的基础上开源出来的,原来的项目稳定运行一年多,没有出现过封号的情况,只有出现过 Cookies 过期需要重新登录。
2. 我是使用 Claude Code 接入,稳定自动化运营数周后,验证没有问题后开源。
3. 如果账号没有实名认证,特别是新号,一般会触发 **实名认证** 的消息提醒(参见下图)。⚠️ 这个不是封号,不用 MCP 也会要求实名认证。实名认证后,账号就正常了。建议使用该项目前就先实名。
<img width="508" height="306" alt="image" src="https://github.com/user-attachments/assets/34383e1b-f666-409f-9870-002655507dc1" />
该项目是基于学习的目的,禁止一切违法行为。
**实操结果**
第一天点赞/收藏数达到了 999+,
<img width="386" height="278" alt="CleanShot 2025-09-05 at 01 31 55@2x" src="https://github.com/user-attachments/assets/4b5a283b-bd38-45b8-b608-8f818997366c" />
<img width="350" height="280" alt="CleanShot 2025-09-05 at 01 32 49@2x" src="https://github.com/user-attachments/assets/4481e1e7-3ef6-4bbd-8483-dcee8f77a8f2" />
一周左右的成果
<img width="1840" height="582" alt="CleanShot 2025-09-05 at 01 33 13@2x" src="https://github.com/user-attachments/assets/fb367944-dc48-4bbd-8ece-934caa86323e" />
## 1. 使用教程
### 1.1. 快速开始(推荐)
**方式一:下载预编译二进制文件**
直接从 [GitHub Releases](https://github.com/xpzouying/xiaohongshu-mcp/releases) 下载对应平台的二进制文件:
**主程序(MCP 服务):**
- **macOS Apple Silicon**: `xiaohongshu-mcp-darwin-arm64`
- **Windows x64**: `xiaohongshu-mcp-windows-amd64.exe`
- **Linux x64**: `xiaohongshu-mcp-linux-amd64`
**登录工具:**
- **macOS Apple Silicon**: `xiaohongshu-login-darwin-arm64`
- **Windows x64**: `xiaohongshu-login-windows-amd64.exe`
- **Linux x64**: `xiaohongshu-login-linux-amd64`
> 目前支持以上三个平台。macOS Intel 与 Linux ARM64 暂不支持。
使用步骤:
```bash
# 1. 首先运行登录工具
chmod +x xiaohongshu-login-darwin-arm64
./xiaohongshu-login-darwin-arm64
# 2. 然后启动 MCP 服务
chmod +x xiaohongshu-mcp-darwin-arm64
./xiaohongshu-mcp-darwin-arm64
```
**⚠️ 重要提示**:首次运行时会自动下载无头浏览器(约 150MB),请确保网络连接正常。后续运行无需重复下载。
**方式二:源码编译**
<details>
<summary>源码编译安装详情</summary>
依赖 Golang 环境,安装方法请参考 [Golang 官方文档](https://go.dev/doc/install)。
设置 Go 国内源的代理,
```bash
# 配置 GOPROXY 环境变量,以下三选一
# 1. 七牛 CDN
go env -w GOPROXY=https://goproxy.cn,direct
# 2. 阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# 3. 官方
go env -w GOPROXY=https://goproxy.io,direct
```
</details>
**方式三:使用 Docker 容器**
默认推荐无界面版;需要查看浏览器或短暂人工辅助时,选择 GUI 版。
| 部署方式 | 适用场景 | 镜像标签 |
| --- | --- | --- |
| 无界面(默认) | 日常 MCP 自动化,镜像更小 | `latest`、`vX.Y.Z` |
| GUI(noVNC,可选) | 查看登录页面、排查现场、辅助输入或选择素材 | `novnc`、`vX.Y.Z-novnc` |
在项目根目录执行,二选一:
```bash
# 默认无界面版
docker compose -f docker/docker-compose.yml up -d
```
```bash
# 可选 GUI 版
docker compose -f docker/novnc/compose.yml up -d
```
GUI 启动后打开 [浏览器桌面](http://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale)。两种部署的 MCP 地址均为 `http://127.0.0.1:18060/mcp`。
GUI 无独立密码,仅限本机或 SSH 转发访问,**不要直接暴露公网**。切换部署前先停止旧实例。
详细步骤、镜像源和数据目录配置见 [Docker 部署指南](./docker/README.md) 与 [GUI 部署指南](./docker/novnc/README.md)。
Windows 遇到问题首先看这里:[Windows 安装指南](./docs/windows_guide.md)
### 1.2. 登录
第一次需要手动登录,需要保存小红书的登录状态。
**使用二进制文件**:
```bash
# 运行对应平台的登录工具
./xiaohongshu-login-darwin-arm64
```
**使用源码**:
```bash
go run cmd/login/main.go
```
### 1.3. 启动 MCP 服务
启动 xiaohongshu-mcp 服务。
**使用二进制文件**:
```bash
# 默认:无头模式,没有浏览器界面
./xiaohongshu-mcp-darwin-arm64
# 非无头模式,有浏览器界面
./xiaohongshu-mcp-darwin-arm64 -headless=false
```
**使用源码**:
```bash
# 默认:无头模式,没有浏览器界面
go run .
# 非无头模式,有浏览器界面
go run . -headless=false
```
**配置代理(可选)**:
如果需要通过代理访问,可以设置 `XHS_PROXY` 环境变量:
```bash
# 设置代理后启动
XHS_PROXY=http://user:pass@proxy:port ./xiaohongshu-mcp-darwin-arm64
# 或使用源码
XHS_PROXY=http://proxy:port go run .
```
支持 HTTP/HTTPS/SOCKS5 代理,日志中会自动隐藏代理的认证信息。
**访问鉴权(可选)**:
默认关闭鉴权。生产环境建议使用 `AUTH_TOKEN` 环境变量配置;非空的启动参数优先于环境变量,留空则读取 `AUTH_TOKEN`。
```bash
# 环境变量
AUTH_TOKEN=your-secret-token ./xiaohongshu-mcp-darwin-arm64
AUTH_TOKEN=your-secret-token go run .
# 非空启动参数(优先于环境变量)
./xiaohongshu-mcp-darwin-arm64 -token=your-secret-token
go run . -token=your-secret-token
```
启用鉴权后,所有 MCP 客户端都必须配置自定义请求头 `Authorization: Bearer <token>`。命令行参数可能被进程列表看到,部署环境优先使用 `AUTH_TOKEN`。
例如,支持自定义请求头的 MCP 客户端可使用以下配置:
```json
{
"mcpServers": {
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"headers": { "Authorization": "Bearer your-secret-token" }
}
}
}
```
## 1.4. 验证 MCP
```bash
npx @modelcontextprotocol/inspector
```
![运行 Inspector](./assets/run_inspect.png)
运行后,打开红色标记的链接,配置 MCP inspector,输入 `http://localhost:18060/mcp` ,点击 `Connect` 按钮。
<img width="915" height="659" alt="bf9532dd0b7ba423491accf511a467de" src="https://github.com/user-attachments/assets/08bc3cef-73e7-42d2-b923-7ba9e6c8af30" />
**注意:** 左侧边框中的选项是否正确。
按照上面配置 MCP inspector 后,点击 `List Tools` 按钮,查看所有的 Tools。
## 1.5. 使用 MCP 发布
### 检查登录状态
![检查登录状态](./assets/check_login.gif)
### 发布图文
示例中是从 https://unsplash.com/ 中随机找了个图片做测试。
![发布图文](./assets/inspect_mcp_publish.gif)
### 搜索内容
使用搜索功能,根据关键词搜索小红书内容:
![搜索内容](./assets/search_result.png)
## 2. MCP 客户端接入
本服务支持标准的 Model Context Protocol (MCP),可以接入各种支持 MCP 的 AI 客户端。
### 2.1. 快速开始
#### 启动 MCP 服务
```bash
# 启动服务(默认无头模式)
go run .
# 或者有界面模式
go run . -headless=false
```
服务将运行在:`http://localhost:18060/mcp`
#### 验证服务状态
```bash
# 测试 MCP 连接
curl -X POST http://localhost:18060/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-secret-token" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'
```
#### Claude Code CLI 接入
```bash
# 添加 HTTP MCP 服务器
claude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcp
# 检查 MCP 是否添加成功(确保 MCP 已经启动的前提下,运行下面命令)
claude mcp list
```
### 2.2. 支持的客户端
<details>
<summary><b>Claude Code CLI</b></summary>
官方命令行工具,已在上面快速开始部分展示:
```bash
# 添加 HTTP MCP 服务器
claude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcp
# 检查 MCP 是否添加成功(确保 MCP 已经启动的前提下,运行下面命令)
claude mcp list
```
</details>
<details>
<summary><b>Open Code CLI</b></summary>
使用交互式命令添加 MCP Server:
```bash
opencode mcp add
```
以添加 `xiaohongshu-mcp` 为例:
```
┌ Add MCP server
│
◇ Enter MCP server name
│ xiaohongshu-mcp
│
◇ Select MCP server type
│ Remote
│
◇ Enter MCP server URL
│ http://localhost:18060/mcp
│
◇ Does this server require OAuth authentication?
│ No
│
◆ MCP server "xiaohongshu-mcp" added to C:\Users\admin\.config\opencode\opencode.json
│
└ MCP server added successfully
```
验证是否添加成功(确保 MCP 已启动的前提下):
```bash
opencode mcp list
```
```
┌ MCP Servers
│
● ✓ xiaohongshu-mcp connected
```
</details>
<details>
<summary><b>Cursor</b></summary>
#### 配置文件的方式
创建或编辑 MCP 配置文件:
**项目级配置**(推荐):
在项目根目录创建 `.cursor/mcp.json`:
```json
{
"mcpServers": {
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"description": "小红书内容发布服务 - MCP Streamable HTTP"
}
}
}
```
**全局配置**:
在用户目录创建 `~/.cursor/mcp.json` (同样内容)。
#### 使用步骤
1. 确保小红书 MCP 服务正在运行
2. 保存配置文件后,重启 Cursor
3. 在 Cursor 聊天中,工具应该自动可用
4. 可以通过聊天界面的 "Available Tools" 查看已连接的 MCP 工具
**Demo**
插件 MCP 接入:
![cursor_mcp_settings](./assets/cursor_mcp_settings.png)
调用 MCP 工具:(以检查登录状态为例)
![cursor_mcp_check_login](./assets/cursor_mcp_check_login.png)
</details>
<details>
<summary><b>VSCode</b></summary>
#### 方法一:使用命令面板配置
1. 按 `Ctrl/Cmd + Shift + P` 打开命令面板
2. 运行 `MCP: Add Server` 命令
3. 选择 `HTTP` 方式。
4. 输入地址: `http://localhost:18060/mcp`,或者修改成对应的 Server 地址。
5. 输入 MCP 名字: `xiaohongshu-mcp`。
#### 方法二:直接编辑配置文件
**工作区配置**(推荐):
在项目根目录创建 `.vscode/mcp.json`:
```json
{
"servers": {
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"type": "http"
}
},
"inputs": []
}
```
**查看配置**:
![vscode_config](./assets/vscode_mcp_config.png)
1. 确认运行状态。
2. 查看 `tools` 是否正确检测。
**Demo**
以搜索帖子内容为例:
![vscode_mcp_search](./assets/vscode_search_demo.png)
</details>
<details>
<summary><b>Google Gemini CLI</b></summary>
在 `~/.gemini/settings.json` 或项目目录 `.gemini/settings.json` 中配置:
```json
{
"mcpServers": {
"xiaohongshu": {
"httpUrl": "http://localhost:18060/mcp",
"timeout": 30000
}
}
}
```
更多信息请参考 [Gemini CLI MCP 文档](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html)
</details>
<details>
<summary><b>MCP Inspector</b></summary>
调试工具,用于测试 MCP 连接:
```bash
# 启动 MCP Inspector
npx @modelcontextprotocol/inspector
# 在浏览器中连接到:http://localhost:18060/mcp
```
使用步骤:
- 使用 MCP Inspector 测试连接
- 测试 Ping Server 功能验证连接
- 检查 List Tools 是否返回 13 个工具
</details>
<details>
<summary><b>Cline</b></summary>
Cline 是一个强大的 AI 编程助手,支持 MCP 协议集成。
#### 配置方法
在 Cline 的 MCP 设置中添加以下配置:
```json
{
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"type": "streamableHttp",
"autoApprove": [],
"disabled": false
}
}
```
#### 使用步骤
1. 确保小红书 MCP 服务正在运行(`http://localhost:18060/mcp`)
2. 在 Cline 中打开 MCP 设置
3. 添加上述配置到 MCP 服务器列表
4. 保存配置并重启 Cline
5. 在对话中可以直接使用小红书相关功能
#### 配置说明
- `url`: MCP 服务地址
- `type`: 使用 `streamableHttp` 类型以获得更好的性能
- `autoApprove`: 可配置自动批准的工具列表(留空表示手动批准)
- `disabled`: 设置为 `false` 启用此 MCP 服务
#### 使用示例
配置完成后,可以在 Cline 中直接使用自然语言操作小红书:
```
帮我检查小红书登录状态
```
```
帮我发布一篇关于春天的图文到小红书,使用这张图片:/path/to/spring.jpg
```
```
搜索小红书上关于"美食"的内容
```
</details>
<details>
<summary><b>OpenClaw(通过 MCPorter)</b></summary>
> 使用前请确保 xiaohongshu-mcp 已完成本地部署。**不建议**将 GitHub 链接直接丢给 OpenClaw 让其代为部署。
由于 OpenClaw 目前不原生支持 MCP,官方推荐通过 **MCPorter** 来调用 MCP 服务。
> 💡 **提示:** MCPorter 并非调用 MCP 的最佳方案,使用过程中可能出现一些兼容性问题,请知悉。
#### 安装与配置步骤
直接一次性将一下三行命令丢给 OpenClaw(可以是 Control UI、Telegram、Feishu等方式),Openclaw 会代为部署 MCPorter。
```
npm i -g mcporter
npx mcporter config add xiaohongshu-mcp http://localhost:18060/mcp
npx mcporter list xiaohongshu-mcp
```
完成上述步骤后,即可在 OpenClaw 中通过自然语言调用 xiaohongshu-mcp 的所有功能。
</details>
<details>
<summary><b>其他支持 HTTP MCP 的客户端</b></summary>
任何支持 HTTP MCP 协议的客户端都可以连接到:`http://localhost:18060/mcp`
基本配置模板:
```json
{
"name": "xiaohongshu-mcp",
"url": "http://localhost:18060/mcp",
"type": "http"
}
```
</details>
### 2.3. 可用 MCP 工具
连接成功后,可使用以下 MCP 工具:
- `check_login_status` - 检查小红书登录状态(无参数)
- `get_login_qrcode` - 获取登录二维码,返回 Base64 图片和超时时间(无参数)
- `delete_cookies` - 删除 cookies 文件,重置登录状态,删除后需要重新登录(无参数)
- `publish_content` - 发布图文内容到小红书(必需:title, content, images)
- `images`: 图片路径列表(至少1张),支持 HTTP 链接或本地绝对路径,推荐使用本地路径
- `tags`: 话题标签列表(可选),如 `["美食", "旅行", "生活"]`
- `schedule_at`: 定时发布时间(可选),ISO8601 格式,支持 1 小时至 14 天内
- `is_original`: 是否声明原创(可选),默认不声明
- `visibility`: 可见范围(可选),支持 `公开可见`(默认)、`仅自己可见`、`仅互关好友可见`
- `products`: 商品关键词列表(可选),用于绑定带货商品。填写商品名称或商品ID,系统会自动搜索并选择第一个匹配结果。需账号已开通商品功能。示例: [面膜, 防晒霜SPF50]
- `publish_with_video` - 发布视频内容到小红书(必需:title, content, video)
- `video`: 本地视频文件绝对路径(仅支持单个视频文件)
- `tags`: 话题标签列表(可选),如 `["美食", "旅行", "生活"]`
- `schedule_at`: 定时发布时间(可选),ISO8601 格式,支持 1 小时至 14 天内
- `visibility`: 可见范围(可选),支持 `公开可见`(默认)、`仅自己可见`、`仅互关好友可见`
- `products`: 商品关键词列表(可选),用于绑定带货商品。填写商品名称或商品ID,系统会自动搜索并选择第一个匹配结果。需账号已开通商品功能。示例: [面膜, 防晒霜SPF50]
- `list_feeds` - 获取小红书首页推荐列表(无参数)
- `search_feeds` - 搜索小红书内容(必需:keyword)
- `filters`: 筛选选项(可选)
- `sort_by`: 排序依据 - `综合`(默认)| `最新` | `最多点赞` | `最多评论` | `最多收藏`
- `note_type`: 笔记类型 - `不限`(默认)| `视频` | `图文`
- `publish_time`: 发布时间 - `不限`(默认)| `一天内` | `一周内` | `半年内`
- `search_scope`: 搜索范围 - `不限`(默认)| `已看过` | `未看过` | `已关注`
- `location`: 位置距离 - `不限`(默认)| `同城` | `附近`
- `get_feed_detail` - 获取帖子详情,包括互动数据和评论(必需:feed_id, xsec_token)
- `load_all_comments`: 是否加载全部评论(可选),默认 false 仅返回前 10 条一级评论
- `limit`: 限制加载的一级评论数量(可选),仅当 load_all_comments=true 时生效,默认 20
- `click_more_replies`: 是否展开二级回复(可选),仅当 load_all_comments=true 时生效,默认 false
- `reply_limit`: 跳过回复数过多的评论(可选),仅当 click_more_replies=true 时生效,默认 10
- `scroll_speed`: 滚动速度(可选),`slow` | `normal` | `fast`,仅当 load_all_comments=true 时生效
- `post_comment_to_feed` - 发表评论到小红书帖子(必需:feed_id, xsec_token, content)
- `reply_comment_in_feed` - 回复笔记下的指定评论(必需:feed_id, xsec_token, content,以及 comment_id 或 user_id 至少一个)
- `like_feed` - 点赞/取消点赞(必需:feed_id, xsec_token)
- `unlike`: 是否取消点赞(可选),true 为取消点赞,默认为点赞
- `favorite_feed` - 收藏/取消收藏(必需:feed_id, xsec_token)
- `unfavorite`: 是否取消收藏(可选),true 为取消收藏,默认为收藏
- `user_profile` - 获取用户个人主页信息(必需:user_id, xsec_token)
### 2.4. 使用示例
使用 Claude Code 发布内容到小红书:
**示例 1:使用 HTTP 图片链接**
```
帮我写一篇帖子发布到小红书上,
配图为:https://cn.bing.com/th?id=OHR.MaoriRock_EN-US6499689741_UHD.jpg&w=3840
图片是:"纽西兰陶波湖的Ngātoroirangi矿湾毛利岩雕(© Joppi/Getty Images)"
使用 xiaohongshu-mcp 进行发布。
```
**示例 2:使用本地图片路径(推荐)**
```
帮我写一篇关于春天的帖子发布到小红书上,
使用这些本地图片:
- /Users/username/Pictures/spring_flowers.jpg
- /Users/username/Pictures/cherry_blossom.jpg
使用 xiaohongshu-mcp 进行发布。
```
**示例 3:发布视频内容**
```
帮我写一篇关于美食制作的视频发布到小红书上,
使用这个本地视频文件:
- /Users/username/Videos/cooking_tutorial.mp4
使用 xiaohongshu-mcp 的视频发布功能。
```
![claude-cli 进行发布](./assets/claude_push.gif)
**发布结果:**
<img src="./assets/publish_result.jpeg" alt="xiaohongshu-mcp 发布结果" width="300">
### 2.5. 💬 MCP 使用常见问题解答
---
> ⚠️ 以下是使用 OpenClaw + MCPorter 时的已知风险,使用前请充分了解:
- OpenClaw 的 AI 自动部署行为不在本项目的维护范围内,部署结果无法保证
- MCPorter 作为中间层可能引入额外的兼容性问题,与 xiaohongshu-mcp 本身无关
- 若遇到连接失败、工具调用异常等问题,请先排查 MCPorter 自身的配置,而非提交 Issue
- 在提问社区或群组前,请先确认问题是否能在**不使用 OpenClaw** 的情况下复现
如果你没有强烈的 OpenClaw 使用需求,强烈建议改用 [Claude Code CLI](#claude-code-cli)、[Cursor](#cursor) 或 [Cline](#cline) 等原生支持 HTTP MCP 的客户端,体验会更稳定。
---
**Q:** 为什么检查登录用户名显示 `xiaghgngshu-mcp`?
**A:** 用户名是写死的。
---
**Q:** 显示发布成功后,但实际上没有显示?
**A:** 排查步骤如下:
1. 使用 **非无头模式** 重新发布一次。
2. 更换 **不同的内容** 重新发布。
3. 登录网页版小红书,查看账号是否被 **风控限制网页版发布**。
4. 检查 **图片大小** 是否过大。
5. 确认 **图片路径中没有中文字符**。
6. 若使用网络图片地址,请确认 **图片链接可正常访问**。
---
**Q:** 在设备上运行 MCP 程序出现闪退如何解决?
**A:**
1. 建议 **从源码安装**。
2. 或使用 **Docker 安装 xiaohongshu-mcp**,教程参考:
- [使用 Docker 安装 xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp#:~:text=%E6%96%B9%E5%BC%8F%E4%B8%89%EF%BC%9A%E4%BD%BF%E7%94%A8%20Docker%20%E5%AE%B9%E5%99%A8%EF%BC%88%E6%9C%80%E7%AE%80%E5%8D%95%EF%BC%89)
- [X-MCP 项目页面](https://github.com/xpzouying/x-mcp/)
---
**Q:** 使用 `http://localhost:18060/mcp` 进行 MCP 验证时提示无法连接?
**A:**
- 在 **Docker 环境** 下,请使用
👉 [http://host.docker.internal:18060/mcp](http://host.docker.internal:18060/mcp)
- 在 **非 Docker 环境** 下,请使用 **本机 IPv4 地址** 访问。
---
## 3. 🌟 实战案例展示 (Community Showcases)
> 💡 **强烈推荐查看**:这些都是社区贡献者的真实使用案例,包含详细的配置步骤和实战经验!
### 📚 完整教程列表
1. **[n8n 完整集成教程](./examples/n8n/README.md)** - 工作流自动化平台集成
2. **[Cherry Studio 完整配置教程](./examples/cherrystudio/README.md)** - AI 客户端完美接入
3. **[Claude Code + Kimi K2 接入教程](./examples/claude-code/claude-code-kimi-k2.md)** - Claude Code 门槛太高,那么就接入 Kimi 国产大模型吧~
4. **[AnythingLLM 完整指南](./examples/anythingLLM/readme.md)** - AnythingLLM 是一款 all-in-one 多模态 AI 客户端,支持 workflow 定义,支持多种大模型和插件扩展。
> 🎯 **提示**: 点击上方链接查看详细的图文教程,快速上手各种集成方案!
>
> 📢 **欢迎贡献**: 如果你有新的集成案例,欢迎提交 PR 分享给社区!
## 4. 小红书 MCP 互助群
**重要:在群里问问题之前,请一定要先仔细看完 README 文档以及查看 Issues。**
### 微信群
| 微信群 26 群 | 微信群 27 群 |
| :------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: |
| <img src="https://raw.githubusercontent.com/ltzteam/images/refs/heads/main/2.JPG" alt="WechatIMG119" width="300"> | <img src="https://raw.githubusercontent.com/ltzteam/images/refs/heads/main/3.JPG" alt="WechatIMG119" width="300"> |
### 飞书群
| 飞书 2 群 | 飞书 3 群 | 飞书 4 群 | 飞书 5 群 |
| :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: |
| <img src="https://github.com/user-attachments/assets/4983ea42-ce5b-4e26-a8c0-33889093b579" alt="qr-feishu02" width="260"> | <img src="https://github.com/user-attachments/assets/c77b45da-6028-4d3a-b421-ccc6c7210695" alt="qr-feishu03" width="260"> | <img src="https://github.com/user-attachments/assets/c42f5595-71cd-4d9b-b7f8-0c333bd25e2b" alt="qr-feishu04" width="260"> | <img src="https://github.com/user-attachments/assets/c032801c-bf02-4e8e-81ad-fb8471b3d765" alt="qr-feishu05" width="260"> |
> **注意:**
>
> 1. 微信群的二维码有时间限制,有时候忘记更新,麻烦等待更新或者提交 Issue 催我更新。
> 2. 飞书群,如果有的群满了,可以尝试扫一下另外一个群,总有坑位。
## 🙏 致谢贡献者 ✨
感谢以下所有为本项目做出贡献的朋友!(排名不分先后)
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://haha.ai"><img src="https://avatars.githubusercontent.com/u/3946563?v=4?s=100" width="100px;" alt="zy"/><br /><sub><b>zy</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=xpzouying" title="Code">💻</a> <a href="#ideas-xpzouying" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=xpzouying" title="Documentation">📖</a> <a href="#design-xpzouying" title="Design">🎨</a> <a href="#maintenance-xpzouying" title="Maintenance">🚧</a> <a href="#infra-xpzouying" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/pulls?q=is%3Apr+reviewed-by%3Axpzouying" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.hwbuluo.com"><img src="https://avatars.githubusercontent.com/u/1271815?v=4?s=100" width="100px;" alt="clearwater"/><br /><sub><b>clearwater</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=esperyong" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/laryzhong"><img src="https://avatars.githubusercontent.com/u/47939471?v=4?s=100" width="100px;" alt="Zhongpeng"/><br /><sub><b>Zhongpeng</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=laryzhong" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DTDucas"><img src="https://avatars.githubusercontent.com/u/105262836?v=4?s=100" width="100px;" alt="Duong Tran"/><br /><sub><b>Duong Tran</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=DTDucas" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Angiin"><img src="https://avatars.githubusercontent.com/u/17389304?v=4?s=100" width="100px;" alt="Angiin"/><br /><sub><b>Angiin</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Angiin" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/muhenan"><img src="https://avatars.githubusercontent.com/u/43441941?v=4?s=100" width="100px;" alt="Henan Mu"/><br /><sub><b>Henan Mu</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=muhenan" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/chengazhen"><img src="https://avatars.githubusercontent.com/u/52627267?v=4?s=100" width="100px;" alt="Journey"/><br /><sub><b>Journey</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=chengazhen" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eveyuyi"><img src="https://avatars.githubusercontent.com/u/69026872?v=4?s=100" width="100px;" alt="Eve Yu"/><br /><sub><b>Eve Yu</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=eveyuyi" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CooperGuo"><img src="https://avatars.githubusercontent.com/u/183056602?v=4?s=100" width="100px;" alt="CooperGuo"/><br /><sub><b>CooperGuo</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=CooperGuo" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://biboyqg.github.io/"><img src="https://avatars.githubusercontent.com/u/125724218?v=4?s=100" width="100px;" alt="Banghao Chi"/><br /><sub><b>Banghao Chi</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=BiboyQG" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/varz1"><img src="https://avatars.githubusercontent.com/u/60377372?v=4?s=100" width="100px;" alt="varz1"/><br /><sub><b>varz1</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=varz1" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://google.meloguan.site"><img src="https://avatars.githubusercontent.com/u/62586556?v=4?s=100" width="100px;" alt="Melo Y Guan"/><br /><sub><b>Melo Y Guan</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Meloyg" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lmxdawn"><img src="https://avatars.githubusercontent.com/u/21293193?v=4?s=100" width="100px;" alt="lmxdawn"/><br /><sub><b>lmxdawn</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=lmxdawn" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/haikow"><img src="https://avatars.githubusercontent.com/u/22428382?v=4?s=100" width="100px;" alt="haikow"/><br /><sub><b>haikow</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=haikow" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://carlo-blog.aiju.fun/"><img src="https://avatars.githubusercontent.com/u/18513362?v=4?s=100" width="100px;" alt="Carlo"/><br /><sub><b>Carlo</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=a67793581" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hrz394943230"><img src="https://avatars.githubusercontent.com/u/28583005?v=4?s=100" width="100px;" alt="hrz"/><br /><sub><b>hrz</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=hrz394943230" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ctrlz526"><img src="https://avatars.githubusercontent.com/u/143257420?v=4?s=100" width="100px;" alt="Ctrlz"/><br /><sub><b>Ctrlz</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ctrlz526" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/flippancy"><img src="https://avatars.githubusercontent.com/u/6467703?v=4?s=100" width="100px;" alt="flippancy"/><br /><sub><b>flippancy</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=flippancy" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Infinityay"><img src="https://avatars.githubusercontent.com/u/103165980?v=4?s=100" width="100px;" alt="Yuhang Lu"/><br /><sub><b>Yuhang Lu</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Infinityay" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://triepod.ai"><img src="https://avatars.githubusercontent.com/u/199543909?v=4?s=100" width="100px;" alt="Bryan Thompson"/><br /><sub><b>Bryan Thompson</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=bryankthompson" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.megvii.com"><img src="https://avatars.githubusercontent.com/u/7806992?v=4?s=100" width="100px;" alt="tan jun"/><br /><sub><b>tan jun</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=tanxxjun321" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/coldmountein"><img src="https://avatars.githubusercontent.com/u/95873096?v=4?s=100" width="100px;" alt="coldmountain"/><br /><sub><b>coldmountain</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=coldmountein" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://blog.litpp.com/"><img src="https://avatars.githubusercontent.com/u/44826388?v=4?s=100" width="100px;" alt="mamage"/><br /><sub><b>mamage</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=yqdaddy" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=yqdaddy" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://runyang.vercel.app/"><img src="https://avatars.githubusercontent.com/u/54588936?v=4?s=100" width="100px;" alt="Runyang YOU"/><br /><sub><b>Runyang YOU</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=YRYangang" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=YRYangang" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.hnfnu.edu.cn/"><img src="https://avatars.githubusercontent.com/u/134906805?v=4?s=100" width="100px;" alt="e0_7"/><br /><sub><b>e0_7</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Daily-AC" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Daily-AC" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/prehisle"><img src="https://avatars.githubusercontent.com/u/2081344?v=4?s=100" width="100px;" alt="prehisle"/><br /><sub><b>prehisle</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=prehisle" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=prehisle" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/blablabiu"><img src="https://avatars.githubusercontent.com/u/123888078?v=4?s=100" width="100px;" alt="Xinhao Chen"/><br /><sub><b>Xinhao Chen</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=blablabiu" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=blablabiu" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qiuxsgit"><img src="https://avatars.githubusercontent.com/u/15036686?v=4?s=100" width="100px;" alt="qiuxsgit"/><br /><sub><b>qiuxsgit</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=qiuxsgit" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ZhuYichuan"><img src="https://avatars.githubusercontent.com/u/7954801?v=4?s=100" width="100px;" alt="openlts"/><br /><sub><b>openlts</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ZhuYichuan" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/galois1983"><img src="https://avatars.githubusercontent.com/u/80469442?v=4?s=100" width="100px;" alt="galois1983"/><br /><sub><b>galois1983</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=galois1983" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/xPeiPeix"><img src="https://avatars.githubusercontent.com/u/42157266?v=4?s=100" width="100px;" alt="Peip"/><br /><sub><b>Peip</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=xPeiPeix" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/zhenzoo"><img src="https://avatars.githubusercontent.com/u/273501489?v=4?s=100" width="100px;" alt="zhenzoo"/><br /><sub><b>zhenzoo</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=zhenzoo" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eeeggplant"><img src="https://avatars.githubusercontent.com/u/73321941?v=4?s=100" width="100px;" alt="eggplant"/><br /><sub><b>eggplant</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=eeeggplant" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Iams4kura"><img src="https://avatars.githubusercontent.com/u/126048986?v=4?s=100" width="100px;" alt="s4kura"/><br /><sub><b>s4kura</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Iams4kura" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Matrixqlc"><img src="https://avatars.githubusercontent.com/u/129405195?v=4?s=100" width="100px;" alt="Matrixqlc"/><br /><sub><b>Matrixqlc</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Matrixqlc" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.zhihu.com/people/lim0-34"><img src="https://avatars.githubusercontent.com/u/39004676?v=4?s=100" width="100px;" alt="Qu Yuli"/><br /><sub><b>Qu Yuli</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=DLLXW" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ao-lj-ao"><img src="https://avatars.githubusercontent.com/u/287673796?v=4?s=100" width="100px;" alt="ao-lj-ao"/><br /><sub><b>ao-lj-ao</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ao-lj-ao" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CNQQC"><img src="https://avatars.githubusercontent.com/u/243505512?v=4?s=100" width="100px;" alt="CNQQC"/><br /><sub><b>CNQQC</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=CNQQC" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ACCLE123"><img src="https://avatars.githubusercontent.com/u/95094975?v=4?s=100" width="100px;" alt="ACCLE123"/><br /><sub><b>ACCLE123</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ACCLE123" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SamYunquChen"><img src="https://avatars.githubusercontent.com/u/106165995?v=4?s=100" width="100px;" alt="SamYunquChen"/><br /><sub><b>SamYunquChen</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=SamYunquChen" title="Code">💻</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
### ✨ 特别感谢
<table>
<tbody>
<tr>
<td align="center" valign="top" width="20%"><a href="https://github.com/wanpengxie"><img src="https://avatars.githubusercontent.com/wanpengxie" width="130px;" alt="wanpengxie"/><br /><sub><b>@wanpengxie</b></sub></a></td>
<td align="center" valign="top" width="20%"><a href="https://github.com/tanxxjun321"><img src="https://avatars.githubusercontent.com/u/7806992?v=4" width="130px;" alt="tanxxjun321"/><br /><sub><b>@tanxxjun321</b></sub></a></td>
<td align="center" valign="top" width="20%"><a href="https://github.com/Angiin"><img src="https://avatars.githubusercontent.com/u/17389304?v=4" width="130px;" alt="Angiin"/><br /><sub><b>@Angiin</b></sub></a></td>
</tr>
</tbody>
</table>
本项目遵循 [all-contributors](https://github.com/all-contributors/all-contributors) 规范。欢迎任何形式的贡献!
## 📄 许可证
本项目采用 [Apache License 2.0](LICENSE) 开源。
你可以自由地使用、修改和分发本项目,包括用于商业用途,只需保留原始的版权声明和许可证文件。详细条款以 [LICENSE](LICENSE) 文件为准。
向本项目提交的贡献,默认按同一许可证授权。 - [HTTP API 说明](docs/API.md)
- [Windows 部署指南](docs/windows_guide.md)
- [Docker 部署](docker/README.md) | [GUI 部署(noVNC)](docker/novnc/README.md)
- [post-to-xhs Skill](skills/post-to-xhs/SKILL.md)
# xiaohongshu-mcp
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-40-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![Philanthropy](https://img.shields.io/badge/Philanthropy-CNY%202010.00-brightgreen?style=flat-square)](./DONATIONS.md)
[![Gratitude](https://img.shields.io/badge/Gratitude-CNY%201624.21-blue?style=flat-square)](./DONATIONS.md)
[![Docker Pulls](https://img.shields.io/docker/pulls/xpzouying/xiaohongshu-mcp?style=flat-square&logo=docker)](https://hub.docker.com/r/xpzouying/xiaohongshu-mcp)
MCP for RedNote (Xiaohongshu) / xiaohongshu.com. Give your AI assistant direct access to RedNote data.
### 🚀 Quick Start: Pick the Version That Fits You
> [!IMPORTANT]
> #### 🔥 Option A: Deep Openclaw Integration (recommended for developers)
> - **Openclaw is on fire 🔥🔥🔥 — Openclaw support has been added in two flavors, pick whichever suits you:**
> - [xiaohongshu-mcp-skills](https://github.com/autoclaw-cc/xiaohongshu-mcp-skills) (for users who already have this project deployed)
> - [xiaohongshu-skills](https://github.com/autoclaw-cc/xiaohongshu-skills) (ready to use out of the box)
> [!TIP]
> #### ✨ Option B: x-mcp Browser Extension (recommended for non-technical users / anyone who wants the simplest setup)
> - **Don't want to deal with Docker or set up a deployment environment? Try [xpzouying/x-mcp](https://github.com/xpzouying/x-mcp).**
> - **Zero configuration**: install the extension and it just works — no code, no proxy, no complicated environment setup.
> - **Safe and stable**: runs directly in your everyday browser (Chrome/Edge) on your local network, with no server IP risk, and it solves 90% of deployment errors.
### 📖 Related Resources
- **My blog article**: [haha.ai/xiaohongshu-mcp](https://www.haha.ai/xiaohongshu-mcp)
- **Contributing Guide**: [Contributing Guide](./CONTRIBUTING.md)
### 🛠️ Troubleshooting
If you run into problems deploying the traditional Docker version, **be sure to check [Common Issues and Solutions (Issues #56)](https://github.com/xpzouying/xiaohongshu-mcp/issues/56) first**.
> *Tip: if troubleshooting your environment is eating up too much time, switching to the [x-mcp extension](https://github.com/xpzouying/x-mcp) is usually the more efficient choice.*
## Star History
<!-- Chart generated weekly onto the star-history data branch by .github/workflows/star-history.yml (star-history.com hosted chart broke due to GitHub API restrictions) -->
<a href="https://www.star-history.com/#xpzouying/xiaohongshu-mcp&Timeline">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/xpzouying/xiaohongshu-mcp/star-history/assets/star-history-dark.svg" />
<img alt="Star History Chart" src="https://raw.githubusercontent.com/xpzouying/xiaohongshu-mcp/star-history/assets/star-history.svg" />
</picture>
</a>
## Appreciation and Support
All donations received for this project will be used for charitable giving. For all charitable donation records, please refer to [DONATIONS.md](./DONATIONS.md).
**When donating, please note "MCP" and your name.**
If you need to correct/withdraw your name attribution, please open an Issue or contact via email.
**Alipay (QR code not displayed):**
Donate via Alipay to **xpzouying@gmail.com**.
**WeChat:**
<img src="donate/wechat@2x.png" alt="WeChat Pay QR" width="260" />
## Project Overview
**Main Features**
> 💡 **Tip:** Click on the feature titles below to expand and view video demonstrations
<details>
<summary><b>1. Login and Check Login Status</b></summary>
The first step is required - RedNote needs to be logged in. You can check current login status.
**Login Demo:**
https://github.com/user-attachments/assets/8b05eb42-d437-41b7-9235-e2143f19e8b7
**Check Login Status Demo:**
https://github.com/user-attachments/assets/bd9a9a4a-58cb-4421-b8f3-015f703ce1f9
</details>
<details>
<summary><b>2. Publish Image and Text Content</b></summary>
Supports publishing image and text content to RedNote, including title, content description, and images.
**Image Support Methods:**
Supports two image input methods:
1. **HTTP/HTTPS Image Links**
```
["https://example.com/image1.jpg", "https://example.com/image2.png"]
```
2. **Local Image Absolute Paths** (Recommended)
```
["/Users/username/Pictures/image1.jpg", "/home/user/images/image2.png"]
```
**Why Local Paths are Recommended:**
- ✅ Better stability, not dependent on network
- ✅ Faster upload speed
- ✅ Avoid image link expiration issues
- ✅ Support more image formats
**Publish Image-Text Post Demo:**
https://github.com/user-attachments/assets/8aee0814-eb96-40af-b871-e66e6bbb6b06
</details>
<details>
<summary><b>3. Publish Video Content</b></summary>
Supports publishing video content to RedNote, including title, content description, and local video files.
**Video Support Methods:**
Only supports local video file absolute paths:
```
"/Users/username/Videos/video.mp4"
```
**Features:**
- ✅ Supports local video file upload
- ✅ Automatic video format processing
- ✅ Supports title, content description, and tags
- ✅ Automatically publishes after video processing is complete
**Important Notes:**
- Only supports local video files, not HTTP links
- Video processing takes longer, please be patient
- Recommended video file size should not exceed 1GB
</details>
<details>
<summary><b>4. Search Content</b></summary>
Search RedNote content by keywords.
**Search Posts Demo:**
https://github.com/user-attachments/assets/03c5077d-6160-4b18-b629-2e40933a1fd3
</details>
<details>
<summary><b>5. Get Recommendation List</b></summary>
Get RedNote homepage recommendation content list.
**Get Recommendation List Demo:**
https://github.com/user-attachments/assets/110fc15d-46f2-4cca-bdad-9de5b5b8cc28
</details>
<details>
<summary><b>6. Get Post Details (Including Interaction Data and Comments)</b></summary>
Get complete details of RedNote posts, including:
- Post content (title, description, images, etc.)
- User information
- Interaction data (likes, favorites, shares, comment count)
- Comment list and sub-comments
**⚠️ Important Note:**
- Both post ID and xsec_token are required (both parameters are essential)
- These two parameters can be obtained from Feed list or search results
- Must login first to use this feature
**Get Post Details Demo:**
https://github.com/user-attachments/assets/76a26130-a216-4371-a6b3-937b8fda092a
</details>
<details>
<summary><b>7. Post Comments to Posts</b></summary>
Supports automatically posting comments to RedNote posts.
**Feature Description:**
- Automatically locate comment input box
- Input comment content and publish
- Supports HTTP API and MCP tool calls
**⚠️ Important Note:**
- Must login first to use this feature
- Need to provide post ID, xsec_token, and comment content
- These parameters can be obtained from Feed list or search results
**Post Comment Demo:**
https://github.com/user-attachments/assets/cc385b6c-422c-489b-a5fc-63e92c695b80
</details>
<details>
<summary><b>8. Get User Profile</b></summary>
Get RedNote user's personal profile information, including basic user information and note content.
**Feature Description:**
- Get user basic information (nickname, bio, avatar, etc.)
- Get follower count, following count, likes count statistics
- Get user's published note content list
- Supports HTTP API and MCP tool calls
**⚠️ Important Note:**
- Must login first to use this feature
- Need to provide user ID and xsec_token
- These parameters can be obtained from Feed list or search results
**Returned Information Includes:**
- User basic info: nickname, bio, avatar, verification status
- Statistics: following count, follower count, likes count, note count
- Note list: all public notes published by the user
</details>
<details>
<summary><b>9. Reply to Comments</b></summary>
Reply to a specific comment under a note, supporting precise replies to specific users' comments.
**Feature Description:**
- Reply to a specific comment under a note
- Support locating target comment by comment ID or user ID
- Requires feed_id, xsec_token, comment_id/user_id, and reply content
**⚠️ Important Note:**
- Must login first to use this feature
- At least one of comment_id or user_id must be provided
- These parameters can be obtained from the comment list in post details
</details>
<details>
<summary><b>10. Like / Unlike</b></summary>
Like or unlike a note, with smart detection of current status to avoid duplicate operations.
**Feature Description:**
- Like or unlike a specified note
- Smart detection: skips liking if already liked, skips unliking if not liked
- Requires feed_id and xsec_token
**⚠️ Important Note:**
- Must login first to use this feature
- Default action is like, set unlike=true to unlike
</details>
<details>
<summary><b>11. Favorite / Unfavorite</b></summary>
Favorite a note or unfavorite it, with smart detection of current status to avoid duplicate operations.
**Feature Description:**
- Favorite or unfavorite a specified note
- Smart detection: skips favoriting if already favorited, skips unfavoriting if not favorited
- Requires feed_id and xsec_token
**⚠️ Important Note:**
- Must login first to use this feature
- Default action is favorite, set unfavorite=true to unfavorite
</details>
**RedNote Basic Operation Knowledge**
- **Title: (Very Important) RedNote requires titles to not exceed 20 characters**
- **Content: (Very Important) Content cannot exceed 1000 characters**
- Currently supports both image-text and video posting: From a recommendation perspective, image-text posts get better traffic than video or pure text.
- (Low priority) Pure text support can be considered. 1. I personally feel pure text would greatly increase operation complexity; 2. Pure text has low value in my use scenarios.
- Tags: Now supported. Adding appropriate tags can bring more traffic.
- According to my practical experience, RedNote should allow **50 posts** per day.
- **(Very Important) RedNote does not allow the same account to login on multiple web platforms**. If you login to the current xiaohongshu-mcp, don't login to that account on other web platforms, otherwise it will "kick out" the current MCP account login. You can use the mobile app to check current account information.
- If your reach is low, first check whether your content contains banned words — there are plenty of free third-party tools you can search for.
- Never do traffic diversion or pure content scraping/reposting — these are exactly what the platform cracks down on.
**Risk Explanation**
1. This project is open-sourced based on another project of mine. The original project has been running stably for over a year without any account bans, only occasional cookie expiration requiring re-login.
2. I used Claude Code CLI integration and verified stable automated operation for several weeks before open-sourcing.
3. If an account has not completed real-name verification, especially a new account, it will usually trigger a **real-name verification** prompt (see the screenshot below). ⚠️ This is not an account ban — you would be asked to verify even without using the MCP. Once verified, the account works normally. It is recommended to complete verification before using this project.
<img width="508" height="306" alt="image" src="https://github.com/user-attachments/assets/34383e1b-f666-409f-9870-002655507dc1" />
This project is for learning purposes only. All illegal activities are prohibited.
**Practical Results**
First day likes/favorites reached 999+,
<img width="386" height="278" alt="CleanShot 2025-09-05 at 01 31 55@2x" src="https://github.com/user-attachments/assets/4b5a283b-bd38-45b8-b608-8f818997366c" />
<img width="350" height="280" alt="CleanShot 2025-09-05 at 01 32 49@2x" src="https://github.com/user-attachments/assets/4481e1e7-3ef6-4bbd-8483-dcee8f77a8f2" />
Results after about a week
<img width="1840" height="582" alt="CleanShot 2025-09-05 at 01 33 13@2x" src="https://github.com/user-attachments/assets/fb367944-dc48-4bbd-8ece-934caa86323e" />
## 1. Usage Tutorial
### 1.1. Quick Start (Recommended)
**Method 1: Download Pre-compiled Binaries**
Download pre-compiled binaries for your platform directly from [GitHub Releases](https://github.com/xpzouying/xiaohongshu-mcp/releases):
**Main Program (MCP Service):**
- **macOS Apple Silicon**: `xiaohongshu-mcp-darwin-arm64`
- **Windows x64**: `xiaohongshu-mcp-windows-amd64.exe`
- **Linux x64**: `xiaohongshu-mcp-linux-amd64`
**Login Tool:**
- **macOS Apple Silicon**: `xiaohongshu-login-darwin-arm64`
- **Windows x64**: `xiaohongshu-login-windows-amd64.exe`
- **Linux x64**: `xiaohongshu-login-linux-amd64`
> Only the three platforms above are supported. macOS Intel and Linux ARM64 are not supported.
Usage Steps:
```bash
# 1. First run the login tool
chmod +x xiaohongshu-login-darwin-arm64
./xiaohongshu-login-darwin-arm64
# 2. Then start the MCP service
chmod +x xiaohongshu-mcp-darwin-arm64
./xiaohongshu-mcp-darwin-arm64
```
**⚠️ Important Note**: The headless browser will be automatically downloaded on first run (about 150MB), please ensure a stable network connection. Subsequent runs will not require re-downloading.
**Method 2: Build from Source**
<details>
<summary>Build from Source Details</summary>
Requires Golang environment. For installation instructions, please refer to [Golang Official Documentation](https://go.dev/doc/install).
Set Go domestic proxy source:
```bash
# Configure GOPROXY environment variable, choose one of the following three
# 1. Qiniu CDN
go env -w GOPROXY=https://goproxy.cn,direct
# 2. Alibaba Cloud
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# 3. Official
go env -w GOPROXY=https://goproxy.io,direct
```
</details>
**Method 3: Using Docker**
Use the headless image for everyday automation. Choose the optional GUI image when you need to view the browser or briefly assist it.
| Deployment | Use case | Image tags |
| --- | --- | --- |
| Headless (default) | Everyday MCP automation with a smaller image | `latest`, `vX.Y.Z` |
| GUI (optional, noVNC) | View login pages, troubleshoot, assist with input or select media | `novnc`, `vX.Y.Z-novnc` |
Run one of the following from the project root:
```bash
# Default headless deployment
docker compose -f docker/docker-compose.yml up -d
```
```bash
# Optional GUI deployment
docker compose -f docker/novnc/compose.yml up -d
```
For the GUI deployment, open the [browser desktop](http://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale). Both deployments use `http://127.0.0.1:18060/mcp` for MCP.
The desktop has no separate password. Access it locally or through SSH forwarding; **do not expose it directly to the internet**. Stop the existing instance before switching deployments.
For image registries, data directories and detailed steps, see the [Docker deployment guide](./docker/README.md) and [GUI deployment guide](./docker/novnc/README.md) (in Chinese).
For Windows issues, check here first: [Windows Installation Guide](./docs/windows_guide.md)
### 1.2. Login
First time requires manual login to save RedNote login status.
**Using Binary Files:**
```bash
# Run the login tool for your platform
./xiaohongshu-login-darwin-arm64
```
**Using Source Code:**
```bash
go run cmd/login/main.go
```
### 1.3. Start MCP Service
Start xiaohongshu-mcp service.
**Using Binary Files:**
```bash
# Default: Headless mode, no browser interface
./xiaohongshu-mcp-darwin-arm64
# Non-headless mode, with browser interface
./xiaohongshu-mcp-darwin-arm64 -headless=false
```
**Using Source Code:**
```bash
# Default: Headless mode, no browser interface
go run .
# Non-headless mode, with browser interface
go run . -headless=false
```
**Configure a proxy (optional)**:
If you need to go through a proxy, set the `XHS_PROXY` environment variable:
```bash
# Start with a proxy configured
XHS_PROXY=http://user:pass@proxy:port ./xiaohongshu-mcp-darwin-arm64
# Or from source
XHS_PROXY=http://proxy:port go run .
```
HTTP/HTTPS/SOCKS5 proxies are supported, and proxy credentials are automatically masked in the logs.
**Optional authentication**:
Authentication is disabled by default. In production, configure it with the `AUTH_TOKEN` environment variable; a non-empty startup flag takes precedence, while an empty value falls back to `AUTH_TOKEN`.
```bash
# Environment variable
AUTH_TOKEN=your-secret-token ./xiaohongshu-mcp-darwin-arm64
AUTH_TOKEN=your-secret-token go run .
# Non-empty startup flag (takes precedence over the environment variable)
./xiaohongshu-mcp-darwin-arm64 -token=your-secret-token
go run . -token=your-secret-token
```
When authentication is enabled, every MCP client must configure the custom request header `Authorization: Bearer <token>`. Command-line arguments may be visible in process listings, so prefer `AUTH_TOKEN` in deployment environments.
For example, MCP clients that support custom request headers can use the following configuration:
```json
{
"mcpServers": {
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"headers": { "Authorization": "Bearer your-secret-token" }
}
}
}
```
## 1.4. Verify MCP
```bash
npx @modelcontextprotocol/inspector
```
![Run Inspector](./assets/run_inspect.png)
After running, open the red-marked link, configure MCP inspector, enter `http://localhost:18060/mcp`, and click the `Connect` button.
<img width="915" height="659" alt="bf9532dd0b7ba423491accf511a467de" src="https://github.com/user-attachments/assets/08bc3cef-73e7-42d2-b923-7ba9e6c8af30" />
**Note:** Check if the options in the left sidebar are correct.
After configuring MCP inspector as above, click the `List Tools` button to view all Tools.
## 1.5. Use MCP for Publishing
### Check Login Status
![Check Login Status](./assets/check_login.gif)
### Publish Image-Text
The example uses a random image from https://unsplash.com/ for testing.
![Publish Image-Text](./assets/inspect_mcp_publish.gif)
### Search Content
Use search functionality to search RedNote content by keywords:
![Search Content](./assets/search_result.png)
## 2. MCP Client Integration
This service supports the standard Model Context Protocol (MCP) and can integrate with various AI clients that support MCP.
### 2.1. Quick Start
#### Start MCP Service
```bash
# Start service (default headless mode)
go run .
# Or with interface mode
go run . -headless=false
```
Service will run at: `http://localhost:18060/mcp`
#### Verify Service Status
```bash
# Test MCP connection
curl -X POST http://localhost:18060/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-secret-token" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'
```
#### Claude Code CLI Integration
```bash
# Add HTTP MCP server
claude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcp
# Check if MCP was added successfully (ensure MCP is already started before running this command)
claude mcp list
```
### 2.2. Supported Clients
<details>
<summary><b>Claude Code CLI</b></summary>
Official command line tool, already shown in the quick start section above:
```bash
# Add HTTP MCP server
claude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcp
# Check if MCP was added successfully (ensure MCP is already started before running this command)
claude mcp list
```
</details>
<details>
<summary><b>Open Code CLI</b></summary>
Add the MCP server with the interactive command:
```bash
opencode mcp add
```
Using `xiaohongshu-mcp` as an example:
```
┌ Add MCP server
│
◇ Enter MCP server name
│ xiaohongshu-mcp
│
◇ Select MCP server type
│ Remote
│
◇ Enter MCP server URL
│ http://localhost:18060/mcp
│
◇ Does this server require OAuth authentication?
│ No
│
◆ MCP server "xiaohongshu-mcp" added to C:\Users\admin\.config\opencode\opencode.json
│
└ MCP server added successfully
```
Verify that it was added successfully (make sure the MCP service is running):
```bash
opencode mcp list
```
```
┌ MCP Servers
│
● ✓ xiaohongshu-mcp connected
```
</details>
<details>
<summary><b>Cursor</b></summary>
#### Configuration File Method
Create or edit MCP configuration file:
**Project-level configuration** (recommended):
Create `.cursor/mcp.json` in project root directory:
```json
{
"mcpServers": {
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"description": "RedNote content publishing service - MCP Streamable HTTP"
}
}
}
```
**Global configuration**:
Create `~/.cursor/mcp.json` in user directory (same content).
#### Usage Steps
1. Ensure RedNote MCP service is running
2. Save configuration file and restart Cursor
3. In Cursor chat, tools should be automatically available
4. You can view connected MCP tools through "Available Tools" in the chat interface
**Demo**
Plugin MCP integration:
![cursor_mcp_settings](./assets/cursor_mcp_settings.png)
Call MCP tools: (using check login status as example)
![cursor_mcp_check_login](./assets/cursor_mcp_check_login.png)
</details>
<details>
<summary><b>VSCode</b></summary>
#### Method 1: Configure using Command Palette
1. Press `Ctrl/Cmd + Shift + P` to open command palette
2. Run `MCP: Add Server` command
3. Select `HTTP` method.
4. Enter address: `http://localhost:18060/mcp`, or modify to corresponding Server address.
5. Enter MCP name: `xiaohongshu-mcp`.
#### Method 2: Direct Configuration File Edit
**Workspace configuration** (recommended):
Create `.vscode/mcp.json` in project root directory:
```json
{
"servers": {
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"type": "http"
}
},
"inputs": []
}
```
**View Configuration**:
![vscode_config](./assets/vscode_mcp_config.png)
1. Confirm running status.
2. Check if `tools` are correctly detected.
**Demo**
Using search post content as example:
![vscode_mcp_search](./assets/vscode_search_demo.png)
</details>
<details>
<summary><b>Google Gemini CLI</b></summary>
Configure in `~/.gemini/settings.json` or project directory `.gemini/settings.json`:
```json
{
"mcpServers": {
"xiaohongshu": {
"httpUrl": "http://localhost:18060/mcp",
"timeout": 30000
}
}
}
```
For more information, please refer to [Gemini CLI MCP Documentation](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html)
</details>
<details>
<summary><b>MCP Inspector</b></summary>
Debug tool for testing MCP connections:
```bash
# Start MCP Inspector
npx @modelcontextprotocol/inspector
# Connect in browser to: http://localhost:18060/mcp
```
Usage steps:
- Use MCP Inspector to test connection
- Test Ping Server functionality to verify connection
- Check if List Tools returns 13 tools
</details>
<details>
<summary><b>Cline</b></summary>
Cline is a powerful AI programming assistant that supports MCP protocol integration.
#### Configuration Method
Add the following configuration to Cline's MCP settings:
```json
{
"xiaohongshu-mcp": {
"url": "http://localhost:18060/mcp",
"type": "streamableHttp",
"autoApprove": [],
"disabled": false
}
}
```
#### Usage Steps
1. Ensure RedNote MCP service is running (`http://localhost:18060/mcp`)
2. Open MCP settings in Cline
3. Add the above configuration to the MCP server list
4. Save configuration and restart Cline
5. You can directly use RedNote-related features in conversations
#### Configuration Explanation
- `url`: MCP service address
- `type`: Use `streamableHttp` type for better performance
- `autoApprove`: Configurable auto-approve tool list (empty means manual approval)
- `disabled`: Set to `false` to enable this MCP service
#### Usage Examples
After configuration, you can use natural language to operate RedNote directly in Cline:
```
Help me check RedNote login status
```
```
Help me publish a spring-themed image-text post to RedNote, using this image: /path/to/spring.jpg
```
```
Search for content about "food" on RedNote
```
</details>
<details>
<summary><b>OpenClaw (via MCPorter)</b></summary>
> Make sure xiaohongshu-mcp is already deployed locally before you start. Handing the GitHub link to OpenClaw and letting it deploy the project for you is **not recommended**.
Since OpenClaw does not natively support MCP yet, the officially recommended way to call MCP services is through **MCPorter**.
> 💡 **Tip:** MCPorter is not the ideal way to call MCP — you may run into compatibility issues along the way, so please be aware.
#### Installation and Setup
Just hand the following three commands to OpenClaw in one go (via the Control UI, Telegram, Feishu, etc.), and OpenClaw will set up MCPorter for you.
```
npm i -g mcporter
npx mcporter config add xiaohongshu-mcp http://localhost:18060/mcp
npx mcporter list xiaohongshu-mcp
```
Once that is done, you can use every xiaohongshu-mcp feature from OpenClaw through natural language.
</details>
<details>
<summary><b>Other HTTP MCP Supporting Clients</b></summary>
Any client supporting HTTP MCP protocol can connect to: `http://localhost:18060/mcp`
Basic configuration template:
```json
{
"name": "xiaohongshu-mcp",
"url": "http://localhost:18060/mcp",
"type": "http"
}
```
</details>
### 2.3. Available MCP Tools
After successful connection, you can use the following MCP tools:
- `check_login_status` - Check RedNote login status (no parameters)
- `get_login_qrcode` - Get login QR code, returns Base64 image and timeout (no parameters)
- `delete_cookies` - Delete cookies file, reset login status, requires re-login after deletion (no parameters)
- `publish_content` - Publish image-text content to RedNote (required: title, content, images)
- `images`: Image path list (minimum 1), supports HTTP links or local absolute paths, local paths recommended
- `tags`: Topic tags list (optional), e.g. `["food", "travel", "lifestyle"]`
- `schedule_at`: Scheduled publish time (optional), ISO8601 format, supports 1 hour to 14 days ahead
- `is_original`: Declare as original content (optional), default is not declared
- `visibility`: Visibility scope (optional), supports `公开可见` / public (default), `仅自己可见` / self-only, `仅互关好友可见` / mutual-followers-only
- `products`: Product keyword list (optional), used to attach products for social commerce. Provide a product name or product ID; the system searches automatically and picks the first match. Requires the product feature to be enabled on your account. Example: [面膜, 防晒霜SPF50]
- `publish_with_video` - Publish video content to RedNote (required: title, content, video)
- `video`: Local video file absolute path (single file only)
- `tags`: Topic tags list (optional), e.g. `["food", "travel", "lifestyle"]`
- `schedule_at`: Scheduled publish time (optional), ISO8601 format, supports 1 hour to 14 days ahead
- `visibility`: Visibility scope (optional), supports `公开可见` / public (default), `仅自己可见` / self-only, `仅互关好友可见` / mutual-followers-only
- `products`: Product keyword list (optional), used to attach products for social commerce. Provide a product name or product ID; the system searches automatically and picks the first match. Requires the product feature to be enabled on your account. Example: [面膜, 防晒霜SPF50]
- `list_feeds` - Get RedNote homepage recommendation list (no parameters)
- `search_feeds` - Search RedNote content (required: keyword)
- `filters`: Filter options (optional). Values must be passed exactly as the Chinese strings below — they match the labels on the RedNote filter panel.
- `sort_by`: Sort by - `综合` / comprehensive (default) | `最新` / latest | `最多点赞` / most liked | `最多评论` / most comments | `最多收藏` / most saved
- `note_type`: Note type - `不限` / any (default) | `视频` / video | `图文` / image-text
- `publish_time`: Publish time - `不限` / any (default) | `一天内` / last day | `一周内` / last week | `半年内` / last 6 months
- `search_scope`: Search scope - `不限` / any (default) | `已看过` / viewed | `未看过` / not viewed | `已关注` / followed
- `location`: Location - `不限` / any (default) | `同城` / same city | `附近` / nearby
- `get_feed_detail` - Get post details including interaction data and comments (required: feed_id, xsec_token)
- `load_all_comments`: Whether to load all comments (optional), default false returns only first 10 top-level comments
- `limit`: Limit number of top-level comments to load (optional), only effective when load_all_comments=true, default 20
- `click_more_replies`: Whether to expand nested replies (optional), only effective when load_all_comments=true, default false
- `reply_limit`: Skip comments with too many replies (optional), only effective when click_more_replies=true, default 10
- `scroll_speed`: Scroll speed (optional), `slow` | `normal` | `fast`, only effective when load_all_comments=true
- `post_comment_to_feed` - Post comments to RedNote posts (required: feed_id, xsec_token, content)
- `reply_comment_in_feed` - Reply to a specific comment under a note (required: feed_id, xsec_token, content, and at least one of comment_id or user_id)
- `like_feed` - Like / unlike a note (required: feed_id, xsec_token)
- `unlike`: Whether to unlike (optional), true to unlike, default is like
- `favorite_feed` - Favorite / unfavorite a note (required: feed_id, xsec_token)
- `unfavorite`: Whether to unfavorite (optional), true to unfavorite, default is favorite
- `user_profile` - Get user profile information (required: user_id, xsec_token)
### 2.4. Usage Examples
Using Claude Code to publish content to RedNote:
**Example 1: Using HTTP Image Links**
```
Help me write a post to publish on RedNote,
with image: https://cn.bing.com/th?id=OHR.MaoriRock_EN-US6499689741_UHD.jpg&w=3840
The image is: "Maori rock carving at Ngātoroirangi Mine Bay, Lake Taupo, New Zealand (© Joppi/Getty Images)"
Use xiaohongshu-mcp for publishing.
```
**Example 2: Using Local Image Paths (Recommended)**
```
Help me write a post about spring to publish on RedNote,
using these local images:
- /Users/username/Pictures/spring_flowers.jpg
- /Users/username/Pictures/cherry_blossom.jpg
Use xiaohongshu-mcp for publishing.
```
**Example 3: Publishing Video Content**
```
Help me write a video post about cooking tutorials to publish on RedNote,
using this local video file:
- /Users/username/Videos/cooking_tutorial.mp4
Use xiaohongshu-mcp's video publishing feature.
```
![claude-cli publishing](./assets/claude_push.gif)
**Publishing Result:**
<img src="./assets/publish_result.jpeg" alt="xiaohongshu-mcp publishing result" width="300">
### 2.5. 💬 MCP FAQ
---
> ⚠️ The following are known risks when using OpenClaw + MCPorter. Please read them carefully before you start:
- OpenClaw's automated AI deployment behavior is outside the scope of this project's maintenance, and its results cannot be guaranteed
- As an intermediate layer, MCPorter may introduce additional compatibility issues that have nothing to do with xiaohongshu-mcp itself
- If you hit connection failures or abnormal tool calls, please check MCPorter's own configuration first instead of filing an Issue
- Before asking in the community or the groups, please confirm whether the problem also reproduces **without OpenClaw**
If you do not specifically need OpenClaw, we strongly recommend switching to a client with native HTTP MCP support such as [Claude Code CLI](#claude-code-cli), [Cursor](#cursor) or [Cline](#cline) — the experience is much more stable.
---
**Q:** Why does the check login username display `xiaghgngshu-mcp`?
**A:** The username is hardcoded.
---
**Q:** It shows publish success but the post doesn't actually appear?
**A:** Troubleshooting steps:
1. Re-publish using **non-headless mode**.
2. Try publishing with **different content**.
3. Login to RedNote web version and check if the account has been **restricted from web publishing due to risk control**.
4. Check if the **image size** is too large.
5. Make sure there are **no Chinese characters in the image path**.
6. If using network image URLs, confirm the **image links are accessible**.
---
**Q:** The MCP program crashes on my device, how to resolve?
**A:**
1. It is recommended to **build from source**.
2. Or use **Docker to install xiaohongshu-mcp**, refer to:
- [Install xiaohongshu-mcp with Docker](https://github.com/xpzouying/xiaohongshu-mcp#:~:text=%E6%96%B9%E5%BC%8F%E4%B8%89%EF%BC%9A%E4%BD%BF%E7%94%A8%20Docker%20%E5%AE%B9%E5%99%A8%EF%BC%88%E6%9C%80%E7%AE%80%E5%8D%95%EF%BC%89)
- [X-MCP Project Page](https://github.com/xpzouying/x-mcp/)
---
**Q:** When verifying MCP with `http://localhost:18060/mcp`, it shows connection error?
**A:**
- In a **Docker environment**, please use
[http://host.docker.internal:18060/mcp](http://host.docker.internal:18060/mcp)
- In a **non-Docker environment**, please use your **local IPv4 address** to access.
---
## 3. 🌟 Community Showcases
> 💡 **Highly Recommended**: These are real-world use cases from community contributors, featuring detailed configuration steps and practical experiences!
### 📚 Complete Tutorial List
1. **[n8n Complete Integration Tutorial](./examples/n8n/README.md)** - Workflow automation platform integration
2. **[Cherry Studio Complete Configuration Tutorial](./examples/cherrystudio/README.md)** - Perfect AI client integration
3. **[Claude Code + Kimi K2 Integration Tutorial](./examples/claude-code/claude-code-kimi-k2.md)** - If Claude Code's barrier is too high, then integrate with Kimi domestic LLM!
4. **[AnythingLLM Complete Guide](./examples/anythingLLM/readme.md)** - AnythingLLM is an all-in-one multimodal AI client that supports workflow definition, multiple LLMs, and plugin extensions.
> 🎯 **Tip**: Click the links above to view detailed step-by-step tutorials for quick setup of various integration solutions!
>
> 📢 **Contributions Welcome**: If you have new integration cases, feel free to submit a PR to share with the community!
## 4. RedNote MCP Community Group
**Important: Before asking questions in the group, please make sure to read the README documentation thoroughly and check Issues first.**
### WeChat Group
> These are Chinese-language community groups — discussion in the groups is in Chinese.
| WeChat Group 25 | WeChat Group 26 |
| :------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: |
| <img src="https://github.com/user-attachments/assets/c4c0f7a0-fc7c-453a-8bb9-890e53a907d4" alt="WechatIMG119" width="300"> | <img src="https://github.com/user-attachments/assets/e9569332-cac5-4e9e-92d8-c1498ef8699b" alt="WechatIMG119" width="300">|
### Feishu (Lark) Groups
| Feishu Group 2 | Feishu Group 3 | Feishu Group 4 | Feishu Group 5 |
| :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: |
| <img src="https://github.com/user-attachments/assets/4983ea42-ce5b-4e26-a8c0-33889093b579" alt="qr-feishu02" width="260"> | <img src="https://github.com/user-attachments/assets/c77b45da-6028-4d3a-b421-ccc6c7210695" alt="qr-feishu03" width="260"> | <img src="https://github.com/user-attachments/assets/c42f5595-71cd-4d9b-b7f8-0c333bd25e2b" alt="qr-feishu04" width="260"> | <img src="https://github.com/user-attachments/assets/c032801c-bf02-4e8e-81ad-fb8471b3d765" alt="qr-feishu05" width="260"> |
> **Note:**
>
> 1. WeChat group QR codes have a time limit. Sometimes I forget to update them — please wait for an update or submit an Issue to remind me.
> 2. If a Feishu group is full, try scanning another group's QR code — there's always a spot somewhere.
## 🙏 Thanks to Contributors ✨
Thanks to all friends who have contributed to this project! (In no particular order)
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://haha.ai"><img src="https://avatars.githubusercontent.com/u/3946563?v=4?s=100" width="100px;" alt="zy"/><br /><sub><b>zy</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=xpzouying" title="Code">💻</a> <a href="#ideas-xpzouying" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=xpzouying" title="Documentation">📖</a> <a href="#design-xpzouying" title="Design">🎨</a> <a href="#maintenance-xpzouying" title="Maintenance">🚧</a> <a href="#infra-xpzouying" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/pulls?q=is%3Apr+reviewed-by%3Axpzouying" title="Reviewed Pull Requests">👀</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.hwbuluo.com"><img src="https://avatars.githubusercontent.com/u/1271815?v=4?s=100" width="100px;" alt="clearwater"/><br /><sub><b>clearwater</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=esperyong" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/laryzhong"><img src="https://avatars.githubusercontent.com/u/47939471?v=4?s=100" width="100px;" alt="Zhongpeng"/><br /><sub><b>Zhongpeng</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=laryzhong" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DTDucas"><img src="https://avatars.githubusercontent.com/u/105262836?v=4?s=100" width="100px;" alt="Duong Tran"/><br /><sub><b>Duong Tran</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=DTDucas" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Angiin"><img src="https://avatars.githubusercontent.com/u/17389304?v=4?s=100" width="100px;" alt="Angiin"/><br /><sub><b>Angiin</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Angiin" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/muhenan"><img src="https://avatars.githubusercontent.com/u/43441941?v=4?s=100" width="100px;" alt="Henan Mu"/><br /><sub><b>Henan Mu</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=muhenan" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/chengazhen"><img src="https://avatars.githubusercontent.com/u/52627267?v=4?s=100" width="100px;" alt="Journey"/><br /><sub><b>Journey</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=chengazhen" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eveyuyi"><img src="https://avatars.githubusercontent.com/u/69026872?v=4?s=100" width="100px;" alt="Eve Yu"/><br /><sub><b>Eve Yu</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=eveyuyi" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CooperGuo"><img src="https://avatars.githubusercontent.com/u/183056602?v=4?s=100" width="100px;" alt="CooperGuo"/><br /><sub><b>CooperGuo</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=CooperGuo" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://biboyqg.github.io/"><img src="https://avatars.githubusercontent.com/u/125724218?v=4?s=100" width="100px;" alt="Banghao Chi"/><br /><sub><b>Banghao Chi</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=BiboyQG" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/varz1"><img src="https://avatars.githubusercontent.com/u/60377372?v=4?s=100" width="100px;" alt="varz1"/><br /><sub><b>varz1</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=varz1" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://google.meloguan.site"><img src="https://avatars.githubusercontent.com/u/62586556?v=4?s=100" width="100px;" alt="Melo Y Guan"/><br /><sub><b>Melo Y Guan</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Meloyg" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lmxdawn"><img src="https://avatars.githubusercontent.com/u/21293193?v=4?s=100" width="100px;" alt="lmxdawn"/><br /><sub><b>lmxdawn</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=lmxdawn" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/haikow"><img src="https://avatars.githubusercontent.com/u/22428382?v=4?s=100" width="100px;" alt="haikow"/><br /><sub><b>haikow</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=haikow" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://carlo-blog.aiju.fun/"><img src="https://avatars.githubusercontent.com/u/18513362?v=4?s=100" width="100px;" alt="Carlo"/><br /><sub><b>Carlo</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=a67793581" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hrz394943230"><img src="https://avatars.githubusercontent.com/u/28583005?v=4?s=100" width="100px;" alt="hrz"/><br /><sub><b>hrz</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=hrz394943230" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ctrlz526"><img src="https://avatars.githubusercontent.com/u/143257420?v=4?s=100" width="100px;" alt="Ctrlz"/><br /><sub><b>Ctrlz</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ctrlz526" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/flippancy"><img src="https://avatars.githubusercontent.com/u/6467703?v=4?s=100" width="100px;" alt="flippancy"/><br /><sub><b>flippancy</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=flippancy" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Infinityay"><img src="https://avatars.githubusercontent.com/u/103165980?v=4?s=100" width="100px;" alt="Yuhang Lu"/><br /><sub><b>Yuhang Lu</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Infinityay" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://triepod.ai"><img src="https://avatars.githubusercontent.com/u/199543909?v=4?s=100" width="100px;" alt="Bryan Thompson"/><br /><sub><b>Bryan Thompson</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=bryankthompson" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.megvii.com"><img src="https://avatars.githubusercontent.com/u/7806992?v=4?s=100" width="100px;" alt="tan jun"/><br /><sub><b>tan jun</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=tanxxjun321" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/coldmountein"><img src="https://avatars.githubusercontent.com/u/95873096?v=4?s=100" width="100px;" alt="coldmountain"/><br /><sub><b>coldmountain</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=coldmountein" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://blog.litpp.com/"><img src="https://avatars.githubusercontent.com/u/44826388?v=4?s=100" width="100px;" alt="mamage"/><br /><sub><b>mamage</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=yqdaddy" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=yqdaddy" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://runyang.vercel.app/"><img src="https://avatars.githubusercontent.com/u/54588936?v=4?s=100" width="100px;" alt="Runyang YOU"/><br /><sub><b>Runyang YOU</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=YRYangang" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=YRYangang" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.hnfnu.edu.cn/"><img src="https://avatars.githubusercontent.com/u/134906805?v=4?s=100" width="100px;" alt="e0_7"/><br /><sub><b>e0_7</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Daily-AC" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Daily-AC" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/prehisle"><img src="https://avatars.githubusercontent.com/u/2081344?v=4?s=100" width="100px;" alt="prehisle"/><br /><sub><b>prehisle</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=prehisle" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=prehisle" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/blablabiu"><img src="https://avatars.githubusercontent.com/u/123888078?v=4?s=100" width="100px;" alt="Xinhao Chen"/><br /><sub><b>Xinhao Chen</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=blablabiu" title="Code">💻</a> <a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=blablabiu" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qiuxsgit"><img src="https://avatars.githubusercontent.com/u/15036686?v=4?s=100" width="100px;" alt="qiuxsgit"/><br /><sub><b>qiuxsgit</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=qiuxsgit" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ZhuYichuan"><img src="https://avatars.githubusercontent.com/u/7954801?v=4?s=100" width="100px;" alt="openlts"/><br /><sub><b>openlts</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ZhuYichuan" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/galois1983"><img src="https://avatars.githubusercontent.com/u/80469442?v=4?s=100" width="100px;" alt="galois1983"/><br /><sub><b>galois1983</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=galois1983" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/xPeiPeix"><img src="https://avatars.githubusercontent.com/u/42157266?v=4?s=100" width="100px;" alt="Peip"/><br /><sub><b>Peip</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=xPeiPeix" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/zhenzoo"><img src="https://avatars.githubusercontent.com/u/273501489?v=4?s=100" width="100px;" alt="zhenzoo"/><br /><sub><b>zhenzoo</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=zhenzoo" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eeeggplant"><img src="https://avatars.githubusercontent.com/u/73321941?v=4?s=100" width="100px;" alt="eggplant"/><br /><sub><b>eggplant</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=eeeggplant" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Iams4kura"><img src="https://avatars.githubusercontent.com/u/126048986?v=4?s=100" width="100px;" alt="s4kura"/><br /><sub><b>s4kura</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Iams4kura" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Matrixqlc"><img src="https://avatars.githubusercontent.com/u/129405195?v=4?s=100" width="100px;" alt="Matrixqlc"/><br /><sub><b>Matrixqlc</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=Matrixqlc" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.zhihu.com/people/lim0-34"><img src="https://avatars.githubusercontent.com/u/39004676?v=4?s=100" width="100px;" alt="Qu Yuli"/><br /><sub><b>Qu Yuli</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=DLLXW" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ao-lj-ao"><img src="https://avatars.githubusercontent.com/u/287673796?v=4?s=100" width="100px;" alt="ao-lj-ao"/><br /><sub><b>ao-lj-ao</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ao-lj-ao" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/CNQQC"><img src="https://avatars.githubusercontent.com/u/243505512?v=4?s=100" width="100px;" alt="CNQQC"/><br /><sub><b>CNQQC</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=CNQQC" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ACCLE123"><img src="https://avatars.githubusercontent.com/u/95094975?v=4?s=100" width="100px;" alt="ACCLE123"/><br /><sub><b>ACCLE123</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=ACCLE123" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/SamYunquChen"><img src="https://avatars.githubusercontent.com/u/106165995?v=4?s=100" width="100px;" alt="SamYunquChen"/><br /><sub><b>SamYunquChen</b></sub></a><br /><a href="https://github.com/xpzouying/xiaohongshu-mcp/commits?author=SamYunquChen" title="Code">💻</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
### ✨ Special Thanks
<table>
<tbody>
<tr>
<td align="center" valign="top" width="20%"><a href="https://github.com/wanpengxie"><img src="https://avatars.githubusercontent.com/wanpengxie" width="130px;" alt="wanpengxie"/><br /><sub><b>@wanpengxie</b></sub></a></td>
<td align="center" valign="top" width="20%"><a href="https://github.com/tanxxjun321"><img src="https://avatars.githubusercontent.com/u/7806992?v=4" width="130px;" alt="tanxxjun321"/><br /><sub><b>@tanxxjun321</b></sub></a></td>
<td align="center" valign="top" width="20%"><a href="https://github.com/Angiin"><img src="https://avatars.githubusercontent.com/u/17389304?v=4" width="130px;" alt="Angiin"/><br /><sub><b>@Angiin</b></sub></a></td>
</tr>
</tbody>
</table>
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## 📄 License
This project is open source under the [Apache License 2.0](LICENSE).
You are free to use, modify and distribute this project, including for commercial purposes, as long as you keep the original copyright notice and license file. The [LICENSE](LICENSE) file is the authoritative source for the full terms.
Contributions submitted to this project are licensed under the same license by default.
...@@ -16,7 +16,7 @@ image: crpi-hocnvtkomt7w9v8t.cn-beijing.personal.cr.aliyuncs.com/xpzouying/xiaoh ...@@ -16,7 +16,7 @@ image: crpi-hocnvtkomt7w9v8t.cn-beijing.personal.cr.aliyuncs.com/xpzouying/xiaoh
docker compose up -d docker compose up -d
``` ```
MCP 地址:`http://127.0.0.1:18060/mcp`,接入方式见 [客户端配置](../README.md#2-mcp-客户端接入)。 MCP 地址:`http://127.0.0.1:18060/mcp`。
## 登录与素材 ## 登录与素材
......
...@@ -29,7 +29,7 @@ docker compose up -d ...@@ -29,7 +29,7 @@ docker compose up -d
**3. 连接使用** **3. 连接使用**
- 桌面:[点击打开](http://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale)。 - 桌面:[点击打开](http://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale)。
- MCP:`http://127.0.0.1:18060/mcp`,按 [客户端配置](../../README.md#2-mcp-客户端接入) 接入 AI。 - MCP:`http://127.0.0.1:18060/mcp`。
桌面空白时,让 AI“获取小红书登录二维码”即可出现浏览器。普通工具调用结束后窗口通常关闭,人工操作时避免与自动化同时输入或点击。 桌面空白时,让 AI“获取小红书登录二维码”即可出现浏览器。普通工具调用结束后窗口通常关闭,人工操作时避免与自动化同时输入或点击。
...@@ -69,6 +69,6 @@ docker compose up -d ...@@ -69,6 +69,6 @@ docker compose up -d
docker compose -f compose.yml -f compose.build.yml up -d --build docker compose -f compose.yml -f compose.build.yml up -d --build
``` ```
生成 `xiaohongshu-mcp-novnc:local`,可通过 `MCP_IMAGE` 指定基础镜像。测试方法见 [验证记录](docs/verification.md)。 生成 `xiaohongshu-mcp-novnc:local`,可通过 `MCP_IMAGE` 指定基础镜像。
</details> </details>
# 2025 年度赞赏与公益捐赠记录
> 本页为 2025 年度的捐赠归档记录。当前年度记录请查看 [DONATIONS.md](../DONATIONS.md)。
## 年度小结
- 收到赞赏合计:¥ 869.97
- 捐出合计:¥ 1100.00
---
## 月度明细
### 2025-12
**本月小结**
- 收到赞赏合计:¥ 440.09
- 捐出合计:¥ 500.00
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2025-12-03 | 源 | 39.90 | 微信红包 |
| 2025-12-07 | 来自于微信群的小爷 | 29.99 | 赞赏码 |
| 2025-12-08 | 来自于微信群的小爷 | 29.99 | 赞赏码 |
| 2025-12-08 | 无名大侠 | 9.99 | 赞赏码 |
| 2025-12-10 | 许掌柜 | 100.00 | 微信红包 |
| 2025-12-11 | matheasyer | 10.00 | 支付宝 |
| 2025-12-18 | 来自于微信群的小爷 | 29.99 | 微信红包 |
| 2025-12-19 | 查狸尼克 | 20.26 | 赞赏码 |
| 2025-12-19 | 无名大侠 | 49.99 | 赞赏码 |
| 2025-12-21 | 陈懂 | 50.00 | 赞赏码,for 泡芙小姐 |
| 2025-12-22 | G仔 | 49.99 | 赞赏码 |
| 2025-12-25 | 未来可期 | 19.99 | 赞赏码 |
<table>
<tr>
<td><img height="400" alt="PixPin_2026-01-01_20-45-48" src="https://github.com/user-attachments/assets/b0d9721e-c250-4df3-a993-fda5c4d62e3f" /></td>
<td><img height="400" alt="PixPin_2026-01-01_20-46-03" src="https://github.com/user-attachments/assets/bc2c8076-1ad4-41b6-b8f7-d2cdc1b5fa87" /></td>
</tr>
</table>
### 2025-11
**本月小结**
- 收到赞赏合计:¥ 249.96
- 捐出合计:¥ 400.00。守望相助,驰援香江:为香港大浦火灾同胞筹集善款!
<table>
<tr>
<td><img height="400" alt="PixPin_2025-10-26_21-34-08" src="https://github.com/user-attachments/assets/2dc52a01-d14a-4eec-961f-406f1ef91889" /></td>
</tr>
</table>
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2025-11-05 | 勇敢的心 | 9.99 | 赞赏码 |
| 2025-11-10 | Sijin Yang | 99.99 | 赞赏码 |
| 2025-11-17 | cym | 29.99 | 赞赏码 |
| 2025-11-26 | 一虎君 | 10.00 | 赞赏码 |
| 2025-11-26 | Sijin Yang | 99.99 | 赞赏码 |
### 2025-10
**本月小结**
- 收到赞赏合计:¥ 109.93
- 捐出合计:¥ 200.00。 9 月、10 月份一起汇总捐赠给「春蕾计划她们想上学」。
<table>
<tr>
<td><img height="400" alt="PixPin_2025-10-26_21-34-08" src="https://github.com/user-attachments/assets/8329275c-a328-410e-8744-9bc267661c31" /></td>
</tr>
</table>
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2025-10-11 | Sijin Yang | 29.99 | 赞赏码 |
| 2025-10-13 | Sijin Yang | 29.99 | 赞赏码 |
| 2025-10-16 | RESOLUTION | 9.99 | 赞赏码 |
| 2025-10-17 | Sijin Yang | 9.99 | 赞赏码 |
| 2025-10-19 | 无名大侠 | 9.99 | 赞赏码 |
| 2025-10-22 | Sijin Yang | 9.99 | 赞赏码 |
| 2025-10-22 | 无名大侠 | 9.99 | 赞赏码 |
### 2025-09
**本月小结**
- 收到赞赏合计:¥ 69.99
- 捐出合计:9 月、10 月份一起汇总捐赠给「春蕾计划她们想上学」。
**收到的赞赏**
| 日期 | 昵称 | 金额 | 备注 |
|------------|-----:|-----:|------|
| 2025-09-23 | 米爸 | 50.00 | 微信红包 |
| 2025-09-27 | 麦子 | 19.99 | 赞赏码 |
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment