LABSCO SUMMARY
The interaction metrics are what make it useful for research rather than just reading.
Likes, favourites and comments come back with every note, so a search can be sorted by what an audience actually responded to instead of by what the platform chose to show you. It works by driving a real browser, which is why the first call is slow and why concurrency is capped at 3 — both are deliberate, not faults. The repository frames this as for research and education and asks you to respect the platform's terms, which is worth taking at face value before pointing it at anything at scale.
What it is
A TypeScript server that drives a Playwright browser against Xiaohongshu, running keyword searches and extracting each note into structured fields.
What you get
- Keyword search across Xiaohongshu, with results returned as data rather than a page of HTML
- Per note: title, content, author name and description, and the direct link
- Interaction metrics — likes, favourites and comment counts — so you can tell what actually landed
- Hashtags and image URLs, in WebP format
- Login state saved to a cookie store and reused, so you sign in once
- Concurrent retrieval, capped at 3 parallel requests to stay under the platform's limits
Requirements
A Xiaohongshu account — the first run opens a browser for you to log in manually, and the cookies are reused afterwards. Node.js 18 or higher with pnpm, and Playwright browsers installed. Expect the first search of a session to take 30 to 60 seconds while the browser starts and the page loads, so raise your client's timeout before assuming it hung.
Setup effort
Build from source
USE CASES
01
Finding out what is being said about a product on Xiaohongshu
Search the keyword and read the notes with their like and comment counts attached.
02
Researching a market you cannot read easily
Structured note text comes back for summarising, rather than screenshots you have to work through by hand.
03
Seeing which creators own a topic
Author names and descriptions come with each note, so the recurring voices show up quickly.
04
Working out which hashtags a topic travels under
Tags are extracted per note, so the pattern across the top results is visible at a glance.
BEFORE YOU INSTALL
What to know first
Requires
- Node.js 18+
- pnpm
- A Xiaohongshu account — the first run opens a browser to log in by hand
INSTALLATION
Connect your client
Server setup
TERMINAL
git clone https://github.com/MilesCool/rednote-mcp
cd rednote-mcpInstall dependencies:
TERMINAL
pnpm installInstall Playwright browsers:
TERMINAL
pnpm exec playwright installBuild the project:
TERMINAL
pnpm buildMCP Clients
Claude Desktop
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"rednote-mcp": {
"command": "node",
"args": [
"<YOUR_PATH_TO_REDNOTE_MCP>/build/index.js"
]
}
}
}Any MCP client
ANY MCP CLIENT · TERMINAL
node <YOUR_PATH_TO_REDNOTE_MCP>/build/index.jsThe built server file from the build step. Give node the full path of build/index.js in your clone: a client does not start the command inside that folder, so the README's relative node build/index.js only works from there.