将微信开发者工具 CLI 封装为 MCP (Model Context Protocol) 服务,使编辑器中的 AI 能够直接调用微信 CLI 命令,实现小程序**全流程闭环。
개요
将微信开发者工具 CLI 封装为 MCP (Model Context Protocol) 服务,使编辑器中的 AI 能够直接调用微信 CLI 命令,实现小程序**全流程闭环。
README
微信开发者工具 MCP Server (v0.9.10)
将微信开发者工具 CLI 封装为 MCP (Model Context Protocol) 服务,使编辑器中的 AI 能够直接调用微信 CLI 命令,实现小程序开发、测试、调试、自动化全流程闭环。
[!IMPORTANT] 本项目采用「瘦 MCP + 胖 Skill」架构:MCP Server 提供 7 个聚合 API,配套的 wechat-devtools Skill 提供 SOP 流程、参数速查和最佳实践。两者必须配合使用,缺少 Skill 时 AI 将无法按正确流程操作小程序。
已发布至官方 MCP Registry,支持跨平台(Windows / macOS)一键安装。
🚀 安装与快速开始
Step 1 — 安装 MCP Server
推荐使用 uv,它能自动处理 Python 依赖并提供隔离的执行环境。
pip install uv # 安装 uv(如已安装可跳过)
uv tool install wechat-devtools-mcp --force # 一键安装到全局隔离环境
[!WARNING] 如果之前通过
pip install安装过旧版本,请先卸载以避免版本冲突:pip uninstall wechat-devtools-mcp
pip install的路径(如Python313/Scripts/)可能优先于uv tool install的路径(~/.local/bin/),导致实际运行旧版本。可通过wechat_ide(action='status')返回的mcp_version字段确认当前版本。
[!TIP]
- 查看已安装版本:
uv tool list | grep wechat # 离线确认已安装版本- 升级工具:如果编辑器正在运行 MCP 服务,需先终止进程再升级:
# Bash / CMD taskkill /F /IM "wechat-devtools-mcp*" 2>/dev/null; uv tool upgrade wechat-devtools-mcp# Windows PowerShell Get-Process | Where-Object { $_.ProcessName -like "*wechat-devtools*" } | Stop-Process -Force uv tool upgrade wechat-devtools-mcp- Agent 一键升级:
taskkill /F /IM "wechat-devtools-mcp*" 2>/dev/null; uv tool upgrade wechat-devtools-mcp && npx -y skills add WaterTian/wechat-devtools-mcp/.agents/skills/wechat-devtools
Step 2 — 开启开发者工具服务端口
[!WARNING] 必须手动开启,否则 AI 将无法下发任何指令。
操作路径:开发者工具 → 设置 → 安全设置 → 服务端口 → 开启
💡 可通过
wechat_ide(action='status')验证端口是否已开启——如果返回连接失败,说明服务端口尚未启用。
Step 3 — 确认必要路径
请提前获取以下两个绝对路径,稍后需填入编辑器配置:
| 路径 | Windows 示例 | macOS 示例 |
|---|---|---|
| 微信开发者工具 CLI | C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat |
/Applications/wechatwebdevtools.app/Contents/MacOS/cli |
| 小程序项目根目录 | D:\MyProjects\mini-app |
/Users//Projects/mini-app |
macOS 用户:JSON 配置中无需转义斜杠(
/直接写);Windows 用户需把\写成\\。
Step 4 — 编辑器配置
Step 5 — 安装 Skill(必须)
[!IMPORTANT] 本 MCP 必须配合 wechat-devtools Skill 使用。 Skill 包含 AI 操作小程序所需的全部 SOP 流程、参数速查和故障排查指南。未安装 Skill 时,AI 只能调用裸 API,无法自动执行标准化测试和调试流程。
方式一:npx skills add(Claude Code 用户)
npx -y skills add WaterTian/wechat-devtools-mcp/.agents/skills/wechat-devtools
会拉到 ~/.claude/skills/,Claude Code 自动加载。
方式二:手动放到 .agents/skills/(Trae 等基于 .agents/skills/ 加载的客户端)
在小程序项目根目录执行:
git clone --depth 1 https://github.com/WaterTian/wechat-devtools-mcp.git .wdm-tmp
mkdir -p .agents/skills
cp -r .wdm-tmp/.agents/skills/wechat-devtools .agents/skills/
rm -rf .wdm-tmp
完成后的目录结构:
your-project/
└── .agents/skills/
└── wechat-devtools/
├── SKILL.md # 主指令文件(SOP + 能力映射 + 红线规则)
└── references/
└── tool_reference.md # 7 个聚合 API 完整参数参考
[!TIP] Trae 用户:确认 设置 → 技能与命令 → 启用 .agents 技能目录 开关已开启(默认开),保存后刷新即可在「技能 → 项目」tab 看到
wechat-devtools。
🛠️ 工具箱概要
MCP Server 提供 7 个聚合工具,覆盖小程序全生命周期:
| 工具 | 功能 | 支持的 action |
|---|---|---|
wechat_ide |
IDE 生命周期管理 | open login is_login close quit status |
wechat_build |
构建与发布 | compile preview upload build_npm cache_clean |
wechat_automator |
自动化交互 | start tap input element_info set_data call_method call_wx mock_wx evaluate page_stack page_data system_info storage |
wechat_inspector |
运行时日志采集 | console cdp |
wechat_screenshot |
界面截图(长图拼接) | — |
wechat_navigate |
跳转页面并采集 CDP 日志 | — |
wechat_file |
项目文件读取 | project_info list_pages read_page read_file |
云函数与云数据库管理请使用 CloudBase MCP(
manageFunctions/readNoSqlDatabaseContent等),功能更完整且无 IDE 依赖。wechat_cloud自 v0.9.5 起已禁用。完整工具参数说明请参阅 MCP_DOC.md
🧠 Skill 内容详情
Skill 让 AI 在收到自然语言指令后,自动匹配并执行标准化操作流程:
| 你说的话 | AI 执行的流程 |
|---|---|
| “帮我检查所有页面有没有报错” | SOP D — 全页面巡检 |
| “点击登录按钮,截图看看效果” | SOP B — UI 调试 |
| “页面白屏了,帮我排查” | SOP C — 异常排查 |
| “Mock 支付接口,测试支付流程” | SOP E — Mock 集成测试 |
| “测试详情页,参数名是什么” | SOP G — 子页面测试 |
| “对比各页面积分是否一致” | SOP I — 跨页面数据校验 |
Skill 包含
- 9 个 SOP 流程 — 初始化、UI 调试、异常排查、全页面巡检、Mock 集成测试、网络调试与 UI 适配、子页面测试、跨页面数据校验、并行数据比对
- 能力映射字典 — 7 个聚合工具 × 全部 action 的快速索引
- CDP 渐进排查策略 — concise → full 两阶段,控制 Token 消耗
- 完整参数参考 — 每个 action 的必填/可选参数、返回示例、常用模板
- 故障排查手册 — 常见错误码与修复方式
安装方式见 Step 5 — 安装 Skill
💡 环境变量
| 变量名 | 说明 | 默认值 | 必填 |
|---|---|---|---|
WECHAT_DEVTOOLS_CLI |
微信开发者工具 CLI 路径 | — | 是 |
WECHAT_PROJECT_PATH |
默认小程序项目绝对路径 | — | 是 |
WECHAT_CLI_TIMEOUT |
CLI 命令超时时间(秒) | 30 |
否 |
NODE_PATH |
Node.js 执行文件路径 | node |
否 |
❓ 常见问题
📋 版本历史
| 版本 | 说明 |
|---|---|
| 0.9.10 | 修复 page_path 静默失败:screenshot.js 导航后验证页面路径是否匹配,缺少 /index 后缀或页面不存在时返回明确错误而非静默拍下旧页面;node_bridge.py 修复 daemon handler 错误信息丢失(#5) |
| 0.9.9 | 修复截图导致小程序重启:screenshot.js 对非 TabBar 页面的导航方式从 reLaunch(销毁全部页面栈)改为 navigateTo(非破坏性压栈),修复 macOS 环境下截图后模拟器重置问题(#4) |
| 0.9.8 | 修复 automator 连接稳定性:daemon.js currentPage() 健康检查改为轮询重试(新连接 5 次 × 3s+1.5s),不再因页面加载慢丢弃已建立的 WebSocket 连接;_action_start 改用 _run_cli 同步检测 CLI 返回码,CLI 失败立即感知(#3) |
| 0.9.7 | 修复 daemon 孤儿进程残留:daemon.js 增加父进程 watchdog,每 5 秒 process.kill(ppid, 0) 检测存活,父进程被杀后自动清理 WS 连接并退出(#2) |
| 0.9.6 | macOS 适配:cdp_enabled=true 模式跨平台启动(NW.js 主程序 wechatdevtools + package.nw 入口 + pkill 清理);默认 CLI 路径按平台返回;Node.js 检测补 Homebrew/nvm 候选路径;README 增加 macOS 路径示例 |
| 0.9.5 | 修复 compile 健康检查永久失败的潜伏 bug(ui_debug.js 无 page_stack action,v0.9.0 以来 automator_verified 一直误报 false);compile 对 EACCES/EADDRINUSE/#initialize-error 等致命 pattern 降级为 fail,杜绝「假成功发布旧 bundle」;preview 自动 resolve 相对路径 + mtime 新鲜度检测;wechat_automator(action='start') 升级为 TCP+WS 双重验证 + retry_after_ms 精确等待;compile 前检测 miniprogram_npm 过期发 warning;inspector 短 duration 捕获异常时发 warning;wechat_cloud 工具已禁用(改用 CloudBase MCP) |
| 0.9.4 | 修复 switchTab 跳转不生效(改用 miniProgram.switchTab() 替代 callWxMethod);compile 后重连稳定性(去冗余进程 + 3s 延迟 + WS 健康检查);README 5 项 agent 友好性改进 |
参考文档
许可证
MIT
설치
uvx wechat-devtools-mcp설정
{
"mcpServers": {
"wechat-devtools": {
"command": "uvx",
"args": ["wechat-devtools-mcp"],
"env": {
"WECHAT_DEVTOOLS_CLI": "C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
"WECHAT_PROJECT_PATH": "D:\\Your\\Project\\Path"
}
}
}
}