wexin-read-mcp 微信公众号文章阅读 MCP 服务器技术分析

一、概述

1. 项目简介

wexin-read-mcp 是一个极简的 MCP(Model Context Protocol)服务器,旨在让大模型能够阅读微信公众号文章。该项目使用浏览器模拟技术绕过微信平台的反爬虫机制,实现了自动化内容提取功能。

2. 核心问题

微信公众号文章内容无法被大模型直接访问,主要面临以下挑战:

  • 微信平台严格的反爬虫机制
  • 动态加载的内容需要完整的浏览器环境
  • 需要模拟真实用户行为才能获取完整内容

3. 解决方案

通过 MCP 协议标准,创建一个中间服务层,使用 Playwright 浏览器自动化工具模拟真实用户访问,提取文章内容后返回给大模型。

二、技术架构

1. 系统组成

graph LR
    A[用户/Claude] -->|1. 发送URL| B[MCP Server]
    B -->|2. 启动浏览器| C[Playwright]
    C -->|3. 访问URL| D[微信服务器]
    D -->|4. 返回HTML| C
    C -->|5. 提取内容| B
    B -->|6. 返回JSON| A

mermaid

2. 核心组件

A. MCP Server

  • 职责:实现 MCP 协议,提供工具接口
  • 框架:基于 fastmcp 构建
  • 接口:read_weixin_article(url)

B. Playwright 浏览器自动化

  • 职责:模拟真实浏览器访问
  • 功能:处理 JavaScript 渲染、Cookie、Headers 等

C. 内容提取器

  • 职责:从 HTML 中提取结构化数据
  • 工具:BeautifulSoup4
  • 提取内容:标题、作者、发布时间、正文

3. 工作流程

sequenceDiagram
    participant U as 用户
    participant M as MCP Server
    participant P as Playwright
    participant W as 微信服务器

    U->>M: 1. 发送文章URL和需求
    M->>P: 2. 启动浏览器
    P->>W: 3. 访问文章URL
    W-->>P: 4. 返回完整HTML
    P->>M: 5. 提取结构化内容
    M->>U: 6. 返回JSON数据
    U->>U: 7. 大模型分析内容

mermaid

三、技术实现

1. 技术栈

  • Python 3.10+
  • fastmcp:MCP 协议框架
  • Playwright:浏览器自动化
  • BeautifulSoup4:HTML 解析

2. 核心功能

read_weixin_article 工具

参数

返回结构

{
    "success": true,
    "title": "文章标题",
    "author": "作者名",
    "publish_time": "2025-11-05",
    "content": "文章正文内容...",
    "error": null
}

3. 安装配置

依赖安装

pip install -r requirements.txt

Claude 配置

在 Claude 配置文件中添加 MCP 服务器:

{
    "mcpServers": {
        "weixin-reader": {
            "command": "python",
            "args": ["C:/Users/你的用户名/Desktop/wx-mcp/wx-mcp-server/src/server.py"]
        }
    }
}

4. 使用示例

在 Claude 中直接使用自然语言:

请帮我总结这篇文章:https://mp.weixin.qq.com/s/nEJhdxGea-KLZA_IGw9R5A

Claude 会自动调用 read_weixin_article 工具获取文章内容并进行分析。

四、技术亮点

1. 浏览器模拟

使用 Playwright 完整模拟浏览器环境,包括:

  • JavaScript 执行
  • Cookie 管理
  • Headers 设置
  • 用户代理伪装

2. 极简实现

以最少的代码实现核心功能,代码结构清晰易懂。

3. MCP 标准协议

遵循 MCP 协议标准,可与其他 MCP 工具和服务无缝集成。

五、注意事项

1. 使用限制

  • 仅用于个人学习和研究
  • 遵守微信公众平台服务协议
  • 不建议高频爬取(建议间隔大于 2 秒)
  • 不用于商业用途

2. 技术风险

  • 微信反爬虫策略可能随时更新
  • IP 地址可能被限制访问
  • 需要定期维护更新

六、项目信息


参考资料

  1. wexin-read-mcp GitHub 仓库
最后修改:2026 年 01 月 26 日
如果觉得我的文章对你有用,请随意赞赏