# jj-cheng25/weixin-articles-mcp [Health: Active]

**Category:** 🌐 Social Media  
**Repository:** https://github.com/jj-cheng25/weixin-articles-mcp  
**GitHub Stars:** 7  
**Views:** 5  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/jj-cheng25-weixin-articles-mcp

## Description
Read WeChat (微信) Official Account articles with native multimodal output — body, images, and video keyframes as MCP content blocks. Handles all three embed types: Tencent Video (yt-dlp keyframes), WeChat-native (mp4 keyframes), Channels/视频号 (metadata + cover via public API).

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "weixin-articles-mcp": {
    "command": "uvx",
    "args": ["weixin-articles-mcp"]
  }
}
```

## Documentation

## What jj-cheng25/weixin-articles-mcp MCP server does

The jj-cheng25/weixin-articles-mcp MCP server exposes one article-reading tool for public WeChat Official Account URLs. Given an `mp.weixin.qq.com/s/...` URL, it returns a text block containing article metadata and the full body converted to Markdown, followed by media blocks for supported images and videos.

Article metadata includes the title, account name, publication time, and cover URL. Inline PNG and JPG images are downloaded and returned as MCP image content, with GIF images excluded. A maximum of 10 article images is returned. The response is intended for an MCP client or language model that can consume mixed text and image content blocks.

## How it works

The server uses Python and `httpx` to issue a standard HTTP GET request with a browser User-Agent. BeautifulSoup and lxml parse the WeChat page, while a Markdown conversion layer produces the article body. The project does not require Chromium, a headless browser, or a Rust binary.

Video processing depends on the embed type. Native WeChat Official Account videos are identified from page data, and their MP4 content is used to create eight evenly spaced frames with ffmpeg. Tencent Video iframe embeds use yt-dlp together with ffmpeg for the same eight-frame output. Each of these videos contributes a text marker and image blocks, with up to three videos handled per article.

Channels, also called 视频号, are handled differently. The server calls WeChat’s public `batch_get_video_snap` API and returns a text marker containing details such as duration, dimensions, description, likes, and publisher verification, plus a high-resolution cover image.

## Setup and configuration

Install the base Python package with `pip install weixin-articles-mcp`. This provides article and image handling. Install the optional video extra with `pip install "weixin-articles-mcp[video]"`, then make ffmpeg available through the operating system, such as with Homebrew on macOS or apt on Linux.

Configure the executable named `weixin-articles-mcp` as an MCP server in Claude Desktop, Claude Code, Cursor, or Cline. The README shows a stdio configuration with no command-line arguments and states that Cursor and Cline use the same JSON structure.

No cookies, login session, API token, or other user credential is required. Requests are limited by a default minimum interval of one second. The interval can be increased with `WEIXIN_FETCH_INTERVAL_S`, for example `2.0`.

## Tools and capabilities

The available tool is `read_article(url: str)`, which returns a list of MCP content blocks. It supports:

- Article metadata and Markdown body text.
- Native PNG/JPG image blocks, capped at 10 images.
- Eight keyframes for each supported native WeChat or Tencent video.
- Channels metadata and one high-resolution cover image.
- Publication timestamp recovery from the page’s Unix timestamp data.
- A single text block beginning with `Error:` when reading fails.

## Limitations and notes

The jj-cheng25/weixin-articles-mcp MCP server is intended for personal, educational, and research use. It reads only publicly accessible article URLs and does not bypass anti-bot protections, authentication, or encrypted media protocols. It also does not store, cache, or redistribute fetched content beyond the immediate response.

Channels MP4 files are not downloaded. Public access does not expose the required stream; obtaining it would involve a logged-in WeChat client, protocol-specific decryption, and network interception. The server therefore supplies metadata and a cover rather than frames for Channels videos.

The optional video workflow requires ffmpeg, and Tencent video extraction also relies on yt-dlp. Planned features listed by the project include speech-to-text subtitles, search across previously read articles, and account notifications; these are not current capabilities. Users remain responsible for complying with WeChat’s terms, respecting copyright, and avoiding high-volume crawling.

_Full upstream README: https://allmcps.com/mcp/jj-cheng25-weixin-articles-mcp/readme_

