字节笔记本
2026年2月22日
文颜 MCP Server:让 AI 自动排版发布微信公众号文章
本文介绍文颜 MCP Server(wenyan-mcp),一个基于 Model Context Protocol 的开源工具,可以让 AI 助手自动将 Markdown 文章排版并发布至微信公众号。该项目在 GitHub 上已获得超过 1k stars,是内容创作者自动化发布的利器。
项目简介
文颜(Wenyan) 是一款多平台 Markdown 排版与发布工具,支持将 Markdown 一键转换并发布至:
- 微信公众号
- 知乎
- 今日头条
- 以及其它内容平台(持续扩展中)
文颜的目标是:让写作者专注内容,而不是排版和平台适配。
文颜的不同版本
文颜目前提供多种形态,覆盖不同使用场景:
| 版本 | 适用平台 | 特点 |
|---|---|---|
| macOS App Store 版 | MAC 桌面 | 原生应用体验 |
| 跨平台桌面版 | Windows/Linux | 跨平台支持 |
| CLI 版本 | 命令行 | CI 自动化发布 |
| MCP 版本 (本项目) | AI 助手 | 与 AI 深度集成 |
| 核心库 | Node/Web 项目 | 嵌入开发 |
本仓库是文颜的 MCP Server 版本,基于模型上下文协议(Model Context Protocol),旨在让 AI 助手(如 Claude Desktop)具备自动排版和发布公众号文章的能力。
核心特性
- 与 AI 深度集成:让 AI 帮你管理公众号的排版和发布
- 多主题支持:内置多种排版主题,支持自定义 CSS 主题
- 图片自动上传:支持本地路径和网络图片自动上传
- Docker 支持:提供官方 Docker 镜像,便于部署
- 多种运行方式:支持 npm 安装、Docker 运行、本地开发
技术栈
- JavaScript (81.2%) - 主要开发语言
- TypeScript (17.8%) - 类型支持
- Dockerfile (1.0%) - 容器化部署
安装与集成
方式一:npm 安装(推荐)
直接安装到本地:
npm install -g @wenyan-md/mcp配置 MCP Client(如 Claude Desktop):
{
"mcpServers": {
"wenyan-mcp": {
"name": "公众号助手",
"command": "wenyan-mcp",
"env": {
"WECHAT_APP_ID": "your_app_id",
"WECHAT_APP_SECRET": "your_app_secret"
}
}
}
}方式二:Docker 运行(推荐)
适合部署到服务器环境,或希望环境隔离的用户。
拉取镜像:
docker pull caol64/wenyan-mcp配置 MCP Client:
{
"mcpServers": {
"wenyan-mcp": {
"name": "公众号助手",
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "/your/host/file/path:/mnt/host-downloads",
"-e", "WECHAT_APP_ID=your_app_id",
"-e", "WECHAT_APP_SECRET=your_app_secret",
"-e", "HOST_FILE_PATH=/your/host/file/path",
"caol64/wenyan-mcp"
]
}
}
}Docker 配置特别说明:
- 挂载目录 (
-v):必须将宿主机的文件/图片目录挂载到容器内的/mnt/host-downloads- 环境变量 (
HOST_FILE_PATH):必须与宿主机挂载的文件/图片目录路径保持一致- 原理:Markdown 文件/文章内所引用的本地图片应放置在该目录中,Docker 会自动将其映射
基本用法
列出主题
对 AI 说:
目前你可以使用哪些公众号主题?
AI 会回复支持的公众号主题列表,包括:
- Default(默认):简洁经典的排版,适合长文阅读
- OrangeHeart(橙心):暖橙色调,适合情感、生活类内容
- 以及更多主题...
注册主题
对 AI 说:
帮我把这个 css(https://wenyan.yuzhi.tech/manhua.css)注册为一个新的公众号主题,名称为:xiuluochang
发布文章
对 AI 说:
使用 phycat 主题将这篇文章发布到微信公众号:./tests/publish.md
AI 回复示例:
文章已成功发布至微信公众号草稿箱!
- 主题:phycat
- 媒体ID:xxxMarkdown Frontmatter 说明
为了正确上传文章,每篇 Markdown 顶部需要包含 frontmatter:
---
title: 文章标题
cover: /Users/xxx/image.jpg
---字段说明:
| 字段 | 说明 | 必填 |
|---|---|---|
title | 文章标题 | 是 |
cover | 文章封面(本地路径或网络图片) | 否 |
如果正文有至少一张图片,cover 可省略,此时将使用其中一张作为封面。如果正文无图片,则必须提供 cover。
环境变量说明
无论使用哪种方式,都需要配置以下环境变量以连接微信公众号平台:
| 环境变量 | 说明 |
|---|---|
WECHAT_APP_ID | 微信公众号平台的 App ID |
WECHAT_APP_SECRET | 微信公众号平台的 App Secret |
微信公众号 IP 白名单
⚠️ 重要:请确保运行文颜 MCP Server 的机器 IP 已加入微信公众号后台的 IP 白名单,否则上传接口将调用失败。
配置说明文档:https://yuzhi.tech/docs/wenyan/upload
如何调试
推荐使用官方 Inspector 进行调试:
npx @modelcontextprotocol/inspector <command>启动成功后会显示调试页面链接,访问即可打开调试界面。
项目链接
- GitHub 仓库:https://github.com/caol64/wenyan-mcp
- 官方文档:https://wenyan.yuzhi.tech
- NPM 包:https://www.npmjs.com/package/@wenyan-md/mcp
- Docker Hub:https://hub.docker.com/r/caol64/wenyan-mcp
License
Apache License Version 2.0