
Wenyan MCP Server: Publish Markdown to WeChat Official Accounts
Lets your assistant turn a Markdown article into a styled WeChat Official Account post and save it as a draft.
Wenyan MCP formats Markdown with one of the built-in themes (or your own CSS) and uploads the article, its images and its cover to the drafts folder of a WeChat Official Account (微信公众号). You then review and publish from the WeChat dashboard. It runs on your computer and needs your account's AppID and AppSecret. WeChat only accepts uploads from IP addresses on your account's allow-list, or you can send the upload through a Wenyan server you host.
Good for
- Chinese-language writers who draft in Markdown and publish to a WeChat Official Account
- Teams that want an AI agent to prepare WeChat posts without copy and paste
- Developers who publish from a CI job or a fixed server
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install wenyan MCP
Claude Code
- 1
Copy this prompt.
Add the wenyan MCP server to Claude Code. Run this command: claude mcp add wenyan -e WECHAT_APP_ID=<WECHAT_APP_ID> -e WECHAT_APP_SECRET=<WECHAT_APP_SECRET> -- npx -y @wenyan-md/mcp Ask me for WECHAT_APP_ID, WECHAT_APP_SECRET and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
Built from the package data we hold. Not yet tested by us.
Tools
Formats a Markdown article and saves it to WeChat drafts
Takes Markdown (pasted text, a local file path or a URL), applies a theme, uploads the images and cover, and creates a draft in your WeChat Official Account. It does not publish the post to readers. The AppID option works only when you run it against a Wenyan server.
Try: “Publish ./posts/spring-reading.md to my WeChat account using the phycat theme.”
Write ·
publish_articleLists the built-in and custom article themes
Returns the theme IDs you can use, with a short description of each, built-in themes first and then any custom themes you registered.
Try: “Which WeChat themes can I use?”
Read ·
list_themesAdds a custom theme from a CSS file or URL
Saves a new theme under a name you choose, using a CSS file on your computer or at a URL, so later articles can use it.
Try: “Register https://example.com/manhua.css as a theme called manhua.”
Write ·
register_themeRemoves a custom theme you added
Removes a custom theme by name. It is meant for themes you registered yourself, not the built-in ones.
Try: “Remove the custom theme called manhua.”
Delete ·
remove_theme
Read from the source code
Permissions
medium risk · 4 things to watch
Medium risk
It can upload images and create drafts in your WeChat Official Account using your AppID and AppSecret, but it does not publish them to readers. Review each draft in WeChat and keep the secret out of shared files.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It writes to your WeChat account
publish_article uploads images and creates drafts in your Official Account. Drafts are not published until you do that in WeChat, so check each one. github.com
Your AppSecret sits in the client config
Anyone who can read the config file can use the secret. Keep it out of shared repos, and reset the secret in the WeChat dashboard if it leaks. github.com
It reads local files and fetches URLs you give it
publish_article reads a Markdown file path or URL and uploads the images it references. Only point it at files you want published. github.com
remove_theme removes custom themes only
Its description covers custom themes you registered. It does not touch your articles or drafts. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Talks to | WeChat Official Account API, or your own Wenyan server in server mode. URLs you give it for articles, images or theme CSS |
|---|---|
| Sign-in and keys | AppID and AppSecret are passed as environment variables in your client's MCP config. In server mode you pass --server and --api-key instead. |
| Scopes |
|
Questions
Is the Wenyan MCP server official?
No. It is made by the developer behind the Wenyan formatting tool (caol64 on GitHub), not by WeChat or Tencent.
What do I need before I can publish?
A WeChat Official Account with its AppID and AppSecret. Your computer's IP address must also be on the account's IP allow-list, or uploads fail.
What if my IP address keeps changing?
Run a Wenyan server on a machine with a fixed IP and point the MCP at it with the server and API key options. The README describes this as server mode, which also supports several accounts.
Does it publish posts to my readers?
No. It saves the article to your drafts folder. You review it and publish from the WeChat dashboard.
Which AI clients work with it?
Any client that can start a local program over stdio. The README shows Claude Desktop. Use the install box above for Claude Code, Cursor and others.
Can I run it without Node.js?
Yes. The README also offers a Docker image, caol64/wenyan-mcp. It needs your article folder mounted into the container and the same two WeChat variables.
Can I use my own theme?
Yes. Ask the assistant to register a CSS file or URL under a name, then use that name when publishing.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
@wenyan-md/mcp- Registry
- npm
- Transport
- stdio
- Auth
- token in env
- Version
- 2.0.4
- License
- Apache-2.0
- Last commit
- Sep 20, 2026
- Open issues
- 5
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com