项目源自github上一个很有趣的MCP产品,我尝试使用它,并思考有哪些可以改进的地方。
产品链接:https://xhs-mcp.aicu.icu/

教程链接:https://xhs-mcp.aicu.icu/
XHS

我对这类产品的期待:我需要一个自动化拔取小红书信息的工具,我需要一个能自动化分析爆款,并给出新的建议的工具。总而言之,我希望我用这个产品可以迅速起号。围绕这个需求,我尝试这个产品,并思考有哪些可以改进的地方。

这个项目的开源代码不是简单的前端应用,而是通过Electron创建内嵌浏览器,使用Web自动化技术访问小红书Web版的API。它在本地启动一个服务器,提供API接口给其他应用调用,实现了小红书数据的采集、处理和导出功能。这种方式绕过了小红书的API限制,直接使用已登录的Web会话获取数据,确保了数据访问的可靠性和高效性。

但目前使用起来会发现,它很不稳定。目前可以确认,它不稳定的原因是小红书的官方API限制访问,当然我们也可以用线上服务器的方式单开一个平台,自动化搜索,但这样就会很慢,使用的效果也很糟糕。

开源代码分析

Xhs-mcp-server项目架构与技术路线分析
架构概述
xhs-mcp-server是一个基于Electron的应用程序,主要功能是提供小红书API的接口封装,使AI或其他客户端能够自动化操作小红书平台。项目采用了模块化设计,由以下几个主要部分组成:

  1. 核心组件
    MCP服务器(Model Context Protocol服务器):在src-mcpserver目录下,负责提供API接口
    浏览器自动化:在src-extension目录中,是一个Chrome扩展,用于与小红书网站交互
    Electron应用:在src目录中,提供用户界面和管理后台服务
  2. 技术栈
    后端:Node.js、TypeScript
    MCP框架:@aicu/mcp-framework(专门用于构建AI工具的框架)
    前端:React (在Electron中)
    浏览器自动化:Chrome扩展

工作原理

浏览器自动化:通过Chrome扩展(content.js)注入到小红书网站
API封装:在xhs-browser.ts中使用Electron的BrowserWindow加载小红书网站并通过executeJavaScript执行操作
工具集:每个功能都被封装成一个Tool类,如SearchnotesTool、GetuserpostsTool等
MCP框架:提供统一的接口规范,使AI可以直接调用这些工具

设计思路与亮点

无需模拟点击:直接通过API调用,比传统爬虫更高效
浏览器模拟:使用真实浏览器环境,可以处理登录、验证码等复杂场景
数据导出:支持CSV导出,便于分析
MCP协议:使用Model Context Protocol,让AI可以直接调用小红书功能
模块化设计:每个功能单独封装为工具类,易于维护和扩展

实现类似产品的技术路线

  1. 架构设计
    我的项目/
    ├── electron-app/ # Electron主应用
    │ ├── src/ # 应用源码
    │ │ ├── main/ # 主进程代码
    │ │ ├── preload/ # 预加载脚本
    │ │ └── renderer/ # 渲染进程(UI)代码
    │ └── package.json # 应用依赖

    ├── browser-extension/ # 浏览器扩展
    │ ├── manifest.json # 扩展配置
    │ └── content.js # 注入脚本

    ├── mcp-server/ # MCP服务器
    │ ├── src/ # 服务器源码
    │ │ ├── tools/ # API工具集
    │ │ ├── browser.ts # 浏览器交互层
    │ │ └── index.ts # 服务器入口
    │ └── package.json # 服务器依赖

  2. 核心技术选择
    运行环境:Electron (提供UI和浏览器环境)
    浏览器自动化:
    方案1:Chrome扩展 (类似原项目)
    方案2:Puppeteer/Playwright (更通用但可能更易被检测)
    服务端:Node.js + TypeScript
    接口规范:REST API 或 MCP (Model Context Protocol)
    数据处理:支持JSON/CSV导出

  3. 安全与稳定性考虑
    登录管理:处理Cookie、账号登录、验证码等
    反爬措施应对:
    请求频率控制
    用户行为模拟
    IP代理支持
    数据缓存:减少重复请求
    错误处理:自动重试、异常恢复机制

  4. 扩展功能
    多平台支持:不仅限于小红书,可扩展到其他社交平台
    数据分析:集成数据可视化和分析工具
    AI集成:接入大模型进行内容分析和生成
    自动化任务:定时采集、数据监控等