Allows automatic publishing of articles to WeChat Official Accounts, supporting Markdown to WeChat-optimized HTML conversion, cover image handling, preview mode, and status querying for published articles.
📱 微信公众号自动发布 MCP 服务
📖 目录
🎯 项目概述
这是一个独立的MCP(Model Context Protocol)服务,专门用于微信公众号文章的自动发布。支持任何兼容MCP协议的AI工具调用,包括Claude Desktop、Cursor、Continue等。
🎉 最新更新:已修复MCP SDK兼容性问题,支持最新版本的Claude Desktop和Cursor!
✨ 核心特性
🚀 即插即用:标准MCP协议,一键集成到任何AI工具
📝 智能转换:自动将Markdown转换为微信公众号优化HTML
🖼️ 封面处理:自动上传和处理封面图片
👀 预览模式:支持预览和正式发布两种模式
📊 状态查询:实时查询文章发布状态和数据统计
🔧 错误处理:完善的错误提示和解决建议
📱 移动优化:针对微信公众号移动端阅读体验优化
📦 安装
注意:目前该包尚未发布到npm registry,请使用源码安装方式。
方式一:源码安装(推荐)
安全配置说明
⚠️ 重要:为了保护您的微信公众号安全,请务必正确配置密钥!
复制配置示例文件:
编辑配置文件,填入您的真实密钥:
在代码中引用配置:
确保配置文件不被提交:
examples/wechat-config.js
已添加到.gitignore
只有示例文件
examples/wechat-config.example.js
会被提交到仓库
方式二:直接运行
如果不想全局安装,可以直接运行:
系统要求
Node.js: v18.0.0 或更高版本
npm: v8.0.0 或更高版本
操作系统: macOS, Linux, Windows
验证安装
安装完成后,运行以下命令验证:
🔧 配置
1. 微信公众号配置
在微信公众平台完成以下配置:
获取AppID和AppSecret:
登录 微信公众平台
进入 "开发" → "基本配置"
记录AppID和AppSecret
配置IP白名单:
在 "开发" → "基本配置" → "IP白名单"
添加服务器IP地址
开通发布权限:
确保公众号已认证
确保具有群发消息权限
2. MCP 客户端配置
Claude Desktop 配置
macOS 配置路径:
Windows 配置路径:
Linux 配置路径:
配置内容:
如果使用绝对路径(推荐):
Cursor 配置
打开Cursor设置(
Cmd+,
或Ctrl+,
)搜索"MCP"找到配置选项
添加以下配置:
方式一:使用全局命令
方式二:使用绝对路径(推荐)
方式三:使用Node.js直接启动(最稳定)
Continue 配置
在Continue的配置文件中添加:
配置验证
配置完成后:
重启AI工具(Claude Desktop/Cursor等)
等待服务初始化(通常需要几秒钟)
验证连接:在AI对话中输入"请列出可用的工具"
查看状态:MCP服务图标应显示为绿色
故障排除
如果MCP服务图标显示黄色或红色:
检查命令路径:
which wechat-publisher-mcp使用绝对路径:将上述命令返回的完整路径用于配置
检查Node.js版本:
node --version # 应该 >= v18.0.0查看错误日志:打开AI工具的开发者工具查看Console错误
手动测试:在终端中直接运行命令验证
wechat-publisher-mcp
🚀 新手快速开始
第一步:环境准备
检查Node.js版本
node --version # 需要 >= v18.0.0如果版本过低,请访问 Node.js官网 下载最新版本。
检查npm版本
npm --version # 需要 >= v8.0.0
第二步:安装项目
第三步:获取微信公众号配置
登录微信公众平台
使用管理员账号登录
获取AppID和AppSecret
进入"开发" → "基本配置"
复制保存AppID和AppSecret
配置IP白名单
在"基本配置"页面找到"IP白名单"
添加你的服务器IP地址(可以先添加
0.0.0.0/0
用于测试)
第四步:配置AI工具
如果你使用Claude Desktop:
找到配置文件
# macOS open "~/Library/Application Support/Claude/" # Windows # 打开 %APPDATA%\Claude\ # Linux # 打开 ~/.config/Claude/编辑claude_desktop_config.json
{ "mcpServers": { "wechat-publisher": { "command": "wechat-publisher-mcp", "args": [] } } }重启Claude Desktop
如果你使用Cursor:
打开Cursor设置
按
Cmd+,
(Mac) 或Ctrl+,
(Windows/Linux)
搜索MCP配置
在设置中搜索"MCP"
添加服务配置
# 首先获取你的命令路径 which wechat-publisher-mcp然后使用返回的完整路径配置:
{ "mcpServers": { "wechat-publisher": { "command": "/your/full/path/to/wechat-publisher-mcp", "args": [] } } }重启Cursor
第五步:测试连接
验证MCP服务状态
在AI工具中,MCP服务图标应显示为绿色
如果显示黄色或红色,请查看故障排除部分
测试工具可用性 在AI对话中输入:
请列出可用的工具你应该能看到以下工具:
wechat_publish_article
- 发布文章wechat_query_status
- 查询状态
第六步:发布第一篇文章
在AI工具中输入以下内容(替换为你的实际信息):
常见问题解决
Q: MCP服务图标显示黄色怎么办?
A: 这通常表示路径问题,请使用 which wechat-publisher-mcp
获取完整路径,然后在配置中使用绝对路径。
Q: 提示"access_token invalid"怎么办? A: 检查AppID和AppSecret是否正确,确保在微信公众平台的"基本配置"中获取。
Q: 提示IP不在白名单怎么办? A: 在微信公众平台的"基本配置" → "IP白名单"中添加你的服务器IP。
Q: 如何获取预览用户的OpenID? A: 可以通过微信公众号的用户管理功能获取,或者先不使用预览模式直接发布。
🚀 使用方法
基础发布
预览模式
状态查询
🛠️ API 工具
1. wechat_publish_article
发布或预览文章到微信公众号。
参数:
参数名 | 类型 | 必需 | 说明 |
title | string | ✅ | 文章标题(最大64字符) |
content | string | ✅ | 文章内容(Markdown格式) |
appId | string | ✅ | 微信公众号AppID |
appSecret | string | ✅ | 微信公众号AppSecret |
author | string | ❌ | 作者名称(最大8字符) |
coverImagePath | string | ❌ | 封面图片路径 |
previewMode | boolean | ❌ | 是否预览模式(默认false) |
previewOpenId | string | ❌ | 预览用户OpenID(预览模式必需) |
返回值:
2. wechat_query_status
查询文章发布状态和统计数据。
参数:
参数名 | 类型 | 必需 | 说明 |
msgId | string | ✅ | 消息ID |
appId | string | ✅ | 微信公众号AppID |
appSecret | string | ✅ | 微信公众号AppSecret |
返回值:
📋 示例
完整发布流程
自然语言示例
🔧 高级配置
环境变量
变量名 | 默认值 | 说明 |
LOG_LEVEL | INFO | 日志级别(ERROR/WARN/INFO/DEBUG) |
NO_COLOR | 0 | 禁用彩色输出(设为1禁用) |
NODE_ENV | development | 运行环境 |
启动参数
🐛 故障排除
MCP连接问题
1. MCP服务图标显示黄色或红色
症状:AI工具中MCP服务状态异常
解决方案:
检查命令路径
which wechat-publisher-mcp使用绝对路径配置
{ "mcpServers": { "wechat-publisher": { "command": "/Users/username/.nvm/versions/node/v18.20.8/bin/wechat-publisher-mcp", "args": [] } } }使用Node.js直接启动
{ "mcpServers": { "wechat-publisher": { "command": "/Users/username/.nvm/versions/node/v18.20.8/bin/node", "args": ["/path/to/wechat-publisher-mcp/src/server.js"] } } }
2. ERR_PACKAGE_PATH_NOT_EXPORTED 错误
症状:启动时报模块导入错误
解决方案:
3. 命令未找到错误
症状:command not found: wechat-publisher-mcp
解决方案:
微信API错误
1. IP白名单错误
详细步骤:
登录微信公众平台
进入"开发" → "基本配置"
找到"IP白名单"设置
添加你的公网IP地址
如果不确定IP,可以临时添加
0.0.0.0/0
(仅用于测试)
2. access_token错误
检查清单:
AppID格式正确(以wx开头)
AppSecret长度为32位
没有多余的空格或换行符
公众号类型支持API调用
3. 封面图上传失败
图片要求:
格式:PNG、JPG、JPEG
大小:< 1MB
尺寸:建议 900x500px
路径:使用绝对路径或相对于项目根目录的路径
4. 预览失败
获取OpenID方法:
在微信公众平台的"用户管理"中查看
通过微信网页授权获取
使用微信开发者工具测试
权限和认证问题
1. 公众号权限不足
2. 接口调用次数限制
环境和依赖问题
1. Node.js版本过低
2. 依赖安装失败
调试模式
启用调试模式查看详细日志:
获取帮助
如果以上方法都无法解决问题:
查看详细日志:启用DEBUG模式
检查网络连接:确保能访问微信API
提交Issue:在GitHub仓库提交详细的错误信息
社区求助:在相关技术社区寻求帮助
提交Issue时请包含:
操作系统和版本
Node.js版本
错误的完整日志
复现步骤
配置文件(隐藏敏感信息)
🧪 测试
🤝 贡献
欢迎提交Issue和Pull Request!
Fork本仓库
创建特性分支:
git checkout -b feature/amazing-feature
提交更改:
git commit -m 'Add amazing feature'
推送分支:
git push origin feature/amazing-feature
提交Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🔗 相关链接
官方文档
AI工具配置
开发资源
社区和支持
🙏 致谢
感谢以下项目和社区的支持:
核心技术
Model Context Protocol - 提供了强大的AI工具协议支持
微信公众平台 - 提供了完善的API接口
Node.js社区 - 提供了优秀的运行时环境
灵感来源
PromptX项目 - 原始灵感和技术架构参考
Claude Desktop - MCP协议的先驱实现
Cursor - 优秀的AI编程工具
开源社区
所有提交Issue和PR的贡献者
微信开发者社区的技术分享
MCP协议的早期采用者和反馈者
特别感谢
郑伟 - 项目发起人和主要维护者
PromptX团队 - 技术指导和架构设计
所有测试用户 - 提供了宝贵的使用反馈
📢 如果这个项目对您有帮助,请给我们一个⭐!
A Model Context Protocol server that enables AI tools to automatically publish articles to WeChat Official Accounts, supporting Markdown-to-HTML conversion, image handling, and both preview and official publishing modes.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.Last updated -54MIT License
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -331
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to interact with Qiita, allowing for creating, reading, and updating articles through standardized MCP tools.Last updated -556MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables users to automatically generate articles using large language models and publish them directly to Zhihu (a Chinese Q\&A platform).Last updated -17