<p align="center">
  <img src="https://img.shields.io/npm/v/wechat-dev-mcp.svg" alt="npm version" />
  <img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg" alt="node" />
  <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" />
</p>

<h1 align="center">微信开发者工具 MCP</h1>

<p align="center"><b>用大白话让 AI 帮你调试微信小程序 / 小游戏。</b></p>

<p align="center">
  <a href="README_EN.md">🇺🇸 English</a> · 🇨🇳 中文
</p>

---

你只要对 AI 说人话，剩下的它自己连、自己查报错、自己截图验证：

> 🗣️ 「打开我的小程序 → 跳到首页 → 点登录按钮 → 截图看效果」
>
> 🎮 「打开小游戏 → 在第 2 行第 10 列落子 → 截张图 → 导出日志」

兼容 WorkBuddy、Claude Code、Cursor、Cline、Zed 等任意 MCP 客户端。

---

## 🚀 3 步上手

**1. 安装**
```bash
npx -y wechat-dev-mcp
```

**2. 接进你的客户端**（命令都一样，只差配置文件位置）

以 Cursor 为例，编辑 `~/.cursor/mcp.json`：
```json
{
  "mcpServers": {
    "wechat-devtools": {
      "command": "npx",
      "args": ["-y", "wechat-dev-mcp"]
    }
  }
}
```
> 仓库已附带 `.cursor/mcp.json` / `.mcp.json`，也可直接用 [`examples/cursor-mcp-config.json`](examples/cursor-mcp-config.json)。其它客户端（Claude Code / Desktop、Codex、Windsurf、Cline、Zed）配置方式见各自文档，命令相同。

**3. 开干 —— 直接用自然语言跟 AI 说**

> 「帮我打开 `/Users/你/项目` 这个小程序，跳到首页，点登录，然后截图给我看」

就这么简单。

---

## ✅ 准备工作（一次就好）

- 装好 **微信开发者工具**，并开启**服务端口**：`设置 → 安全设置 → 服务端口`
- 本机 **Node.js ≥ 18**

> ⚠️ 没开「服务端口」会报 `Connection refused`。

---

## 🧩 配套 Skill（可选，但推荐）

[wechat-dev-skill](https://github.com/jiawei686/wechat-dev-skill) 把"扫 build / devtools / output / networks 四来源报错"做成一句话流程。装上后直接对 AI 说「调试一下这个项目」即可，它会自动定位报错。

---

## 🛠 能做什么（节选）

- 📸 **截图**：小程序页面 / 小游戏画布实时截图
- 👆 **触控**：模拟点击、长按、滑动（小游戏落子自动坐标补偿，落点精准）
- 📜 **读日志**：console / vConsole / 网络请求，定位报错
- 🔄 **重开**：一键重开并重新编译（不用易崩的 `Page.reload`）
- 🧪 **功能验证**：自动连模拟器、跑流程、核对 UI

小游戏完整文档见 [docs/MINIGAME_GUIDE.md](docs/MINIGAME_GUIDE.md)。

---

## ❓ 常见问题

| 问题 | 解决 |
|------|------|
| `Connection refused` | 开发者工具在跑 + 「服务端口」已开 |
| 小游戏点不动 | 先让游戏进入可交互界面（如说"开始游戏"），再让 AI 触控 |
| 落子位置偏了 | 用 `game_tap_grid`（已含补偿）；仍偏再标定 |
| 游戏卡死 | 让 AI 用 `restart_project` 重开，**别**用 `Page.reload` |

---

[MIT License](LICENSE) © CuiJiawei · 欢迎 Issue / PR
