项目简介

该项目是一个基于Model Context Protocol (MCP) 实现的服务器端应用,专注于与小红书平台互动。它将小红书的搜索、内容读取和评论功能封装为LLM可调用的“工具”,通过标准化的MCP协议提供给LLM客户端使用。

主要功能点

  • 搜索笔记: 根据指定的关键词在小红书上搜索相关笔记,并返回笔记列表及其基本信息(如标题、点赞数、链接)。
  • 获取笔记内容: 根据笔记的URL链接,获取该笔记的详细内容,包括作者、发布时间、点赞/评论/收藏数、正文和封面图片链接。
  • 获取笔记评论: 根据笔记的URL链接,获取该笔记下的评论列表,包含评论者昵称、发布时间和评论内容。
  • 发表评论: 允许通过指定笔记URL和评论内容,向小红书笔记发布新的评论。
  • Cookie检测: 提供一个工具用于检测配置的小红书Cookie是否仍然有效。

安装步骤

  1. 安装环境: 确保您的系统已安装 Node.js 和 Python 3.12 及以上版本。
  2. 安装 uv: 使用pip安装 uv(一个Python包管理器):
    pip install uv
  3. 克隆仓库: 克隆本项目的代码仓库:
    git clone [email protected]:jobsonlook/xhs-mcp.git
    cd xhs-mcp
  4. 安装依赖: 使用 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' 环境变量。

基本使用方法

  1. 按照“安装步骤”完成项目准备。
  2. 获取您的小红书Cookie并妥善保管。
  3. 在您使用的支持MCP的LLM客户端(例如VS Code的某个扩展)中,找到MCP服务器配置项。
  4. 添加一个新的MCP服务器配置,名称填写'xhs-mcp',并根据“服务器配置”部分提供的命令、参数和环境变量(特别是'XHS_COOKIE')填写完整。请确保'--directory'指向您克隆的项目根目录的实际路径。
  5. 保存客户端配置,并根据客户端的指示启动或连接到'xhs-mcp'服务器。
  6. 一旦连接成功,您的LLM客户端即可通过MCP协议发现并调用本项目提供的“工具”(如搜索笔记、获取笔记内容等),从而利用小红书的数据和功能来增强LLM的应用体验。

请确保您的Cookie始终有效,因为所有小红书的交互都需要有效的登录状态。

信息

分类

通信与社交