Copying the text out is easy; keeping the pictures is not, because WeChat serves them from a separate domain that rejects requests without the right Referer and encodes the format in a query parameter — this handles both and rewrites the Markdown to point at the local files, so the saved article still reads a year later. Check how it runs in your setup before planning around it: the tool describes itself as returning crawl instructions for the agent to execute through playwright-mcp, while the project also documents a mode that downloads directly.
A single-purpose crawler for WeChat articles, built for Cursor. It handles the parts that make mp.weixin.qq.com awkward: the mmbiz.qpic.cn image domain, the Referer and User-Agent headers those images require, and the wx_fmt parameter that decides the file type.
- crawl_wechat_article takes the article URL and returns the content, with output_format choosing markdown, json or html
- save_images downloads the article's images locally and rewrites the document's paths to them, so the Markdown reads offline
- clean_content strips the page furniture, and a timeout bounds a slow fetch
- Strategy picks between fast, basic and conservative — the project's own trade-off between speed and reliability on a flaky page or a complex article
- Image downloading runs three at a time with retries, rather than serially or all at once
- The tool description states it returns crawl instructions for the agent to execute through playwright-mcp; the project also documents an automatic mode that performs the download itself
- The documentation additionally describes crawl_wechat_batch for a list of URLs with a concurrency limit and inter-request delay, and crawl_get_status for session progress
No account and no key. Node.js 18 or higher — it uses the built-in fetch — run as npx -y crawl-mcp-server. The instruction path expects playwright-mcp to be available to the same agent, since that is what performs the page fetch. Documentation and tool descriptions are in Chinese. MIT.
One command — npx -y crawl-mcp-server@1.1.0
