About Wexin Push MCP Server
Wexin Push MCP Server is an MCP server in the Communication category: wechat-push-mcp-server.
Install
git clone https://github.com/jasonlat-dot/wexin-push-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Wexin Push MCP Server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
微信模板推送 MCP 服务器
📖 项目简介
微信模板推送 MCP 服务器是一个基于 Model Context Protocol (MCP) 的微信公众号模板消息推送服务。该服务允许 AI 应用通过标准化的 MCP 协议与微信公众号 API 进行交互,实现模板消息的自动化推送功能。
✨ 主要特性
- 🔌 MCP 协议兼容:完全兼容 Model Context Protocol 标准
- 📱 微信模板消息:支持微信公众号模板消息推送
- 🚀 Spring Boot 3.0+:基于最新的 Spring Boot 框架
- ☕ Java 17+:使用现代 Java 特性
- 🔧 灵活配置:支持多种配置方式
- 📊 完善日志:提供详细的操作日志和错误追踪
🛠️ 技术栈
- Java 17+
- Spring Boot 3.0+
- Spring AI MCP
- Jackson
- Retrofit2
- Lombok
- JUnit 5
📋 前置要求
1. 微信测试号申请
访问微信公众平台测试号申请页面:
https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
申请测试号后,您将获得:
appID:应用IDappsecret:应用密钥original_id:原始ID
2. 模板消息配置
访问模板消息配置页面:
https://mp.weixin.qq.com/debug/cgi-bin/readtmpl?t=tmplmsg/faq_tmpl
配置模板消息后,您将获得:
template_id:模板IDtouser:接收用户的OpenID
🚀 快速开始
1. 构建项目
mvn clean package
2. MCP 配置
本服务支持两种 MCP 连接模式:STDIO 模式和 SSE 模式。
方式一:STDIO 模式(推荐)
在您的 MCP 客户端配置文件中添加以下配置:
{
"mcpServers": {
"wexin-push-mcp-server": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dfile.encoding=utf-8",
"-Dlogging.file.name=./data/mcp/${spring.application.name}.log",
"-jar",
"C:\\Users\\Administrator\\.m2\\repository\\com\\jasonlat\\wexin-push-mcp-server\\1.0\\wexin-push-mcp-server-1.0.jar",
"--wechat.api.original_id=gh_19674398cb20",
"--wechat.api.appid=wxae5eccc3b6930993",
"--wechat.api.appsecret=8fdec049feb30865cc9bb0e1c0b7dad3",
"--wechat.api.template_id=PhVVqJwyMustdEa2RKMRgl4mU4ZJgdm5hPtsDIns8ms",
"--wechat.api.touser=oxd-l6lb0KOF5KRwBy7GDHxeXaeE"
]
}
}
}
方式二:SSE 模式
对于需要通过 HTTP 连接的场景,可以使用 SSE(Server-Sent Events)模式:
1. 启动服务器
使用 Docker 部署(推荐):
# 构建 Docker 镜像
cd dev-ops/software
./build.sh
# 运行容器
docker run -d \
--name wechat-mcp-server \
-p 8102:8102 \
-e WECHAT_API_ORIGINAL_ID=gh_19674398cb20 \
-e WECHAT_API_APPID=wxae5eccc3b6930993 \
-e WECHAT_API_APPSECRET=8fdec049feb30865cc9bb0e1c0b7dad3 \
-e WECHAT_API_TEMPLATE_ID=PhVVqJwyMustdEa2RKMRgl4mU4ZJgdm5hPtsDIns8ms \
-e WECHAT_API_TOUSER=oxd-l6lb0KOF5KRwBy7GDHxeXaeE \
wechat-mcp-server:latest
或直接运行 JAR 文件:
java -jar wechat-push-mcp-server.jar \
--server.port=8102 \
--wechat.api.original_id=gh_19674398cb20 \
--wechat.api.appid=wxae5eccc3b6930993 \
--wechat.api.appsecret=8fdec049feb30865cc9bb0e1c0b7dad3 \
--wechat.api.template_id=PhVVqJwyMustdEa2RKMRgl4mU4ZJgdm5hPtsDIns8ms \
--wechat.api.touser=oxd-l6lb0KOF5KRwBy7GDHxeXaeE
2. 客户端配置
在您的 Spring AI 应用配置中添加:
spring:
ai:
mcp:
client:
request-timeout: 360s
sse:
connections:
mcp-server-wechat:
url: http://127.0.0.1:8102
或在 MCP 客户端配置文件中添加:
{
"mcpServers": {
"wexin-push-mcp-server": {
"url": "http://127.0.0.1:8102",
"type": "sse"
}
}
}
3. 配置参数说明
| 参数 | 说明 | 示例 |
|---|---|---|
wechat.api.original_id |
微信公众号原始ID | gh_19674398cb20 |
wechat.api.appid |
微信应用ID | wxae5eccc3b6930993 |
wechat.api.appsecret |
微信应用密钥 | 8fdec049feb30865cc9bb0e1c0b7dad3 |
wechat.api.template_id |
模板消息ID | PhVVqJwyMustdEa2RKMRgl4mU4ZJgdm5hPtsDIns8ms |
wechat.api.touser |
接收用户OpenID | oxd-l6lb0KOF5KRwBy7GDHxeXaeE |
🔧 使用方法
MCP 工具调用
服务器提供 wechatNotice 工具,用于发送微信模板消息:
{
"platform": "微信公众号",
"subject": "消息主题",
"description": "消息内容描述"
}
响应格式
{
"success": true,
"messageId": 200228332,
"message": "模板消息发送成功"
}
📁 项目结构
src/
├── main/
│ ├── java/
│ │ └── com/jasonlat/
│ │ ├── McpServerApplication.java # 主启动类
│ │ ├── config/ # 配置类
│ │ │ └── WeiXinApiProperties.java
│ │ ├── domain/ # 领域层
│ │ │ ├── adapter/ # 适配器接口
│ │ │ ├── model/ # 领域模型
│ │ │ └── service/ # 领域服务
│ │ ├── infrastructure/ # 基础设施层
│ │ │ ├── adapter/ # 适配器实现
│ │ │ └── gateway/ # 网关
│ │ └── type/ # 类型定义
│ │ ├── utils/ # 工具类
│ │ └── valobj/ # 值对象
│ └── resources/
│ └── application.yml # 应用配置
└── test/ # 测试代码
🧪 测试
运行单元测试:
mvn test
运行特定测试类:
mvn test -Dtest=WeChatResponseTest
📝 日志
应用日志包含表情符号,便于快速识别操作状态:
- ✅ 成功操作
- ❌ 失败操作
- ⚠️ 警告信息
日志文件位置:./data/mcp/${spring.application.name}.log
🤝 贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目。
📄 许可证
本项目采用 MIT 许可证。
🔗 相关链接
👨💻 作者
jasonlat
如果这个项目对您有帮助,请给它一个 ⭐️!
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.