weixin-articles-mcp
weixin-articles-mcp
用于阅读 微信(WeChat)公众号文章 的 MCP 服务器,支持原生多模态输出——图片和视频关键帧以内容块(而非 URL)形式返回。
仅供个人/研究使用。 本工具仅读取公开可访问的文章 URL,不会绕过任何身份验证或反爬虫措施。使用前请参阅 免责声明。
为什么开发此工具
其他为 LLM 读取微信文章的工具通常返回 图片 URL 列表 —— 你的 LLM 必须点击链接才能查看,这增加了额外的往返请求和上下文开销。
本服务器直接返回 图片本身,以及 视频关键帧。你的 LLM 可以一次性看到你所看到的内容。
工具 | 文章正文 | 图片 | 视频 |
| ✅ (常被反爬虫拦截) | ❌ 仅 URL | ❌ |
现有微信 MCP / Skills | ✅ | ❌ 仅 URL | ❌ |
weixin-articles-mcp | ✅ | ✅ 原生图片块 | ✅ 关键帧作为图片块 |
Related MCP server: WeChat Article Parser
功能特性
📰 可靠的微信抓取 — 纯 Python
httpxGET 请求,无需 Rust 二进制文件或无头浏览器🖼️ 原生图片内容 — PNG/JPG 以 MCP
Image块返回,过滤 GIF,每篇文章上限 10 张🎬 支持三种视频嵌入类型:
微信公众号原生视频 (
<iframe data-mpvid="wxv_*">):从内联 JS 中提取 mp4,通过 ffmpeg 生成 8 张均匀分布的关键帧腾讯视频 (
v.qq.comiframe):通过 yt-dlp + ffmpeg 提取关键帧微信视频号 (
<mp-common-videosnap>):通过公共batch_get_video_snapAPI 获取完整元数据(时长、尺寸、高清封面、完整描述、点赞数、发布者认证)+ 封面图。mp4 流受微信 finder 协议保护 — 详见下文 为什么不支持视频号 mp4?
🕒 发布时间恢复 — 提取其他解析器遗漏的
var ctUnix 时间戳🪶 极简安装 —
pip install+ 可选的ffmpeg(用于视频);无需 Chromium,无需 Rust
安装
# Core (article + images)
pip install weixin-articles-mcp
# With video keyframe support
pip install "weixin-articles-mcp[video]"
brew install ffmpeg # or apt install ffmpeg on Linux配置
Claude Desktop / Claude Code
{
"mcpServers": {
"weixin-articles": {
"command": "weixin-articles-mcp"
}
}
}Cursor / Cline
使用相同的 JSON,放入客户端的 MCP 服务器配置中即可。
使用方法
配置完成后,只需将微信文章 URL 粘贴到对话中:
你的 LLM 将收到:
文章元数据(标题、公众号、发布时间、封面 URL)
Markdown 格式的完整文章正文
所有内联 PNG/JPG 图片作为原生图片内容块
每个视频对应 8 张关键帧图片
工具参考
read_article(url: str) -> list[content_block]
返回一个 MCP 内容块列表:
[0]— 文本块:元数据 + 文章正文 Markdown[1..N]— 图片块:文章图片(最多 10 张,已过滤 GIF)每个视频(最多 3 个):
微信原生或腾讯视频:一个文本标记 + 8 个关键帧图片块
微信视频号:一个文本标记(包含时长、尺寸、点赞数、发布者、描述)+ 1 个高清封面图片块
失败时,返回一个以 Error: 开头的文本块。
开发路线图
[x] 具备反爬虫处理的微信文章抓取
[x] 原生图片内容块
[x] 微信公众号原生视频关键帧提取
[x] 腾讯视频关键帧提取
[x] 通过公共 API 丰富微信视频号元数据
[ ] 通过 faster-whisper 实现 ASR 字幕(针对原生 + 腾讯视频)
[ ] 已读文章全文搜索
[ ] 公众号订阅 / 新文章通知
为什么不支持视频号 mp4?
简短回答:文章中的微信视频号视频故意不向公共网络访问暴露可下载的 mp4 流。mp4 位于微信的 finder 协议内,该协议需要 (a) 已登录的微信客户端会话,(b) finder 特定的加密(mp4 的前 128KB 使用固定密钥进行 XOR 加密),以及 (c) 在网络层拦截来自微信 PC 客户端的流。
市面上所有的开源微信视频号下载器 —— ltaoo/wx_channels_download, qiye45/wechatVideoDownload, putyy/res-downloader, KingsleyYau/WeChatChannelsDownloader 等 —— 都是通过 MITM HTTPS 代理 + 微信 PC 客户端 + 根证书安装 来解决的。这种模式从根本上与 MCP 服务器的运行方式(无客户端、无用户交互、无管理员安装)不兼容。
我们采取的替代方案是:调用微信的公共 batch_get_video_snap API(无需 Cookie 或会话),为你的 LLM 提供次优选择 —— 高清封面图、完整描述、时长、尺寸、点赞数和发布者认证。对于大多数用例(阅读和总结文章),这足以传达视频的核心内容。
如果你确实需要 mp4 文件,请在本 MCP 之外安装上述专用工具之一 —— 它们可以互补使用。
架构
src/weixin_articles_mcp/
├── server.py # FastMCP entrypoint, tool registration
├── fetcher.py # httpx GET with browser UA
├── parser.py # WeChat DOM extraction (BeautifulSoup + lxml)
├── markdown.py # HTML → Markdown (markdownify subclass)
└── media.py # Image download + video download/keyframe extraction贡献
欢迎提交 PR。特别期待在以下方面获得帮助:
微信视频号 URL 处理
对不同发布者模板变体的适应性
更多的测试用例(不同文章风格)
提交 Issue: https://github.com/jj-cheng25/weixin-articles-mcp/issues
免责声明
本工具仅供 个人、教育和研究使用。
本工具的功能:
使用标准浏览器 User-Agent 读取公开可访问的微信文章 URL (
mp.weixin.qq.com/s/...) —— 即任何使用浏览器的用户都能看到的内容仅调用接受空身份验证字段的公共微信 API 端点(即微信设计为无需登录即可访问的接口)
强制执行默认 1 秒的请求间隔,以防止本工具被滥用为高频爬虫
本工具 不执行 以下操作:
使用 Cookie、登录会话或任何形式的用户凭据
绕过任何技术保护、反爬虫措施或加密流(例如,微信视频号 mp4 故意 不 支持 —— 详见 为什么不支持视频号 mp4?)
解密、逆向工程或规避微信的协议级保护
在即时响应之外存储、缓存或重新分发抓取的内容
用户责任:
使用本工具时请 遵守微信的服务条款。个人/研究用途的公开文章访问通常符合内容消费的初衷;高频抓取或商业再分发则可能不符合。
尊重版权。文章内容归原作者和发布者所有;本工具仅抓取并转发给你的 LLM 进行内联处理。
不要对 mp.weixin.qq.com 进行洪水式请求 —— 请保持人类阅读频率。默认速率限制设置较为保守,但你可以通过在环境中设置
WEIXIN_FETCH_INTERVAL_S=2.0(或更高)来进一步收紧。
本项目作者和贡献者不对因滥用而产生的任何责任负责。使用本软件即表示你完全承担确保你的使用符合适用法律及所连接服务条款的责任。
许可证
MIT — 详见 LICENSE。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- Flicense-qualityDmaintenanceEnables parsing and extracting content from WeChat public account articles using browser simulation, supporting multiple output formats (JSON, Markdown, HTML) and media resource extraction.
- Flicense-qualityDmaintenanceParses WeChat public account articles to extract metadata, content, and generate AI-powered summaries with semantic analysis, viewpoint extraction, and structure analysis capabilities.
- Flicense-qualityDmaintenanceEnables fetching, searching, and summarizing WeChat public account articles through browser automation. Supports multiple output formats and provides article metadata and statistics.1
- Alicense-qualityDmaintenanceEnables reading and extracting content from WeChat public account articles using browser automation, allowing AI models to analyze and summarize WeChat articles through natural language requests.443MIT
Related MCP Connectors
Read WeChat public account articles via MCP. 99.89% anti-scraping success, 50-87% token compression.
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
Jina AI Reader/Search MCP — turn any URL into clean LLM-ready markdown, plus web search.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jj-cheng25/weixin-articles-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server