WeChat-MCP-Server
服务介绍
WeChat MCP Server
一个符合 Model Context Protocol (MCP) 标准的微信消息发送服务器专为AI助手设计
目录
什么是 MCP
Model Context Protocol (MCP) 是一个开放标准协议用于连接AI助手与各种数据源和工具它就像是AI应用的USB-C接口提供了标准化的方式来连接AI模型与外部系统
兼容性
- 微信版本 - 完全支持微信4.0以上的NT框架版本和传统微信版本
- 操作系统 - 支持Windows 10/11系统
- AI助手 - 兼容ClaudeChatGPT等支持MCP协议的AI助手
功能特点
- MCP标准兼容 - 完全符合 MCP 标准规范
- JSON-RPC 2.0 - 基于标准的 JSON-RPC 2.0 协议
- 微信消息发送 - 支持发送微信文本消息
- 定时发送 - 支持定时发送消息功能
- 全面版本支持 - 完全支持微信4.0以上的NT框架版本和传统微信版本
- 智能版本检测 - 自动检测微信版本并适配相应的操作方式
- 智能输入框定位 - 自适应不同窗口大小和布局的输入框位置
- 剪贴板输入技术 - 使用剪贴板输入完全避免输入法状态影响
- 多种发送方式 - 支持EnterCtrl+EnterAlt+S等多种发送快捷键
- 异步处理 - 异步处理不阻塞AI助手
- 完整日志 - 完整的错误处理和日志记录
- 部分文本支持 - 目前支持发送英文数字表情符号等暂不支持中文消息发送可能导致乱码
项目结构
WeChat-MCP-Server/
src/
__init__.py
mcp_server.py # MCP服务器主要实现
wechat_controller.py # 微信自动化控制器
examples/
mcp_client_example.py # 客户端使用示例
docs/
QUICK_START.md # 快速开始指南
支持我们/
1.jpg # 支付宝收款码
2.jpg # 微信赞赏码
mcp_config.json # MCP配置文件
requirements.txt # 依赖包列表
LICENSE # 许可证文件
README.md # 项目说明文档
安装和配置
1 安装依赖
# 克隆项目
git clone https://github.com/1052666/WeChat-MCP-Server.git
cd WeChat-MCP-Server
# 安装依赖
pip install -r requirements.txt
2 确保微信已启动并登录
重要提醒
在使用前请确保
- 微信客户端已安装并正在运行
- 已成功登录微信账号
- 微信窗口可见不要最小化
关于中文消息发送的限制
目前本项目存在以下限制
- 中文消息发送限制 - 当前版本暂不支持中文消息发送发送中文可能导致乱码
- 支持的内容 - 可以正常发送英文数字表情符号和特殊字符
- 未来计划 - 我们正在努力解决中文编码问题将在未来版本中支持中文发送
技术说明中文发送问题与Windows输入法和微信的交互方式有关我们正在探索更可靠的输入方法
3 配置AI助手
将此MCP服务器添加到您的AI助手配置中以 Claude Desktop 为例
{
"mcpServers": {
"wechat": {
"command": "python",
"args": ["C:/path/to/WeChat-MCP-Server/src/mcp_server.py"],
"env": {}
}
}
}
注意: 请将
C:/path/to/WeChat-MCP-Server替换为您实际的项目路径
可用工具
send_wechat_message
发送文本消息到指定的微信联系人或群组
参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
contact_name |
string |
联系人或群组名称 | |
message |
string |
要发送的文本消息 |
示例
{
"name": "send_wechat_message",
"arguments": {
"contact_name": "文件传输助手",
"message": "Hello from AI assistant!"
}
}
schedule_wechat_message
安排在指定延迟后发送消息
参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
contact_name |
string |
联系人或群组名称 | |
message |
string |
要发送的文本消息 | |
delay_seconds |
number |
延迟发送的秒数 |
示例
{
"name": "schedule_wechat_message",
"arguments": {
"contact_name": "文件传输助手",
"message": "This is a scheduled message!",
"delay_seconds": 30
}
}
使用方法
在AI助手中使用
配置完成后您可以直接在AI助手中使用自然语言请求
示例对话
- "帮我给张三发个微信消息说'会议推迟到下午3点'"
- "10分钟后提醒我开会发到工作群"
- "给文件传输助手发送今天的工作总结"
直接测试
运行示例客户端进行测试
自动化任务与消息报备
使用Cloud Code自动化工作流
试想一下您可以使用Cloud Code等自动化工具完成各种任务并通过微信自动发送报备消息
自动化场景示例
-
代码部署通知
- 当CI/CD流程完成时自动向开发团队群发送部署状态
- 包含构建结果测试覆盖率和部署环境信息
-
监控报警集成
- 将服务器监控报警直接推送到运维群
- 系统负载异常状态实时通知到责任人
-
数据处理完成通知
- 大型数据处理任务完成后自动通知数据分析师
- 包含处理时间数据量和结果摘要
-
定时报表推送
- 每日/每周自动生成业务报表并发送给管理层
- 销售数据用户增长等关键指标自动汇总
实现示例
# 示例GitHub Actions完成后发送微信通知
import requests
def send_deployment_notification(status, details):
# 调用WeChat MCP Server API
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "send_wechat_message",
"arguments": {
"contact_name": "技术团队群",
"message": f" 部署状态: {status}\n 详情: {details}"
}
}
}
response = requests.post("http://localhost:8080/mcp", json=payload)
return response.json()
# 在CI/CD流程中调用
if __name__ == "__main__":
send_deployment_notification("成功", "版本v2.1.0已部署到生产环境")
cd examples
python mcp_client_example.py
MCP协议实现
本服务器实现了以下MCP标准方法
| 方法 | 描述 |
|---|---|
initialize |
初始化服务器连接 |
tools/list |
列出可用工具 |
tools/call |
调用指定工具 |
JSON-RPC 消息格式
请求示例
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "send_wechat_message",
"arguments": {
"contact_name": "文件传输助手",
"message": "Hello World!"
}
},
"id": 1
}
响应示例
{
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "Successfully sent message to 文件传输助手: Hello World!"
}
]
},
"id": 1
}
技术架构
MCP服务器 (mcp_server.py)
- 实现JSON-RPC 2.0协议
- 处理MCP标准方法调用
- 管理工具注册和执行
- 提供完整的错误处理
微信控制器 (wechat_controller.py)
- 使用pyautogui进行界面自动化
- 使用win32gui查找和控制微信窗口
- ** NT框架支持**: 完全支持微信4.0及以上版本
- ** 智能版本检测**: 自动检测微信版本并适配操作方式
- ** 多窗口类型识别**: 支持QT框架和传统窗口类型
- 支持异步消息发送和调度
- 提供状态检查功能
NT框架技术特性
- 版本检测: 通过进程信息自动检测微信版本
- 窗口识别: 支持QT框架窗口类名模式匹配
- 操作适配: 针对NT框架优化的搜索和发送逻辑
- 兼容性: 向下兼容传统微信版本<4.0
智能输入技术
- 智能定位: 自适应不同窗口大小的输入框位置检测
- 剪贴板输入: 使用Windows剪贴板API实现文本输入完全避免输入法干扰
- 焦点验证: 通过测试字符输入验证输入框焦点状态
- 剪贴板保护: 自动备份和恢复用户原始剪贴板内容
- 多重发送: 支持EnterCtrl+EnterAlt+S等多种发送快捷键备选方案
注意事项
系统要求
- 操作系统: Windows 系统
- 微信版本: 微信客户端支持所有版本包括4.0及以上NT框架版本
- Python版本: Python 3.8+
权限要求
- 需要屏幕控制权限pyautogui
使用限制
重要提醒
- 使用期间请勿手动操作微信窗口
- 确保微信窗口可见且未被遮挡
- 建议先向"文件传输助手"测试
安全考虑
- 本工具仅用于自动化个人微信操作
- 请遵守微信使用条款
- 不建议用于大量消息发送
故障排除
找不到微信窗口
- 确保微信已启动并登录
- 检查微信窗口是否可见
- 尝试重启微信
消息发送失败
- 检查联系人名称是否正确
- 确保联系人在最近聊天列表中
- 验证微信窗口是否处于活动状态
输入法相关问题
- 已解决: 本项目使用剪贴板输入技术完全避免输入法状态影响
- 支持任何输入法状态下的中文英文表情符号输入
- 自动保护用户剪贴板内容使用后自动恢复
输入框定位失败
- 已优化: 智能输入框定位系统自适应不同窗口大小
- 支持多种微信界面布局和分辨率
- 自动尝试多个可能的输入框位置
MCP连接问题
- 检查Python环境和依赖包
- 验证MCP配置文件路径
- 查看服务器日志输出
日志调试
服务器会输出详细的日志信息包括
- 请求处理状态
- 微信操作结果
- 错误信息和堆栈跟踪
开发和扩展
添加新工具
- 在
mcp_server.py中的_register_tools()方法添加工具定义 - 实现对应的执行方法
- 在
wechat_controller.py中添加具体功能 - 更新配置文件和文档
支持其他平台
当前版本仅支持Windows系统要支持其他平台需要
- 替换win32gui相关代码
- 适配不同系统的窗口管理
- 调整键盘快捷键映射
后续开发计划
- ~~智能输入框定位~~ 已完成
- ~~剪贴板输入技术~~ 已完成
- ~~多种发送方式支持~~ 已完成
- ~~输入法兼容性问题~~ 已完成
- 支持macOS和Linux系统
- 增加更多微信操作功能如发送图片文件等
支持我们
如果您觉得这个项目对您有帮助请考虑
- 给项目点个Star
- 分享给您的朋友
- 考虑捐赠以支持项目维护和发展
捐赠方式
如果您愿意支持项目的持续发展可以通过以下方式进行捐赠
支付宝收款码
微信赞赏码
您的每一份支持都是我们持续改进和维护项目的动力
重要免责声明
** 严重警告**
本项目涉及微信自动化操作存在重大风险使用前请充分评估风险并自行承担所有后果
项目性质声明
- 纯技术研究: 本项目仅为技术研究和学习目的而创建用于演示MCP协议的实现
- 非官方工具: 本项目与腾讯公司微信官方无任何关联未经微信官方授权或认可
- 实验性质: 本项目为实验性代码不保证稳定性安全性或可靠性
使用风险警告
- 账号风险: 使用任何微信自动化工具都可能导致账号被限制封禁或永久注销
- 数据风险: 可能导致聊天记录丢失联系人信息泄露或其他数据安全问题
- 系统风险: 可能对您的计算机系统造成不稳定或安全漏洞
- 法律风险: 在某些地区或情况下使用此类工具可能违反相关法律法规
- 隐私风险: 可能涉及个人隐私信息的处理和传输
微信相关免责
- 违反服务条款: 使用本项目可能违反微信用户服务协议和使用条款
- 功能失效: 微信更新可能随时导致本项目功能完全失效
- 官方制裁: 腾讯公司有权对使用自动化工具的账号采取任何措施
- 无官方支持: 微信官方不会为使用本项目产生的任何问题提供技术支持
完全免责条款
开发者贡献者分发者在任何情况下均不承担任何责任包括但不限于
直接责任免除
- 微信账号被封禁限制或注销
- 个人数据丢失泄露或被滥用
- 计算机系统损坏或数据损坏
- 消息发送错误或失败
- 隐私信息泄露
- 经济损失或商业损失
间接责任免除
- 因使用本项目导致的任何第三方损失
- 因项目缺陷导致的连带损失
- 因违反法律法规产生的法律后果
- 因违反平台规则产生的处罚
- 任何形式的精神损失或名誉损失
法律责任免除
- 违反当地法律法规的责任
- 违反微信服务条款的责任
- 侵犯他人权益的责任
- 数据保护法规违规的责任
- 任何民事刑事或行政责任
使用条件
使用本项目即表示您
- 已完全理解并接受上述所有风险和免责条款
- 同意自行承担使用本项目的所有风险和后果
- 承诺不会因使用本项目产生的任何问题追究开发者责任
- 理解开发者有权随时停止项目维护而无需承担任何责任
- 同意在发生任何争议时开发者均不承担任何责任
禁止使用声明
以下情况严禁使用本项目
- 批量发送广告或垃圾信息
- 骚扰他人或恶意使用
- 违反当地法律法规的用途
- 侵犯他人权益的行为
- 违反微信服务条款的行为
商业使用警告
虽然MIT许可证允许商业使用但我们强烈建议
- 商业使用前请充分评估法律风险
- 确保遵守所在地区的相关法律法规
- 遵守微信平台的商业使用政策
- 建议咨询法律专业人士的意见
- 商业使用产生的所有风险由使用者自行承担
如果您不同意上述任何条款请立即停止下载安装或使用本项目继续使用即视为完全同意并接受所有免责条款
许可证
本项目采用 MIT License 开源许可证
MIT许可证允许
- 商业使用 ( 需评估风险)
- 修改代码
- 分发代码
- 私人使用
但需要
- 保留版权声明
- 保留许可证声明
重要提醒:
- MIT许可证在法律上允许商业使用
- 但商业使用微信自动化工具存在较高风险
- 建议商业使用前咨询法律专业人士
- 所有商业使用风险由使用者自行承担
贡献
我们欢迎所有形式的贡献
报告问题
- 使用 Issues 报告bug
- 提供详细的错误信息和复现步骤
联系我们
如果您有任何问题建议或合作意向欢迎通过以下方式联系我们
- 微信号: 18750349398
- GitHub: 提交Issue
我们会尽快回复您的咨询
功能建议
- 在 Issues 中提出新功能建议
- 详细描述功能需求和使用场景
代码贡献
- Fork 本项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
项目统计
Star 增长趋势
项目数据
感谢您使用 WeChat MCP Server
如果这个项目对您有帮助请考虑给我们一个