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服务图标显示黄色或红色:
- 检查命令路径:
- 使用绝对路径:将上述命令返回的完整路径用于配置
- 检查Node.js版本:
- 查看错误日志:打开AI工具的开发者工具查看Console错误
- 手动测试:在终端中直接运行命令验证
🚀 新手快速开始
第一步:环境准备
- 检查Node.js版本如果版本过低,请访问 Node.js官网 下载最新版本。
- 检查npm版本
第二步:安装项目
第三步:获取微信公众号配置
- 登录微信公众平台
- 访问 https://mp.weixin.qq.com
- 使用管理员账号登录
- 获取AppID和AppSecret
- 进入"开发" → "基本配置"
- 复制保存AppID和AppSecret
- 配置IP白名单
- 在"基本配置"页面找到"IP白名单"
- 添加你的服务器IP地址(可以先添加
0.0.0.0/0
用于测试)
第四步:配置AI工具
如果你使用Claude Desktop:
- 找到配置文件
- 编辑claude_desktop_config.json
- 重启Claude Desktop
如果你使用Cursor:
- 打开Cursor设置
- 按
Cmd+,
(Mac) 或Ctrl+,
(Windows/Linux)
- 按
- 搜索MCP配置
- 在设置中搜索"MCP"
- 添加服务配置然后使用返回的完整路径配置:
- 重启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服务状态异常
解决方案:
- 检查命令路径
- 使用绝对路径配置
- 使用Node.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团队 - 技术指导和架构设计
- 所有测试用户 - 提供了宝贵的使用反馈
📢 如果这个项目对您有帮助,请给我们一个⭐!
This server cannot be installed
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 -8446PythonMIT 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 -161TypeScript
- 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 -534TypeScriptMIT 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 -11Python