关于 wechat-writer-mcp
wechat-writer-mcp 是面向技术博主的 MCP 服务,可将原始素材加工为微信公众号草稿。它支持导入、排版、与个人历史草稿比对原创度并保存草稿,但不会自动发布。
主要功能
- 01导入 Markdown 文件或网页 URL
- 02排版为适合公众号的 HTML
- 03生成标题和摘要建议
- 04与历史草稿比对原创度
- 05保存至微信公众号草稿箱
- 06不会自动发布或群发
适用场景
- 01将 Markdown 文章转换为公众号草稿
- 02处理代码块并应用模板
- 03检查与历史草稿的相似段落
- 04准备文章但暂不发布
MCP 相关
向 MCP 客户端提供四种工具,用于导入素材、排版公众号内容、估算原创度,并通过微信公众号草稿箱 API 保存草稿。它不会发布或群发文章。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
npx -y wechat-writer-mcp需要配置的环境变量
WECHAT_APP_ID微信公众号 AppID(mp.weixin.qq.com → 开发 → 基本配置)WECHAT_APP_SECRET密钥微信公众号 AppSecret(mp.weixin.qq.com → 开发 → 基本配置)WECHAT_COVERS_DIR封面图片目录,默认 ~/Pictures/wechat-coversWECHAT_DEFAULT_AUTHOR密钥草稿默认作者名WECHAT_API_TIMEOUT微信 API 超时毫秒数,默认 15000本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 否 | 网页 URL(source_type=url 时必填) |
| path | string | 否 | 本地文件路径(source_type=file 时必填) |
| source_type | enum | 是 | 来源类型:file 读取本地文件,url 抓取网页正文file | url |
详细介绍
来自项目 READMEwechat-writer-mcp
面向技术博主的 AI 内容加工流水线 MCP —— 从原始素材到公众号草稿箱,只存草稿,不自动发布。
⚡ 快速开始
一键启动
npx wechat-writer-mcp
MCP 配置
{
"mcpServers": {
"wechat-writer": {
"command": "npx",
"args": ["wechat-writer-mcp"],
"env": {
"WECHAT_APP_ID": "your_app_id",
"WECHAT_APP_SECRET": "your_app_secret"
}
}
}
}
立即体验
AI指令: "导入 ./my-article.md,帮我排版成公众号格式,检查原创度后存入草稿箱"
🛠️ 核心功能
- 4 个专业工具 - 导入素材、智能排版、原创检测、存入草稿箱
- 官方 API - 基于微信公众号草稿箱 API,完全合规
- 内容加工 - 段落切分、代码块处理、超链接转脚注、头尾模板、标题候选
- 安全第一 - 永远只存草稿箱,永远不自动群发/发布
- 即插即用 - 支持 Claude Code、Cursor、Claude Desktop
📦 工具列表
| 工具 | 说明 | 输入 | 输出 |
|---|---|---|---|
import_source | 导入原始内容 | 本地 markdown 文件或网页 URL | raw_markdown + 标题/字数等元数据 |
transform_for_wechat | 公众号智能排版 | markdown 内容 | 适配 HTML + 3 个标题候选 + 摘要建议 |
estimate_originality | 原创度自评 | 文章内容 | 原创度评分 + 与历史草稿的相似段落 |
save_to_wechat_draft | 存入草稿箱 | 标题 + HTML 内容 | media_id + 后台链接 |
💡 使用流程
用户: 导入 ./my-article.md
AI: [调 import_source] 已读入 838 字 markdown
标题识别:《我用 Claude Code 三周做了一个 MCP Server》
用户: 帮我按公众号风格排版
AI: [调 transform_for_wechat]
- 代码块已处理为公众号可显示格式
- 已应用头尾模板
- 3 个标题候选:
1. 我用 Claude Code 三周做了一个 MCP Server
2. 我用 Claude Code 三周做了一个 MCP Server:完整实践指南
3. 一文读懂我用 Claude Code 三周做了一个 MCP Server
要哪个?
用户: 用 1,检查下原创度
AI: [调 estimate_originality]
深度原创(92/100)
建议:可以标记"原创"
历史比对:无重复内容
用户: OK 存草稿箱
AI: [调 save_to_wechat_draft]
✅ 已存入公众号草稿箱
→ 请前往 mp.weixin.qq.com → 内容管理 → 草稿箱 手动发送
⚙️ 安装配置
方式一:npx 直接运行(推荐)
npx wechat-writer-mcp
方式二:本地安装
git clone https://github.com/datoushiwo/wechat-writer-mcp.git
cd wechat-writer-mcp
npm install
npm run build
环境变量
cp .env.example .env
| 变量 | 必填 | 说明 |
|---|---|---|
WECHAT_APP_ID | ✅ | 公众号 AppID |
WECHAT_APP_SECRET | ✅ | 公众号 AppSecret |
WECHAT_COVERS_DIR | 封面图片目录,默认 ~/Pictures/wechat-covers | |
WECHAT_DEFAULT_AUTHOR | 默认作者名 | |
WECHAT_API_TIMEOUT | API 超时毫秒数,默认 15000 |
前置条件
- 公众号 AppID/AppSecret:mp.weixin.qq.com → 开发 → 基本配置
- IP 白名单:将你的出口 IP 添加到公众号后台 → 开发 → 基本配置 → IP 白名单
客户端配置
Claude Code
在 ~/.claude/mcp.json 或项目下 .claude/mcp.json 中添加:
{
"mcpServers": {
"wechat-writer": {
"command": "npx",
"args": ["wechat-writer-mcp"],
"env": {
"WECHAT_APP_ID": "your_app_id",
"WECHAT_APP_SECRET": "your_app_secret"
}
}
}
}
Cursor
在 Cursor Settings → MCP 中添加,配置同上。
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"wechat-writer": {
"command": "npx",
"args": ["wechat-writer-mcp"],
"env": {
"WECHAT_APP_ID": "your_app_id",
"WECHAT_APP_SECRET": "your_app_secret"
}
}
}
}
⚠️ 注意事项
- 安全:AppSecret 永远不要提交到 Git,
.env已在.gitignore中 - 权限:只调用
draft/add,永远不调用freepublish/submit或mass/send - 查重:
estimate_originality只与你自己的历史草稿比对,不能替代微信官方查重 - 封面:默认从
~/Pictures/wechat-covers/随机选取,无封面时自动生成占位图 - 模板:可自定义
templates/wechat-header.html和templates/wechat-footer.html
🗺️ Roadmap
- v0.1 - MVP:4 个核心 tool + 公众号草稿箱 API
- 自定义排版主题
- 封面图片 AI 推荐
- 掘金同步发布(v2)
- 发布后数据反馈
- 多标题 A/B 建议
🤝 贡献
欢迎提 Issue 和 PR。
git clone https://github.com/datoushiwo/wechat-writer-mcp.git
cd wechat-writer-mcp
npm install
npm run dev # 开发模式
📄 License
MIT
让 AI 帮你搞定公众号排版,你只管写内容。 ✍️
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。