小红书自动搜索评论工具(MCP Server 2.0) について
Playwright で構築された小红书向けの MCP サーバーで、Claude for Desktop などの MCP クライアントから、ログイン、キーワード検索、ノートの本文とコメントの取得を行えます。ノート分析の結果をクライアント側の AI に渡してコメントを生成し、ツールから投稿する構成が特徴です。
主な機能
- 01Playwright によるブラウザ自動化
- 02初回スキャン後に再利用される永続的なログイン状態
- 03件数を指定できるキーワード検索
- 04ノートのタイトル、投稿者、本文、コメントの取得
- 05分析結果を JSON で MCP クライアントに返却
- 06引流、いいね、質問、専門の4種類のコメント
活用シーン
- 01キーワードによる小红书ノートの一括検索
- 02指定したノートの本文とコメント欄の確認
- 03クライアントの AI を使ったコメントの生成と投稿
MCP 対応
本プロジェクトは MCP サーバーであり、xiaohongshu_mcp.py がログイン、検索、ノート内容の取得、コメント取得、コメント投稿のツールを公開し、Claude for Desktop などの MCP クライアントから呼び出せるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
小红书自动搜索评论工具(MCP Server 2.0)
English | 中文
本项目基于 JonaFly/RednoteMCP 并结合多次实战经验,进行全面优化和功能扩展(by windsurf)。在此向原作者的贡献表示由衷的感谢!
这是一款基于 Playwright 开发的小红书自动搜索和评论工具,作为 MCP Server,可通过特定配置接入 MCP Client(如Claude for Desktop),帮助用户自动完成登录小红书、搜索关键词、获取笔记内容及发布AI生成评论等操作。
主要特点与优势
- 深度集成AI能力:利用MCP客户端(如Claude)的大模型能力,生成更自然、更相关的评论内容
- 模块化设计:将功能分为笔记分析、评论生成和评论发布三个独立模块,提高代码可维护性
- 强大的内容获取能力:集成多种获取笔记内容的方法,确保能完整获取各类笔记的标题、作者和正文内容
- 持久化登录:使用持久化浏览器上下文,首次登录后无需重复登录
- 两步式评论流程:先获取笔记分析结果,然后由MCP客户端生成并发布评论
2.0版本主要优化
- 内容获取增强:重构了笔记内容获取模块,增加页面加载等待时间和滚动操作,实现四种不同的内容获取方法
- AI评论生成:重构评论功能,将笔记分析结果返回给MCP客户端,由客户端的AI能力生成更自然、更相关的评论
- 功能模块化:将功能分为笔记分析、评论生成和评论发布三个独立模块,提高代码可维护性
- 搜索结果优化:解决了搜索笔记时标题不显示的问题,提供更完整的搜索结果
- 错误处理增强:添加更详细的错误处理和调试信息输出
一、核心功能
1. 用户认证与登录
- 持久化登录:支持手动扫码登录,首次登录后保存状态,后续使用无需重复扫码
- 登录状态管理:自动检测登录状态,并在需要时提示用户登录
2. 内容发现与获取
- 智能关键词搜索:支持多关键词搜索,可指定返回结果数量,并提供完整的笔记信息
- 多维度内容获取:集成四种不同的获取方法,确保能准确获取笔记的标题、作者、发布时间和正文内容
- 评论数据获取:支持获取笔记的评论内容,包括评论者、评论文本和时间信息
3. 内容分析与生成
- 笔记内容分析:自动分析笔记内容,提取关键信息并识别笔记所属领域
- AI评论生成:利用MCP客户端(如Claude)的AI能力,基于笔记内容生成自然、相关的评论
- 多类型评论支持:支持四种不同类型的评论生成:
- 引流型:引导用户关注或私聊
- 点赞型:简单互动获取好感
- 咨询型:以问题形式增加互动
- 专业型:展示专业知识建立权威
4. 数据返回与反馈
- 结构化数据返回:将笔记分析结果以JSON格式返回给MCP客户端,便于AI生成评论
- 评论发布反馈:提供评论发布结果的实时反馈
二、安装步骤
-
Python 环境准备:确保系统已安装 Python 3.8 或更高版本。若未安装,可从 Python 官方网站下载并安装。
-
项目获取:将本项目克隆或下载到本地。
-
创建虚拟环境:在项目目录下创建并激活虚拟环境(推荐):
# 创建虚拟环境 python3 -m venv venv # 激活虚拟环境 # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate -
安装依赖:在激活的虚拟环境中安装所需依赖:
pip install -r requirements.txt pip install fastmcp -
安装浏览器:安装Playwright所需的浏览器:
playwright install
三、MCP Server 配置
在 MCP Client(如Claude for Desktop)的配置文件中添加以下内容,将本工具配置为 MCP Server:
Mac 配置示例
{
"mcpServers": {
"xiaohongshu MCP": {
"command": "/绝对路径/到/venv/bin/python3",
"args": [
"/绝对路径/到/xiaohongshu_mcp.py",
"--stdio"
]
}
}
}
Windows 配置示例
{
"mcpServers": {
"xiaohongshu MCP": {
"command": "C:\\Users\\username\\Desktop\\MCP\\Redbook-Search-Comment-MCP2.0\\venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\username\\Desktop\\MCP\\Redbook-Search-Comment-MCP2.0\\xiaohongshu_mcp.py",
"--stdio"
]
}
}
}
重要提示:
- 请使用虚拟环境中Python解释器的完整绝对路径
- Mac示例:
/Users/username/Desktop/RedBook-Search-Comment-MCP/venv/bin/python3- Windows示例:
C:\Users\username\Desktop\MCP\Redbook-Search-Comment-MCP2.0\venv\Scripts\python.exe- 同样,xiaohongshu_mcp.py也需要使用完整绝对路径
- Windows路径中的反斜杠在JSON中需要双重转义(使用
\)
Python 命令区分(python 与 python3)
不同系统环境中,Python 命令可能有所不同,这取决于您的系统配置。以下是如何确定您应该使用哪个命令:
-
确定您的 Python 命令:
- 在终端中运行:
python --version和python3 --version - 查看哪个命令返回 Python 3.x 版本(本项目需要 Python 3.8+)
- 在终端中运行:
-
在虚拟环境中确认:
- 激活虚拟环境后,运行
which python或where python(Windows) - 这将显示 Python 解释器的完整路径
- 激活虚拟环境后,运行
-
配置中使用正确的命令:
- Mac:通常为
python3或虚拟环境中的python - Windows:通常为
python或python.exe
- Mac:通常为
在配置文件中,始终使用虚拟环境中 Python 解释器的完整绝对路径,而不是命令名称。
四、使用方法
(一)启动服务器
-
直接运行:在项目目录下,激活虚拟环境后执行:
python3 xiaohongshu_mcp.py -
通过 MCP Client 启动:配置好MCP Client后,按照客户端的操作流程进行启动和连接。
(二)主要功能操作
在MCP Client(如Claude for Desktop)中连接到服务器后,可以使用以下功能:
1. 登录小红书
工具函数:
mcp0_login()
在MCP客户端中的使用方式: 直接发送以下文本:
帮我登录小红书账号
或:
请登录小红书
功能说明:首次使用时会打开浏览器窗口,等待用户手动扫码登录。登录成功后,工具会保存登录状态。
2. 搜索笔记
工具函数:
mcp0_search_notes(keywords="关键词", limit=5)
在MCP客户端中的使用方式: 发送包含关键词的搜索请求:
帮我搜索小红书笔记,关键词为:美食
指定返回数量:
帮我搜索小红书笔记,关键词为旅游,返回10条结果
功能说明:根据关键词搜索小红书笔记,并返回指定数量的结果。默认返回5条结果。
3. 获取笔记内容
工具函数:
mcp0_get_note_content(url="笔记URL")
在MCP客户端中的使用方式: 发送包含笔记URL的请求:
帮我获取这个笔记的内容:https://www.xiaohongshu.com/search_result/xxxx
或:
请查看这个小红书笔记的内容:https://www.xiaohongshu.com/search_result/xxxx
功能说明:获取指定笔记URL的详细内容,包括标题、作者、发布时间和正文内容。
4. 获取笔记评论
工具函数:
mcp0_get_note_comments(url="笔记URL")
在MCP客户端中的使用方式: 发送包含笔记URL的评论请求:
帮我获取这个笔记的评论:https://www.xiaohongshu.com/search_result/xxxx
或:
请查看这个小红书笔记的评论区:https://www.xiaohongshu.com/search_result/xxxx
功能说明:获取指定笔记URL的评论信息,包括评论者、评论内容和评论时间。
5. 发布智能评论
工具函数:
mcp0_post_smart_comment(url="笔记URL", comment_type="评论类型")
在MCP客户端中的使用方式: 发送包含笔记URL和评论类型的请求:
帮我为这个笔记写一条[类型]评论:https://www.xiaohongshu.com/explore/xxxx
功能说明:获取笔记分析结果,并返回给MCP客户端,由客户端生成评论并调用post_comment发布。
6. 发布评论
工具函数:
mcp0_post_comment(url="笔记URL", comment="评论内容")
在MCP客户端中的使用方式: 发送包含笔记URL和评论内容的请求:
帮我发布这条评论到笔记:https://www.xiaohongshu.com/explore/xxxx
评论内容:[评论内容]
功能说明:将指定的评论内容发布到笔记页面。
四、使用指南
0. 工作原理
本工具采用两步式流程实现智能评论功能:
-
笔记分析:调用
post_smart_comment工具获取笔记信息(标题、作者、内容等) -
评论生成与发布:
- MCP客户端(如Claude)基于笔记分析结果生成评论
- 调用
post_comment工具发布评论
这种设计充分利用了MCP客户端的AI能力,实现了更自然、相关的评论生成。
1. 在MCP客户端中的使用方式
基本操作
| 機能 | コマンド例 |
|---|---|
| ノートを検索 | [キーワード]に関する小紅書のノートを検索して |
| ノートの内容を取得 | この小紅書のノートの内容を確認して:https://www.xiaohongshu.com/explore/xxxx |
| ノートを分析 | この小紅書のノートを分析して:https://www.xiaohongshu.com/explore/xxxx |
| コメントを取得 | このノートのコメントを確認して:https://www.xiaohongshu.com/explore/xxxx |
| コメントを生成 | この小紅書のノートに[種類]のコメントを書いて:https://www.xiaohongshu.com/explore/xxxx |
コメントの種類オプション
| 種類 | 説明 | 適したシーン |
|---|---|---|
| 誘導 | ユーザーをフォローやDMへ誘導する | フォロワーやDMでの交流を増やす |
| いいね | 簡単な交流で好感を得る | 露出とエンゲージメント率を高める |
| 質問 | 質問形式で交流を増やす | 投稿者からの返信を促し、交流の深さを増す |
| 専門的 | 専門知識を示して権威を確立する | 専門的なイメージを築き、信頼性を高める |
2. 実際のワークフロー例
用户: 帮我为这个小红书笔记写一条专业类型的评论:https://www.xiaohongshu.com/explore/xxxx
Claude: 我会帮您写一条专业类型的评论。让我获取笔记内容并生成评论。
[调用post_smart_comment工具]
# 工具返回笔记分析结果,包含标题、作者、内容、领域和关键词
Claude: 我已经获取到笔记信息,这是一篇关于[主题]的笔记。基于内容,我生成并发布了以下专业评论:
"[生成的专业评论内容]"
[调用post_comment工具]
Claude: 评论已成功发布!
注意:上記のフローでは、post_smart_commentツールはノートの分析結果を取得してMCPクライアントに返すだけであり、実際のコメント生成はMCPクライアント(Claudeなど)自身が行います。
3. 動作原理
新版の小紅書MCPツールはモジュール設計を採用しており、3つのコアモジュールに分かれています:
-
ノート分析モジュール(analyze_note)
- ノートのタイトル、投稿者、投稿日時、内容を取得します
- ノートが属する分野とキーワードを分析します
- 構造化されたノート情報を返します
-
コメント生成モジュール(MCPクライアントが実装)
- ノートの分析結果を受け取ります
- ノートの内容とコメントの種類に基づいて、自然で関連性のあるコメントを生成します
- ユーザーが公開前にコメントをプレビューして修正できるようにします
-
コメント公開モジュール(post_comment)
- 生成されたコメント内容を受け取ります
- コメント入力欄を特定して操作します
- コメントを公開して結果を返します
五、コード構成
- xiaohongshu_mcp.py:主要機能を実装するコアファイルで、ログイン、検索、内容とコメントの取得、コメントの公開などの機能のコードロジックを含みます。
- requirements.txt:プロジェクトに必要な依存ライブラリを記録します。
六、よくある問題と解決策
-
接続失敗:
- 仮想環境内のPythonインタープリターの完全な絶対パスを使用していることを確認してください
- MCPサーバーが実行中であることを確認してください
- MCPサーバーとクライアントの再起動を試してください
-
ブラウザセッションの問題:
Page.goto: Target page, context or browser has been closedエラーが発生した場合:- MCPサーバーを再起動してください
- 再接続してログインしてください
-
依存関係のインストール問題:
ModuleNotFoundErrorエラーが発生した場合:- 仮想環境にすべての依存関係がインストールされていることを確認してください
- fastmcpパッケージがインストールされているか確認してください
七、注意事項と問題解決
1. 使用上の注意
- ブラウザモード:ツールはPlaywrightの非ヘッドレスモードで動作し、実行時に実際のブラウザウィンドウが開きます
- ログイン方式:初回ログイン時は手動でQRコードをスキャンする必要があり、以降はログイン状態が有効であれば再度スキャンする必要はありません
- プラットフォームのルール:使用中は小紅書プラットフォームの関連規定を厳守し、過度な操作を避けて、アカウントが凍結されるリスクを防いでください
- コメント頻度:コメントの公開頻度を制御し、短時間に大量のコメントを公開することを避け、1日のコメント数は30件以下にすることをお勧めします
2. よくある問題と解決策
ブラウザインスタンスの問題
「Page.goto: Target page, context or browser has been closed」のようなエラーが発生した場合、ブラウザインスタンスが正しく終了していないか、データディレクトリのロックファイルの問題である可能性があります。次をお試しください:
# 删除浏览器锁文件
rm -f /项目路径/browser_data/SingletonLock /项目路径/browser_data/SingletonCookie
# 如果问题仍然存在,备份并重建浏览器数据目录
mkdir -p /项目路径/backup_browser_data
mv /项目路径/browser_data/* /项目路径/backup_browser_data/
mkdir -p /项目路径/browser_data
内容取得の問題
ノートの内容を取得できない、または内容が不完全な場合は、次をお試しください:
- 待機時間を増やす:小紅書のノートページは、特に大量の画像や動画を含むノートの場合、読み込みにより長い時間がかかることがあります
- ブラウザキャッシュをクリアする:ブラウザキャッシュが内容の取得に影響することがあります
- 別の取得方法を試す:ツールには複数の取得方法が統合されており、ある方法が失敗した場合は他の方法を試すことができます
プラットフォームの変化への適応
小紅書プラットフォームはページ構造やDOM要素を更新することがあり、ツールが正常に動作しなくなる可能性があります。このような問題が発生した場合:
- プロジェクトの更新を確認する:プロジェクトの最新バージョンに注目し、速やかに更新してください
- セレクターを調整する:コードに詳しい場合は、CSSセレクターやXPath式の調整を試してください
- 問題を報告する:プロジェクトのメンテナーに問題を報告し、発生した具体的な問題とページの変化を説明してください
八、免責事項
本ツールは学習および研究目的のみに使用され、使用者は関連する法令および小紅書プラットフォームの規定を厳守する必要があります。不適切な使用によって生じたいかなる問題についても、本プロジェクトの開発者は一切の責任を負いません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。