by caol64
文颜 MCP Server 可以让 AI 自动将 Markdown 文章排版后发布至微信公众号。
# Add to your Claude Code skills
git clone https://github.com/caol64/wenyan-mcp文颜(Wenyan) 是一款多平台 Markdown 排版与发布工具,支持将 Markdown 一键转换并发布至:
文颜的目标是:让写作者专注内容,而不是排版和平台适配。
文颜目前提供多种形态,覆盖不同使用场景:
简单来说,它打通了“AI 写作”与“公众号发文”的通道。
基于 MCP 协议,Claude Desktop 等 AI 客户端现在可以直接调用文颜(Wenyan)的排版引擎。写完文章后,不需要再去第三方编辑器里来回复制粘贴,直接让 AI 帮你排版并塞进微信草稿箱。
核心特性:
实战演示:
No comments yet. Be the first to share your thoughts!
安装
npm install -g @wenyan-md/mcp
Claude Desktop 配置 (claude_desktop_config.json)::
{
"mcpServers": {
"wenyan-mcp": {
"command": "wenyan-mcp",
"env": {
"WECHAT_APP_ID": "your_app_id",
"WECHAT_APP_SECRET": "your_app_secret"
}
}
}
}
对AI说
目前你可以使用哪些公众号主题?
AI回复:
目前我支持的公众号主题包括以下这些,每个主题都有独特的风格和配色,适用于不同的内容调性:
1. **Default(默认)**
简洁经典的排版,适合长文阅读,通用性强。
2. **OrangeHeart(橙心)**
暖橙色调,优雅而富有活力,适合情感、生活类内容。
...
对AI说
帮我把这个css(https://wenyan.yuzhi.tech/manhua.css)注册为一个新的公众号主题,名称为:xiuluochang
AI回复:
好的,已成功将 CSS 样式表注册为新的公众号主题,主题名称为:**xiuluochang**。
您现在可以在公众号后台选择该主题进行应用,样式将按照 `https://wenyan.yuzhi.tech/manhua.css` 的定义进行渲染。
如有需要进一步自定义或更换主题,随时告诉我!
对AI说
把名为“xiuluochang”的公众号主题删除
AI回复:
公众号主题 “xiuluochang” 已成功删除。
对AI说
使用phycat主题将这篇文章发布到微信公众号:
./tests/publish.md
AI回复:
文章已成功发布至微信公众号草稿箱!🎉
- **主题**:phycat
- **媒体ID**:xxx
您可登录微信公众号后台,在「草稿箱」中查看并编辑文章,确认无误后即可一键发布。如需进一步排版优化、添加封面或设置摘要,我也可以协助您完成!
是否需要我帮您生成一篇发布文案或封面建议? 😊
[!IMPORTANT]
请确保 MCP 启动时已配置如下环境变量,否则上传接口将调用失败。
WECHAT_APP_IDWECHAT_APP_SECRET[!IMPORTANT]
请确保运行文颜的机器 IP 已加入微信公众号后台的 IP 白名单,否则上传接口将调用失败。
为了正确上传文章,每篇 Markdown 顶部需要包含一段 frontmatter:
---
title: 在本地跑一个大语言模型(2) - 给模型提供外部知识库
cover: /Users/xxx/image.jpg
author: xxx
source_url: http://
---
字段说明:
title 文章标题(必填)cover 文章封面
author 文章作者source_url 原文地址把文章发布到公众号之前,文颜会按照微信要求自动处理文章内的所有图片,将其上传到公众号素材库。目前文颜对于以下图片都能很好的支持:
/Users/xxx/image.jpg)https://example.com/image.jpg)./assets/image.png)相较于纯本地运行的本地模式(Stdio Mode),wenyan-mcp还提供了 远程客户端模式(Client–Server Mode)。两种模式运行效果完全一致,你可以根据运行环境和网络条件选择最合适的方式。
在本地模式下,MCP 直接调用微信公众号 API 完成图片上传和草稿发布。
flowchart LR
MCP[Wenyan MCP] --> Wechat[公众号 API]
在远程客户端模式下,MCP 作为客户端,将发布请求发送到部署在云服务器上的 Wenyan Server,由 Server 完成微信公众号 API 调用。
flowchart LR
MCP[Wenyan MCP] --> Server[Wenyan Server] --> Wechat[公众号 API]
适用于:
Claude Desktop 配置::
{
"mcpServers": {
"wenyan-mcp": {
"command": "wenyan-mcp",
"args": ["--server", "https://api.example.com", "--api-key", "your-api-key"]
}
}
}
[!IMPORTANT]
必须使用
server模式才能使用多公众号发布功能。
步骤:
serverserver端配置多个微信凭据,参考文档MCP 客户端连接server对AI说
使用phycat主题将这篇文章发布到微信公众号(your_app_id):
./tests/publish.md
适合不希望安装 Node.js 环境的用户。
docker pull caol64/wenyan-mcp:latest
{
"mcpServers": {
"wenyan-mcp": {
"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 会自动将其映射,使容器能够读取并上传。
推荐使用官方 Inspector 进行调试:
npx @modelcontextprotocol/inspector <command>
启动成功出现类似提示:
🔗 Open inspector with token pre-filled:
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=761c05058aa4f84ad02280e62d7a7e52ec0430d00c4c7a61492cca59f9eac299
(Auto-open is disabled when authentication is enabled)
访问以上链接即可打开调试页面。

如果你觉得文颜对你有帮助,可以给我家猫咪买点罐头 ❤️
Apache License Version 2.0