Enables sending text messages to WeChat contacts and groups, with support for immediate and scheduled message delivery through automated control of the WeChat desktop client.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WeChat MCP Serversend a message to the work group saying 'Meeting starts in 5 minutes'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WeChat MCP Server
一个符合 Model Context Protocol (MCP) 标准的微信消息发送服务器,专为AI助手设计
快速开始 • 功能特点 • 使用方法 • API文档 • 贡献指南
📋 目录
🤖 什么是 MCP?
Model Context Protocol (MCP) 是一个开放标准协议,用于连接AI助手与各种数据源和工具。它就像是AI应用的USB-C接口,提供了标准化的方式来连接AI模型与外部系统。
💻 兼容性
✅ 微信版本 - 完全支持微信4.0以上的NT框架版本和传统微信版本
✅ 操作系统 - 支持Windows 10/11系统
✅ AI助手 - 兼容Claude、ChatGPT等支持MCP协议的AI助手
✨ 功能特点
✅ MCP标准兼容 - 完全符合 MCP 标准规范
✅ JSON-RPC 2.0 - 基于标准的 JSON-RPC 2.0 协议
✅ 微信消息发送 - 支持发送微信文本消息
✅ 定时发送 - 支持定时发送消息功能
✅ 全面版本支持 - 完全支持微信4.0以上的NT框架版本和传统微信版本
✅ 智能版本检测 - 自动检测微信版本并适配相应的操作方式
✅ 智能输入框定位 - 自适应不同窗口大小和布局的输入框位置
✅ 剪贴板输入技术 - 使用剪贴板输入,完全避免输入法状态影响
✅ 多种发送方式 - 支持Enter、Ctrl+Enter、Alt+S等多种发送快捷键
✅ 异步处理 - 异步处理,不阻塞AI助手
✅ 完整日志 - 完整的错误处理和日志记录
✅ 部分文本支持 - 目前支持发送英文、数字、表情符号等,暂不支持中文消息发送(可能导致乱码)
📁 项目结构
🚀 安装和配置
1️⃣ 安装依赖
2️⃣ 确保微信已启动并登录
⚠️ 重要提醒
在使用前,请确保:
✅ 微信客户端已安装并正在运行
✅ 已成功登录微信账号
✅ 微信窗口可见(不要最小化)
3️⃣ 配置AI助手
将此MCP服务器添加到您的AI助手配置中。以 Claude Desktop 为例:
注意: 请将
C:/path/to/WeChat-MCP-Server替换为您实际的项目路径
🛠️ 可用工具
📤 send_wechat_message
发送文本消息到指定的微信联系人或群组。
参数:
参数名 | 类型 | 必填 | 描述 |
|
| ✅ | 联系人或群组名称 |
|
| ✅ | 要发送的文本消息 |
示例:
⏰ schedule_wechat_message
安排在指定延迟后发送消息。
参数:
参数名 | 类型 | 必填 | 描述 |
|
| ✅ | 联系人或群组名称 |
|
| ✅ | 要发送的文本消息 |
|
| ✅ | 延迟发送的秒数 |
示例:
💡 使用方法
🤖 在AI助手中使用
配置完成后,您可以直接在AI助手中使用自然语言请求:
💬 示例对话
"帮我给张三发个微信消息说'会议推迟到下午3点'"
"10分钟后提醒我开会,发到工作群"
"给文件传输助手发送今天的工作总结"
🧪 直接测试
运行示例客户端进行测试:
🔄 自动化任务与消息报备
🚀 使用Cloud Code自动化工作流
试想一下,您可以使用Cloud Code等自动化工具完成各种任务,并通过微信自动发送报备消息:
📊 自动化场景示例
代码部署通知
当CI/CD流程完成时,自动向开发团队群发送部署状态
包含构建结果、测试覆盖率和部署环境信息
监控报警集成
将服务器监控报警直接推送到运维群
系统负载、异常状态实时通知到责任人
数据处理完成通知
大型数据处理任务完成后自动通知数据分析师
包含处理时间、数据量和结果摘要
定时报表推送
每日/每周自动生成业务报表并发送给管理层
销售数据、用户增长等关键指标自动汇总
💻 实现示例
🔧 MCP协议实现
本服务器实现了以下MCP标准方法:
方法 | 描述 |
| 初始化服务器连接 |
| 列出可用工具 |
| 调用指定工具 |
📡 JSON-RPC 消息格式
请求示例:
响应示例:
🏗️ 技术架构
🖥️ 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实现文本输入,完全避免输入法干扰
焦点验证: 通过测试字符输入验证输入框焦点状态
剪贴板保护: 自动备份和恢复用户原始剪贴板内容
多重发送: 支持Enter、Ctrl+Enter、Alt+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
提供详细的错误信息和复现步骤
📞 联系我们
如果您有任何问题、建议或合作意向,欢迎通过以下方式联系我们:
微信号: 13115979196
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!
如果这个项目对您有帮助,请考虑给我们一个 ⭐