Skip to main content
Glama
jj-cheng25

weixin-articles-mcp

by jj-cheng25

weixin-articles-mcp

MCP-сервер для чтения статей из официальных аккаунтов WeChat (微信) с нативным мультимодальным выводом — изображения и ключевые кадры видео возвращаются как блоки контента, а не как URL-адреса.

Для личного использования и исследований. Этот инструмент читает только общедоступные URL-адреса статей и не обходит никакие меры аутентификации или защиты от ботов. Перед использованием ознакомьтесь с разделом Отказ от ответственности.

License: MIT Python 3.10+ GitHub stars

Зачем это нужно

Другие инструменты, читающие статьи WeChat для LLM, возвращают список URL-адресов изображений — вашей LLM приходится переходить по ним, чтобы увидеть контент, что требует дополнительных запросов и контекста.

Этот сервер возвращает сами изображения. И ключевые кадры видео. Ваша LLM видит то же, что и вы, за один раз.

Инструмент

Текст статьи

Изображения

Видео

WebFetch (встроенный)

✅ (часто блокируется анти-ботами)

❌ Только URL

Существующие WeChat MCP / Skills

❌ Только URL

weixin-articles-mcp

Нативные блоки изображений

Ключевые кадры как блоки изображений

Related MCP server: WeChat Article Parser

Возможности

  • 📰 Надежный парсинг WeChat — чистый Python httpx GET, не требуются Rust-бинарники или headless-браузеры

  • 🖼️ Нативный контент изображений — PNG/JPG возвращаются как блоки MCP Image, GIF-файлы фильтруются, ограничение — 10 штук на статью

  • 🎬 Обработка видео для всех трех типов встраивания:

    • Нативные видео официальных аккаунтов WeChat (<iframe data-mpvid="wxv_*">): mp4 извлекается из встроенного JS, 8 равномерно распределенных ключевых кадров через ffmpeg

    • Tencent Video (v.qq.com iframes): yt-dlp + ключевые кадры через ffmpeg

    • WeChat Channels (视频号, <mp-common-videosnap>): полные метаданные через публичный API batch_get_video_snap (длительность, размеры, обложка высокого разрешения, полное описание, количество лайков, верификация издателя) + обложка. Поток mp4 защищен протоколом WeChat finder — см. Почему нет mp4 для Channels? ниже

  • 🕒 Восстановление времени публикации — извлекает Unix-метку времени var ct, которую пропускают другие парсеры

  • 🪶 Минимальная установка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 статьи WeChat в ваш диалог:

Read https://mp.weixin.qq.com/s/cexkyzQBRDG3uIF6g5cEbQ

Ваша LLM получит:

  • Метаданные статьи (заголовок, аккаунт, время публикации, URL обложки)

  • Полный текст статьи в формате Markdown

  • Все встроенные PNG/JPG изображения как нативные блоки контента

  • Для каждого видео — 8 ключевых кадров в виде изображений

Справочник инструментов

read_article(url: str) -> list[content_block]

Возвращает список блоков контента MCP:

  • [0] — текстовый блок: метаданные + Markdown-текст статьи

  • [1..N] — блоки изображений: изображения из статьи (макс. 10, GIF-файлы отфильтрованы)

  • Для каждого видео (макс. 3):

    • Нативное WeChat или Tencent: один текстовый маркер + 8 блоков изображений с ключевыми кадрами

    • WeChat Channels: один текстовый маркер (с длительностью, размерами, количеством лайков, издателем, описанием) + 1 блок изображения обложки высокого разрешения

В случае ошибки возвращает один текстовый блок, начинающийся с Error:.

Дорожная карта

  • [x] Получение статей WeChat с обходом анти-ботов

  • [x] Нативные блоки контента изображений

  • [x] Извлечение ключевых кадров нативных видео официальных аккаунтов WeChat

  • [x] Извлечение ключевых кадров Tencent Video

  • [x] Обогащение метаданных WeChat Channels (视频号) через публичный API

  • [ ] Субтитры ASR через faster-whisper (для нативных видео и видео Tencent)

  • [ ] Полнотекстовый поиск по прочитанным статьям

  • [ ] Подписка на аккаунты / уведомления о новых статьях

Почему нет mp4 для Channels?

Короткий ответ: видео WeChat Channels (视频号) в статьях намеренно не предоставляют поток mp4 для публичного веб-доступа. Файл mp4 находится внутри протокола finder WeChat, который требует (а) сессию авторизованного клиента WeChat, (б) специфическое шифрование finder (первые 128 КБ mp4 зашифрованы XOR с фиксированным ключом) и (в) перехват потока с ПК-клиента WeChat на сетевом уровне.

Все существующие загрузчики WeChat Channels с открытым исходным кодом — ltaoo/wx_channels_download, qiye45/wechatVideoDownload, putyy/res-downloader, KingsleyYau/WeChatChannelsDownloader и другие — решают эту задачу с помощью MITM HTTPS-прокси + ПК-клиент WeChat + установка корневого CA. Эта модель фундаментально несовместима с тем, как работает MCP-сервер (нет клиента, нет взаимодействия с пользователем, нет прав администратора).

Что мы делаем вместо этого: вызываем публичный API WeChat batch_get_video_snap (не требуются 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-адресов WeChat Channels (视频号)

  • Устойчивости к вариантам шаблонов от менее распространенных издателей

  • Большему количеству тестовых примеров (разные стили статей)

Откройте issue: https://github.com/jj-cheng25/weixin-articles-mcp/issues

Отказ от ответственности

Этот инструмент предоставляется только для личного, образовательного и исследовательского использования.

Что делает этот инструмент:

  • Читает общедоступные URL-адреса статей WeChat (mp.weixin.qq.com/s/...), используя стандартный User-Agent браузера — тот же контент, который может просмотреть любой пользователь с веб-браузером

  • Вызывает только публичные API-эндпоинты WeChat, которые принимают пустые поля аутентификации (т.е. разработаны WeChat так, чтобы быть доступными без логина)

  • Принудительно устанавливает минимальный интервал в 1 секунду между запросами, чтобы предотвратить использование инструмента в качестве высоконагруженного краулера

Чего этот инструмент не делает:

  • Не использует cookie, сессии входа или любые формы учетных данных пользователя

  • Не обходит никакие технические защиты, меры против ботов или зашифрованные потоки (например, mp4 для WeChat Channels намеренно не поддерживается — см. Почему нет mp4 для Channels?)

  • Не расшифровывает, не занимается обратной разработкой и не обходит защиты протокольного уровня WeChat

  • Не хранит, не кэширует и не распространяет полученный контент за пределами немедленного ответа

Обязанности пользователя:

  • Соблюдайте Условия использования WeChat при использовании этого инструмента. Личное/исследовательское использование общедоступных статей в целом соответствует тому, как этот контент предназначен для потребления; высокообъемный парсинг или коммерческое распространение, вероятно, нет.

  • Соблюдайте авторские права на полученный контент. Содержимое статьи остается собственностью ее оригинальных авторов и издателей; этот инструмент только извлекает и пересылает его вашей LLM для обработки.

  • Не перегружайте mp.weixin.qq.com — поддерживайте скорость использования на уровне человеческого чтения. Лимит скорости по умолчанию установлен консервативно, но вы можете ужесточить его, установив WEIXIN_FETCH_INTERVAL_S=2.0 (или выше) в вашем окружении.

Авторы и участники этого проекта снимают с себя всякую ответственность, возникающую в результате неправильного использования. Используя это программное обеспечение, вы принимаете на себя полную ответственность за обеспечение того, чтобы ваше использование соответствовало применимым законам и условиям обслуживания сервисов, к которым оно подключается.

Лицензия

MIT — см. LICENSE.

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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