字节笔记本

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 安装(推荐)

直接安装到本地:

bash
npm install -g @wenyan-md/mcp

配置 MCP Client(如 Claude Desktop)

json
{
  "mcpServers": {
    "wenyan-mcp": {
      "name": "公众号助手",
      "command": "wenyan-mcp",
      "env": {
        "WECHAT_APP_ID": "your_app_id",
        "WECHAT_APP_SECRET": "your_app_secret"
      }
    }
  }
}

方式二:Docker 运行(推荐)

适合部署到服务器环境,或希望环境隔离的用户。

拉取镜像

bash
docker pull caol64/wenyan-mcp

配置 MCP Client

json
{
  "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 回复示例:

text
文章已成功发布至微信公众号草稿箱!
- 主题:phycat
- 媒体ID:xxx

Markdown Frontmatter 说明

为了正确上传文章,每篇 Markdown 顶部需要包含 frontmatter:

markdown
---
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 进行调试:

bash
npx @modelcontextprotocol/inspector <command>

启动成功后会显示调试页面链接,访问即可打开调试界面。

项目链接

License

Apache License Version 2.0

分享: