test_connectionLABSCO SUMMARY
Draft, publish and then read the numbers back, without opening the creator centre.
The data half is the useful half: dashboard, per-note performance and follower figures come back with Chinese headers already in place, so an assistant can compare notes against each other instead of transcribing a screenshot.
What it is
A Xiaohongshu creator toolkit that drives the site through a signed-in Chrome session. It publishes notes on your behalf and collects creator-centre data on a schedule, in Chinese-headed CSV that a model can read directly.
What you get
smart_publish_note— publish an image or video note with title, content, images, videos, tags and topics; images can be local paths or remote URLs, and topic tags are added automaticallycheck_task_statusandget_task_result— follow a publish job to completion and collect its final resultlogin_xiaohongshu— sign in from the conversation, withforce_reloginandquick_mode, so no separate terminal step is neededget_creator_data_analysis— the creator data set assembled for analysis: account overview such as followers and likes, per-note performance such as views and likes, and follower growthtest_connection— a plain connection check- Scheduled collection driven by cron expressions, stored locally as CSV
Requirements
Google Chrome plus a ChromeDriver whose version matches it exactly — a mismatch is the most common cause of failure. webdriver-manager can manage that automatically. A signed-in Xiaohongshu cookie is required and is what authorizes everything. The model on the other end must be vision-capable; text-only models will not work. Run it with ./xhs on macOS and Linux or xhs.bat on Windows, or from source with uv sync; configuration lives in a .env file copied from env_example, with CHROME_PATH pointing at your browser. ENABLE_REMOTE_BROWSER, REMOTE_BROWSER_HOST and REMOTE_BROWSER_PORT connect to an already-running Chrome instead, which is how the Docker and remote-deployment paths work. Note the author has stopped maintaining the project and has said there are no plans to resume; the automation and signing work is there to fork.
Setup effort
Build from source — git clone https://github.com/aki66938/xhs-toolkit.git
USE CASES
Publishing a note you just drafted
Pass the title, body, images or video and the topic tags in one call; local paths and remote URLs both work as image sources.
Confirming a publish actually landed
Publishing is a job — check its status and then collect the result, rather than assuming the first response means it is live.
Asking why one note outperformed another
Pull the creator data set and let the model compare per-note views and likes against the account's overall trend.
Signing in without leaving the chat
Log in from the conversation, with a forced re-login when the cookie has expired.
Running it against a shared browser
Point it at a remote Chrome over the remote-browser settings and it reuses that already-signed-in instance instead of launching its own.
6 tools
Listed in project docs. Your client may show a different list.
smart_publish_notecheck_task_statusget_task_resultlogin_xiaohongshuget_creator_data_analysisBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/aki66938/xhs-toolkit.git
cd xhs-toolkit
uv sync
cp env_example .envIn .env, set CHROME_PATH to your Chrome browser and WEBDRIVER_CHROME_DRIVER to a ChromeDriver whose version matches that Chrome exactly
./xhs cookie saveSign in to the Xiaohongshu creator centre in the browser window that opens, check the creator centre loads, then press Enter to save the cookies
Add one of the client blocks below, where <YOUR_PATH_TO_XHS_TOOLKIT> is the full path of your clone, and restart the client
MCP Clients
Claude Desktop — uv
{
"mcpServers": {
"xhs-toolkit": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_XHS_TOOLKIT>",
"run",
"python",
"-m",
"src.server.mcp_server",
"--stdio"
]
}
}
}Claude Desktop — system Python
{
"mcpServers": {
"xhs-toolkit": {
"command": "python3",
"args": [
"-m",
"src.server.mcp_server",
"--stdio"
],
"cwd": "<YOUR_PATH_TO_XHS_TOOLKIT>",
"env": {
"PYTHONPATH": "<YOUR_PATH_TO_XHS_TOOLKIT>"
}
}
}
}