项目简介
该项目是一个基于Model Context Protocol (MCP) 实现的服务器端应用,专注于与小红书平台互动。它将小红书的搜索、内容读取和评论功能封装为LLM可调用的“工具”,通过标准化的MCP协议提供给LLM客户端使用。
主要功能点
- 搜索笔记: 根据指定的关键词在小红书上搜索相关笔记,并返回笔记列表及其基本信息(如标题、点赞数、链接)。
- 获取笔记内容: 根据笔记的URL链接,获取该笔记的详细内容,包括作者、发布时间、点赞/评论/收藏数、正文和封面图片链接。
- 获取笔记评论: 根据笔记的URL链接,获取该笔记下的评论列表,包含评论者昵称、发布时间和评论内容。
- 发表评论: 允许通过指定笔记URL和评论内容,向小红书笔记发布新的评论。
- Cookie检测: 提供一个工具用于检测配置的小红书Cookie是否仍然有效。
安装步骤
- 安装环境: 确保您的系统已安装 Node.js 和 Python 3.12 及以上版本。
- 安装 uv: 使用pip安装 uv(一个Python包管理器):
pip install uv - 克隆仓库: 克隆本项目的代码仓库:
git clone [email protected]:jobsonlook/xhs-mcp.git cd xhs-mcp - 安装依赖: 使用 uv 安装项目所需的依赖:
uv sync
服务器配置
本项目作为MCP服务器,需要被MCP客户端(如支持MCP的VS Code扩展等)配置才能启动和连接。以下是配置此MCP服务器所需的关键信息和参数说明:
- 服务器名称: 'xhs-mcp' (这是在客户端配置中用于标识该服务器的名称)
- 启动命令 (command): 'uv' (或您的uv安装路径)
- 启动参数 (args):
- '--directory': 指定项目根目录的绝对路径(请替换为您的实际路径,例如'/Users/xxx/xhs-mcp')。
- 'run': uv的运行命令。
- 'main.py': 项目的入口文件。
- '--type <transport>': 可选参数,指定通信传输协议,例如 'stdio' 或 'websocket'(需要通过 '--port' 参数指定端口)。
- '--port <port_number>': 可选参数,当 '--type' 为 'websocket' 时,指定服务器监听的端口号,例如 '8809'。
- 环境变量 (env):
- 'XHS_COOKIE': 必须配置。您的个人小红书账号的Cookie字符串。获取方法通常是登录小红书网页版后,在浏览器开发者工具中查看请求的Cookie信息,并复制。请务必保持此Cookie的有效性。
配置示例说明(这不是直接运行的代码,而是给MCP客户端用的配置信息描述): MCP客户端通常会在一个JSON格式的配置文件中包含一个'mcpServers'部分。对于本项目,该部分的配置条目会命名为 '"xhs-mcp"',其内容将包括一个 '"command"' 字段指定'uv',一个 '"args"' 字段包含上述启动参数(如 '--directory' 和 'run main.py'),以及一个 '"env"' 字段包含 'XHS_COOKIE' 环境变量。
基本使用方法
- 按照“安装步骤”完成项目准备。
- 获取您的小红书Cookie并妥善保管。
- 在您使用的支持MCP的LLM客户端(例如VS Code的某个扩展)中,找到MCP服务器配置项。
- 添加一个新的MCP服务器配置,名称填写'xhs-mcp',并根据“服务器配置”部分提供的命令、参数和环境变量(特别是'XHS_COOKIE')填写完整。请确保'--directory'指向您克隆的项目根目录的实际路径。
- 保存客户端配置,并根据客户端的指示启动或连接到'xhs-mcp'服务器。
- 一旦连接成功,您的LLM客户端即可通过MCP协议发现并调用本项目提供的“工具”(如搜索笔记、获取笔记内容等),从而利用小红书的数据和功能来增强LLM的应用体验。
请确保您的Cookie始终有效,因为所有小红书的交互都需要有效的登录状态。
信息
分类
通信与社交