$git clone https://github.com/caol64/wenyan-mcp[文颜(Wenyan)](https://wenyan.yuzhi.tech) 是一款多平台 Markdown 排版与发布工具,支持将 Markdown 一键转换并发布至:
| 1 | <div align="center"> |
| 2 | <img alt="logo" src="https://media.githubusercontent.com/media/caol64/wenyan-mcp/main/data/wenyan-mcp.png" width="256" /> |
| 3 | </div> |
| 4 | |
| 5 | # 文颜 MCP Server |
| 6 | |
| 7 | [](https://www.npmjs.com/package/@wenyan-md/mcp) |
| 8 | [](LICENSE) |
| 9 |  |
| 10 | [](https://hub.docker.com/r/caol64/wenyan-mcp) |
| 11 | [](https://github.com/caol64/wenyan-mcp) |
| 12 | |
| 13 | ## 简介 |
| 14 | |
| 15 | **[文颜(Wenyan)](https://wenyan.yuzhi.tech)** 是一款多平台 Markdown 排版与发布工具,支持将 Markdown 一键转换并发布至: |
| 16 | |
| 17 | - 微信公众号 |
| 18 | - 知乎 |
| 19 | - 今日头条 |
| 20 | - 以及其它内容平台(持续扩展中) |
| 21 | |
| 22 | 文颜的目标是:**让写作者专注内容,而不是排版和平台适配**。 |
| 23 | |
| 24 | ## 文颜的不同版本 |
| 25 | |
| 26 | 文颜目前提供多种形态,覆盖不同使用场景: |
| 27 | |
| 28 | - [macOS App Store 版](https://github.com/caol64/wenyan) - MAC 桌面应用 |
| 29 | - [跨平台桌面版](https://github.com/caol64/wenyan-pc) - Windows/Linux |
| 30 | - [CLI 版本](https://github.com/caol64/wenyan-cli) - 命令行 / CI 自动化发布 |
| 31 | - 👉 [MCP 版本](https://github.com/caol64/wenyan-mcp) - 本项目 |
| 32 | |
| 33 | ## 文颜 MCP Server 是什么? |
| 34 | |
| 35 | 简单来说,它打通了“AI 写作”与“公众号发文”的通道。 |
| 36 | |
| 37 | 基于 MCP 协议,Claude Desktop 等 AI 客户端现在可以直接调用文颜(Wenyan)的排版引擎。写完文章后,不需要再去第三方编辑器里来回复制粘贴,直接让 AI 帮你排版并塞进微信草稿箱。 |
| 38 | |
| 39 | **核心特性:** |
| 40 | |
| 41 | - **绕过排版工具**:AI 生成的 Markdown 直接转成微信富文本并上传,省去中间步骤。 |
| 42 | - **对话式排版**:直接打字跟 AI 说“换个橙色风格主题”,样式自动生效。 |
| 43 | - **不出窗口完成闭环**:在同一个聊天框里,顺滑搞定“想选题 -> 写文章 -> 调排版 -> 存草稿”的所有操作。 |
| 44 | |
| 45 | **实战演示**: |
| 46 | * [让 AI 帮你管理公众号的排版和发布](https://babyno.top/posts/2025/06/let-ai-help-you-manage-your-gzh-layout-and-publishing/) |
| 47 | * [Moraya MCP 使用案例:微信公众号全托管](https://github.com/zouwei/moraya/wiki/Moraya-MCP-%E4%BD%BF%E7%94%A8%E6%A1%88%E4%BE%8B%EF%BC%9A%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E5%85%A8%E6%89%98%E7%AE%A1) |
| 48 | |
| 49 | ## 功能特性 |
| 50 | |
| 51 | - 一键发布 Markdown 到微信公众号草稿箱 |
| 52 | - 自动上传本地图片与封面 |
| 53 | - 支持远程 Server 发布(绕过 IP 白名单限制) |
| 54 | - 内置多套精美排版主题 |
| 55 | - 支持自定义主题 |
| 56 | - 提供标准 MCP Tool 接口 |
| 57 | - 支持 AI 自动调用: |
| 58 | - 渲染 Markdown |
| 59 | - 主题管理 |
| 60 | - 发布草稿 |
| 61 | |
| 62 | ## 快速开始 |
| 63 | |
| 64 | **安装** |
| 65 | |
| 66 | ```bash |
| 67 | npm install -g @wenyan-md/mcp |
| 68 | ``` |
| 69 | |
| 70 | **Claude Desktop 配置 (claude_desktop_config.json):**: |
| 71 | |
| 72 | ```json |
| 73 | { |
| 74 | "mcpServers": { |
| 75 | "wenyan-mcp": { |
| 76 | "command": "wenyan-mcp", |
| 77 | "env": { |
| 78 | "WECHAT_APP_ID": "your_app_id", |
| 79 | "WECHAT_APP_SECRET": "your_app_secret" |
| 80 | } |
| 81 | } |
| 82 | } |
| 83 | } |
| 84 | ``` |
| 85 | |
| 86 | ## 基本用法 |
| 87 | |
| 88 | ### 列出主题 |
| 89 | |
| 90 | 对AI说 |
| 91 | |
| 92 | > 目前你可以使用哪些公众号主题? |
| 93 | |
| 94 | AI回复: |
| 95 | |
| 96 | ``` |
| 97 | 目前我支持的公众号主题包括以下这些,每个主题都有独特的风格和配色,适用于不同的内容调性: |
| 98 | |
| 99 | 1. **Default(默认)** |
| 100 | 简洁经典的排版,适合长文阅读,通用性强。 |
| 101 | |
| 102 | 2. **OrangeHeart(橙心)** |
| 103 | 暖橙色调,优雅而富有活力,适合情感、生活类内容。 |
| 104 | ... |
| 105 | ``` |
| 106 | |
| 107 | ### 注册主题 |
| 108 | |
| 109 | 对AI说 |
| 110 | |
| 111 | > 帮我把这个css(https://wenyan.yuzhi.tech/manhua.css)注册为一个新的公众号主题,名称为:xiuluochang |
| 112 | |
| 113 | AI回复: |
| 114 | |
| 115 | ``` |
| 116 | 好的,已成功将 CSS 样式表注册为新的公众号主题,主题名称为:**xiuluochang**。 |
| 117 | |
| 118 | 您现在可以在公众号后台选择该主题进行应用,样式将按照 `https://wenyan.yuzhi.tech/manhua.css` 的定义进行渲染。 |
| 119 | |
| 120 | 如有需要进一步自定义或更换主题,随时告诉我! |
| 121 | ``` |
| 122 | |
| 123 | ### 删除主题 |
| 124 | |
| 125 | 对AI说 |
| 126 | |
| 127 | > 把名为“xiuluochang”的公众号主题删除 |
| 128 | |
| 129 | AI回复: |
| 130 | |
| 131 | ``` |
| 132 | 公众号主题 “xiuluochang” 已成功删除。 |
| 133 | ``` |
| 134 | |
| 135 | ### 发布文章 |
| 136 | |
| 137 | 对AI说 |
| 138 | |
| 139 | > 使用phycat主题将这篇文章发布到微信公众号:`./tests/publish.md` |
| 140 | |
| 141 | AI回复: |
| 142 | |
| 143 | ``` |
| 144 | 文章已成功发布至微信公众号草稿箱!🎉 |
| 145 | |
| 146 | - **主题**:phycat |
| 147 | - **媒体ID**:xxx |
| 148 | |
| 149 | 您可登录微信公众号后台,在「草稿箱」中查看并编辑文章,确认无误后即可一键发布。如需进一步排版优化、添加封面或设置摘要,我也可以协助您完成! |
| 150 | |
| 151 | 是否需要我帮您生成一篇发布文案或封面建议? 😊 |
| 152 | ``` |
| 153 | |
| 154 | ## 概念 |
| 155 | |
| 156 | ### 环境变量配置 |
| 157 | |
| 158 | > [!IMPORTANT] |
| 159 | > |
| 160 | > 请确保 MCP 启动时已配置如下环境变量,否则上传接口将调用失败。 |
| 161 | |
| 162 | - `WECHAT_APP_ID` |
| 163 | - `WECHAT_APP_SECRET` |
| 164 | |
| 165 | ### 微信公众号 IP 白名单 |
| 166 | |
| 167 | > [!IMPORTANT] |
| 168 | > |
| 169 | > 请确保运行文颜的机器 IP 已加入微信公众号后台的 IP 白名单,否则上传接口将调用失败。 |
| 170 | |
| 171 | 配置说明文档:[https://yuzhi.tech/docs/wenyan/upload](https://yuzhi.tech/docs/wenyan/upload) |
| 172 | |
| 173 | ### 文章格式 |
| 174 | |
| 175 | 为了正确上传文章,每篇 Markdown 顶部需要包含一段 `frontmatter`: |
| 176 | |
| 177 | ```md |
| 178 | --- |
| 179 | title: 在本地跑一个大语言模型(2) - 给模型提供外部知识库 |
| 180 | cover: /Users/xxx/image.jpg |
| 181 | author: xxx |
| 182 | source_url: http:// |
| 183 | --- |
| 184 | ``` |
| 185 | |
| 186 | 字段说明: |
| 187 | |
| 188 | | 字段 | 必填 | 说明 | |
| 189 | | ---------- | -- | ----------------- | |
| 190 | | title | ✅ | 文章标题 | |
| 191 | | cover | ❌ | 封面图片(本地路径或网络 URL) | |
| 192 | | author | ❌ | 作者 | |
| 193 | | source_url | ❌ | 原文链接 | |
| 194 | | type | ❌ | 文章类型,设为 `image` 表示图片消息(小绿书) | |
| 195 | | image_list | ❌ | 图片路径列表(小绿书专用,最多 20 张) | |
| 196 | | need_open_comment | ❌ | 是否打开评论 | |
| 197 | | only_fans_can_comment | ❌ | 是否仅粉丝可评论 | |
| 198 | |
| 199 | 说明: |
| 200 | |
| 201 | * 如果未指定 cover,将自动使用正文第一张图片作为封面 |
| 202 | * cover 支持本地路径和网络 URL |
| 203 | * `type` 和 ` |