xhs-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@xhs-mcpPost /images/ootd.png to Xiaohongshu with title 'Daily Look' and a fun caption"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
xhs-mcp π
An MCP server that lets your AI agent publish notes to Xiaohongshu (RedNote / ε°ηΊ’δΉ¦) automatically using Playwright browser automation.
Features
πΈ Publish photo notes with title, body, and image
π€ MCP-compatible β works with Claude, Cursor, and any MCP-supported agent
π Session persistence β log in once, post forever
π§ Human-like typing to avoid bot detection
Requirements
Python 3.10+
macOS (tested on macOS with Apple Silicon)
Installation
1. Clone the repo
git clone https://github.com/FrancoSbaffi/xhs-mcp.git
cd xhs-mcp2. Install dependencies
pip install -r requirements.txt3. Install Chromium
python -m playwright install chromium4. Set up your session (first time only)
Run the login script and log in manually in the browser that opens:
python post.pyOnce logged in, press ENTER in the terminal. Your session will be saved to session/auth.json.
Usage
Option A β Run standalone
Edit content/texto.txt with your post content (first line = title, rest = body).
Add your image as content/imagen.jpg. Then run:
python post.pyOption B β Use as MCP server with Claude
Add this to your Claude MCP config (claude_desktop_config.json):
{
"mcpServers": {
"xiaohongshu": {
"command": "python3.11",
"args": ["/absolute/path/to/xhs-mcp/server.py"]
}
}
}Then in Claude, you can say:
"Post this to my Xiaohongshu: title 'Hello World', body 'This is my first automated post', image at /path/to/image.jpg"
MCP Tool Reference
post_note
Parameter | Type | Description |
| string | Post title (max 20 characters) |
| string | Post body text |
| string | Absolute path to image (jpg/png) |
Project Structure
xhs-mcp/
βββ post.py # Standalone posting script
βββ server.py # MCP server
βββ requirements.txt # Dependencies
βββ content/ # Default content folder
β βββ texto.txt # Post text (title on first line)
β βββ imagen.jpg # Post image
βββ session/ # Saved login session (git ignored)
βββ auth.jsonImportant Notes
β οΈ This project uses browser automation and is not affiliated with Xiaohongshu
β οΈ Use responsibly β avoid posting at high frequency
β οΈ Session may expire and require re-login
π Never commit
session/auth.jsonto GitHub β it contains your login credentials
.gitignore
Make sure to add this before pushing:
session/
.envLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FrancoSbaffi/xhs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server