GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者による説明(英語の原文)
Agent-first MCP server for WeChat Mini Program debugging & automation via WeChat DevTools.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
WEAPP_WS_ENDPOINT, WEAPP_AUTOMATOR_MODE, WEAPP_PROJECT_PATH, WECHAT_DEVTOOLS_CLI_PATH, WEAPP_DEVTOOLS_PORT, WEAPP_DEVTOOLS_TIMEOUT, WEAPP_AUTO_ACCOUNT, WEAPP_DEVTOOLS_TICKET, WEAPP_TRUST_PROJECT, WEAPP_DEVTOOLS_ARGS, WEAPP_DEVTOOLS_CWD, WEAPP_AUTOCLOSE, WEAPP_AUTOLAUNCH, WEAPP_LAUNCH_TIMEOUT, WEAPP_CONNECT_TIMEOUT「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"weapp-agent": {
"command": "npx",
"args": [
"-y",
"@chaixueyuan/weapp-agent-mcp"
],
"env": {
"WEAPP_WS_ENDPOINT": "your-value",
"WEAPP_AUTOMATOR_MODE": "your-value",
"WEAPP_PROJECT_PATH": "your-value",
"WECHAT_DEVTOOLS_CLI_PATH": "your-value",
"WEAPP_DEVTOOLS_PORT": "your-value",
"WEAPP_DEVTOOLS_TIMEOUT": "your-value",
"WEAPP_AUTO_ACCOUNT": "your-value",
"WEAPP_DEVTOOLS_TICKET": "your-value",
"WEAPP_TRUST_PROJECT": "your-value",
"WEAPP_DEVTOOLS_ARGS": "your-value",
"WEAPP_DEVTOOLS_CWD": "your-value",
"WEAPP_AUTOCLOSE": "your-value",
"WEAPP_AUTOLAUNCH": "your-value",
"WEAPP_LAUNCH_TIMEOUT": "your-value",
"WEAPP_CONNECT_TIMEOUT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add weapp-agent --env WEAPP_WS_ENDPOINT=your-value --env WEAPP_AUTOMATOR_MODE=your-value --env WEAPP_PROJECT_PATH=your-value --env WECHAT_DEVTOOLS_CLI_PATH=your-value --env WEAPP_DEVTOOLS_PORT=your-value --env WEAPP_DEVTOOLS_TIMEOUT=your-value --env WEAPP_AUTO_ACCOUNT=your-value --env WEAPP_DEVTOOLS_TICKET=your-value --env WEAPP_TRUST_PROJECT=your-value --env WEAPP_DEVTOOLS_ARGS=your-value --env WEAPP_DEVTOOLS_CWD=your-value --env WEAPP_AUTOCLOSE=your-value --env WEAPP_AUTOLAUNCH=your-value --env WEAPP_LAUNCH_TIMEOUT=your-value --env WEAPP_CONNECT_TIMEOUT=your-value -- npx -y @chaixueyuan/weapp-agent-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"weapp-agent": {
"command": "npx",
"args": [
"-y",
"@chaixueyuan/weapp-agent-mcp"
],
"env": {
"WEAPP_WS_ENDPOINT": "your-value",
"WEAPP_AUTOMATOR_MODE": "your-value",
"WEAPP_PROJECT_PATH": "your-value",
"WECHAT_DEVTOOLS_CLI_PATH": "your-value",
"WEAPP_DEVTOOLS_PORT": "your-value",
"WEAPP_DEVTOOLS_TIMEOUT": "your-value",
"WEAPP_AUTO_ACCOUNT": "your-value",
"WEAPP_DEVTOOLS_TICKET": "your-value",
"WEAPP_TRUST_PROJECT": "your-value",
"WEAPP_DEVTOOLS_ARGS": "your-value",
"WEAPP_DEVTOOLS_CWD": "your-value",
"WEAPP_AUTOCLOSE": "your-value",
"WEAPP_AUTOLAUNCH": "your-value",
"WEAPP_LAUNCH_TIMEOUT": "your-value",
"WEAPP_CONNECT_TIMEOUT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"weapp-agent": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@chaixueyuan/weapp-agent-mcp"
],
"env": {
"WEAPP_WS_ENDPOINT": "your-value",
"WEAPP_AUTOMATOR_MODE": "your-value",
"WEAPP_PROJECT_PATH": "your-value",
"WECHAT_DEVTOOLS_CLI_PATH": "your-value",
"WEAPP_DEVTOOLS_PORT": "your-value",
"WEAPP_DEVTOOLS_TIMEOUT": "your-value",
"WEAPP_AUTO_ACCOUNT": "your-value",
"WEAPP_DEVTOOLS_TICKET": "your-value",
"WEAPP_TRUST_PROJECT": "your-value",
"WEAPP_DEVTOOLS_ARGS": "your-value",
"WEAPP_DEVTOOLS_CWD": "your-value",
"WEAPP_AUTOCLOSE": "your-value",
"WEAPP_AUTOLAUNCH": "your-value",
"WEAPP_LAUNCH_TIMEOUT": "your-value",
"WEAPP_CONNECT_TIMEOUT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
WEAPP_WS_ENDPOINT envWEAPP_AUTOMATOR_MODE envWEAPP_PROJECT_PATH envWECHAT_DEVTOOLS_CLI_PATH envWEAPP_DEVTOOLS_PORT envWEAPP_DEVTOOLS_TIMEOUT envWEAPP_TRUST_PROJECT envWEAPP_DEVTOOLS_ARGS envWEAPP_DEVTOOLS_CWD envWEAPP_AUTOCLOSE envWEAPP_AUTOLAUNCH envWEAPP_LAUNCH_TIMEOUT envWEAPP_CONNECT_TIMEOUT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Chaixueyuan で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:WEAPP_AUTO_ACCOUNT, WEAPP_DEVTOOLS_TICKET
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.4.8)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Agent-first MCP server for WeChat Mini Program debugging, automation, and lightweight regression testing.
面向 agent 的微信小程序 MCP 服务 — 让 Claude Code / Cursor / Codex 等 agent 在对话中直接驱动微信开发者工具完成调试、UI 操作、页面巡检与轻量测试。
📖 Changelog · 🐛 Issues · 💬 Discussions
weapp-agent-mcp 是一个面向 agent 的微信小程序 MCP 服务,基于 miniprogram-automator 封装微信开发者工具自动化能力,用于页面调试、元素操作、轻量回归测试与恢复友好型排查。
它适合:
它当前不应被宣传为:
更完整的文档入口见 docs/README.md。
如果你已经在用 Claude Code / Cursor / Codex 等 agent 写小程序,传统的 miniprogram-automator 脚本式调用不够顺手 — 你得让 agent 写 node 脚本、跑、读输出、再调整。本项目把自动化能力直接暴露成 agent 工具调用,让 agent 在对话中可以:
mp_screenshot / page_snapshot / element_tap,不必中转脚本mp_healthCheck / mp_recoverConnection,断连后能自愈,长会话更稳mp_runScenario + mp_generateScenarioReport 产出 markdown 报告,适合给 PR / oncall 用qa-* 命名锚点,减少 UI 改版后的脚本碎裂| 场景 | 是否适用 |
|---|---|
| Agent 主动驱动调试 / 巡检 | ✅ 主推场景 |
| 写传统脚本式 e2e 测试 | ⚪ 直接用原生 miniprogram-automator SDK 更轻 |
| 并发截图 / 压测 | ❌ 不适用 — 截图通道按串行设计 |
| 长会话 / 多轮调试 | ✅ 有 health / recover 工具兜底 |
| CI 上的长链路回归 | ⚠️ 拆短 scenario 后可用,超长链路建议专业框架 |
cli / cli.bat)npm不需要先把仓库拉到本地,也不需要自己手动构建 dist。只要本机有 Node.js 和 npx,就可以直接在 MCP 客户端里这样配置:
{
"mcpServers": { "weapp-agent-mcp": { "command": "npx", "args": [ "-y", "@chaixueyuan/weapp-agent-mcp" ], "env": { "WEAPP_WS_ENDPOINT": "ws://localhost:9420" } } } }
如果你希望在 Claude 等客户端里用更短的别名,也可以把 MCP server key 命名为
weapp-dev,但发布包名和服务名以weapp-agent-mcp为准。
可选:如果你习惯全局安装,也可以先执行:
npm install -g @chaixueyuan/weapp-agent-mcp
然后把 MCP 配置改成:
{
"mcpServers": { "weapp-agent-mcp": { "command": "weapp-agent-mcp", "env": { "WEAPP_WS_ENDPOINT": "ws://localhost:9420" } } } }
只有在以下场景才需要这样用:
npm install
npm run build node dist/index.js
{
"mcpServers": { "weapp-agent-mcp": { "command": "node", "args": [ "/absolute/path/to/weapp-agent-mcp/dist/index.js" ], "env": { "WEAPP_WS_ENDPOINT": "ws://localhost:9420" } } } }
npm install
npm run dev
mp_screenshot 当前按串行单通道能力设计,不支持并发压测page_snapshot、mp_screenshot、长 mp_runScenario 在连续复杂操作后可能超时mp_healthCheck;仅当 needsRecovery=true 时执行 mp_recoverConnectionqa-* selector 或其他稳定定位锚点由于使用 Claude Code 调用 MCP 工具时,会触发工具调用权限申请,此时可能会丢失 MCP 与微信开发者工具的连接状态,由于获取控制台输出高度依赖连接状态,此时会无法连贯的获取输出日志,所以建议手动添加权限:
在项目目录下创建 .claude/settings.local.json 文件,或在已有文件添加以下内容后即可免确认直接调用工具,或者根据需要添加您允许免确认调用的工具:
{
"permissions": { "allow": [ "mcpweapp-agent-mcpmp_diagnoseConnection", "mcpweapp-agent-mcpmp_ensureConnection", "mcpweapp-agent-mcpmp_navigate", "mcpweapp-agent-mcpmp_screenshot", "mcpweapp-agent-mcpmp_callWx", "mcpweapp-agent-mcpmp_evaluate", "mcpweapp-agent-mcpmp_pollUntil", "mcpweapp-agent-mcpmp_getLogs", "mcpweapp-agent-mcpmp_runScenario", "mcpweapp-agent-mcpmp_generateScenarioReport", "mcpweapp-agent-mcpmp_currentPage", "mcpweapp-agent-mcpmp_healthCheck", "mcpweapp-agent-mcpmp_recoverConnection", "mcpweapp-agent-mcpmp_listProjects", "mcpweapp-agent-mcpmp_setDefaultProject", "mcpweapp-agent-mcppage_getElement", "mcpweapp-agent-mcppage_getElements", "mcpweapp-agent-mcppage_waitElement", "mcpweapp-agent-mcppage_waitElementGone", "mcpweapp-agent-mcppage_waitRoute", "mcpweapp-agent-mcppage_waitTimeout", "mcpweapp-agent-mcppage_expectRoute", "mcpweapp-agent-mcppage_expectVisible", "mcpweapp-agent-mcppage_expectElementText", "mcpweapp-agent-mcppage_expectCount", "mcpweapp-agent-mcppage_expectData", "mcpweapp-agent-mcppage_snapshot", "mcpweapp-agent-mcppage_getData", "mcpweapp-agent-mcppage_setData", "mcpweapp-agent-mcppage_callMethod", "mcpweapp-agent-mcpelement_tap", "mcpweapp-agent-mcpelement_touch", "mcpweapp-agent-mcpelement_swipe", "mcpweapp-agent-mcpelement_input", "mcpweapp-agent-mcpelement_callMethod", "mcpweapp-agent-mcpelement_getData", "mcpweapp-agent-mcpelement_setData", "mcpweapp-agent-mcpelement_getInnerElement", "mcpweapp-agent-mcpelement_getInnerElements", "mcpweapp-agent-mcpelement_getWxml", "mcpweapp-agent-mcpelement_getStyles", "mcpweapp-agent-mcpelement_scrollTo", "mcpweapp-agent-mcpelement_getAttributes", "mcpweapp-agent-mcpelement_getBoundingClientRect" ] } }
注意: 工具名称格式为
mcp__<服务器名称>__<工具名称>,请确保服务器名称与您的 MCP 配置中的名称一致。
默认流程无需 agent 手动执行 CLI:直接调用 mp_ensureConnection,本地端口未监听且允许 AutoLaunch 时,server 会自行执行 cli auto。下面的命令只用于人工排障,或显式设置 WEAPP_AUTOLAUNCH=false 后由用户自行预启动开发者工具。
💡 在开始之前:
人工使用命令行启动
使用命令行启动微信开发者工具并自动开启 WebSocket 服务:
macOS:
/Applications/wechatwebdevtools.app/Contents/MacOS/cli auto --project /path/to/your/project --auto-port 9420
Windows:
"C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat" auto --project C:\path\to\your\project --auto-port 9420
其中:
--project 指定小程序项目目录路径(请替换为实际的项目路径)--auto-port 指定 automation websocket 端口(默认 9420)。注意:这个 flag 在 cli auto --help 输出里看不到,但官方 miniprogram-automator SDK 内部一直用,是有效参数⚠️ 警告 由于沙箱机制,部分客户端不允许 MCP 访问项目目录以外的微信开发者工具的 cli,所以这里只介绍了使用 WebSocket 服务
通过环境变量控制自动化工具如何连接到微信开发者工具:
| 变量 | 说明 |
|---|---|
WEAPP_WS_ENDPOINT | 【推荐】 已运行的开发者工具自动化 WebSocket 端点。设置后,服务器使用 connect 模式而不是启动新实例。示例:ws://localhost:9420 |
WECHAT_DEVTOOLS_CLI_PATH | 微信开发者工具 CLI 路径(如果默认路径有效则可选)。 |
WEAPP_AUTOMATOR_MODE | 强制使用 launch 或 connect 模式。除非提供了 WEAPP_WS_ENDPOINT,否则默认为 launch。 |
WEAPP_DEVTOOLS_PORT | launch 模式下传给 cli auto --auto-port 的自动化端口。不会在失败后自动切到其他端口。 |
WEAPP_DEVTOOLS_TIMEOUT | 启动超时时间(毫秒,默认 30000)。 |
WEAPP_AUTO_ACCOUNT | 传递给 --auto-account 用于自动登录。 |
WEAPP_DEVTOOLS_TICKET | 启动时传递给 --ticket。 |
WEAPP_TRUST_PROJECT | 设置为 true 以在启动时包含 --trust-project。 |
WEAPP_DEVTOOLS_ARGS | 启动时的额外 CLI 参数(空格分隔)。 |
WEAPP_DEVTOOLS_CWD | 传递给开发者工具进程的工作目录。 |
WEAPP_AUTOCLOSE | 设置为 true 时,每次工具调用后关闭开发者工具会话。 |
WEAPP_AUTOLAUNCH | 本地 connect 目标端口未监听时是否允许 mp_ensureConnection 使用 cli auto 拉起开发者工具;默认允许,设为 false 禁用。不会自动切换端口或拉起远程目标。 |
WEAPP_LAUNCH_TIMEOUT | 启动超时时间(毫秒,默认 45000) |
WEAPP_CONNECT_TIMEOUT | 连接超时时间(毫秒,默认 45000) |
WEAPP_PROJECT_PATH | 小程序项目路径(可选) |
注意:
launch/ 本地自动拉起最终都需要可解析的小程序项目目录。可通过connection.projectPath、WEAPP_PROJECT_PATH、mp_setDefaultProject的持久化默认值、最近项目或当前工作目录提供;显式设置的默认项目不会被后续活动会话覆盖。
工具调用可以通过 connection 对象覆盖这些默认值中的大部分。
适用于你已经手动打开微信开发者工具,并且已经在 设置 → 安全设置 → 服务端口 中开启了自动化。
{
"mcpServers": { "weapp-agent-mcp": { "command": "npx", "args": ["-y", "@chaixueyuan/weapp-agent-mcp"], "env": { "WEAPP_WS_ENDPOINT": "ws://localhost:9420" } } } }
这个模式下:
WEAPP_WS_ENDPOINT 必须指向可被 miniprogram-automator.connect() 连接的 websocket endpointcli open、cli auto、cli quitmp_ensureConnection;它会优先复用现有会话,并在本地端口未监听时按配置自愈mp_diagnoseConnectioncli auto,设置 WEAPP_AUTOLAUNCH=false适用于当前未打开 IDE,需要 MCP 通过 CLI 启动项目。
{
"mcpServers": { "weapp-agent-mcp": { "command": "npx", "args": ["-y", "@chaixueyuan/weapp-agent-mcp"], "env": { "WEAPP_AUTOMATOR_MODE": "launch", "WEAPP_PROJECT_PATH": "/path/to/project", "WECHAT_DEVTOOLS_CLI_PATH": "/Applications/wechatwebdevtools.app/Contents/MacOS/cli", "WEAPP_DEVTOOLS_PORT": "9420" } } } }
这个模式下:
WEAPP_DEVTOOLS_PORT 表示 cli auto --auto-port 使用的自动化端口launch 模式时,MCP 才应该启动 IDEconnect 与 launch 两种模式不要混用--port 和 --auto-port 的区别微信开发者工具至少涉及两类端口:
--port:IDE HTTP 服务端口--auto-port:自动化 websocket 端口这两个端口不能混用。WEAPP_WS_ENDPOINT 必须指向自动化 websocket 端口,而不是 IDE HTTP 端口。
当用户已经打开微信开发者工具时:
cli opencli quitmp_ensureConnection,它会优先复用现有自动化会话mp_diagnoseConnection 仅用于只读探测,或在 ensure / recovery 失败后补充诊断WEAPP_AUTOLAUNCH 未禁用时,mp_ensureConnection 可自行执行 cli autoWEAPP_AUTOLAUNCH=falsemp_diagnoseConnection – 只诊断当前连接目标,不启动 IDE、不修改项目状态mp_ensureConnection – 确保自动化会话就绪,是连接链路默认入口;失败后再按返回指引诊断或恢复mp_navigate – 在小程序内导航,支持 navigateTo、redirectTo、reLaunch、switchTab 或 navigateBackmp_screenshot – 捕获屏幕截图并返回(或保存到磁盘)mp_callWx – 调用微信小程序 API 方法(如 wx.showToast)mp_evaluate – 向小程序 AppService 注入并执行函数代码,适合做显式运行时读取mp_pollUntil – 轮询 AppService 条件,命中后可执行动作并采集前后状态快照mp_getLogs – 获取小程序控制台日志,支持按 type、contains、since、limit 过滤,并返回日志监听状态(如 listenerAttached、lastLogAt、sessionId)mp_runScenario – 按顺序执行一组最小测试步骤,当前支持 navigate、tap、input、waitRoute、expect*、snapshot、getLogs、screenshotmp_generateScenarioReport – 执行 scenario 并输出 markdown 报告;可选写入 outputPath,适合产出轻量回归测试记录,并可引用截图路径mp_currentPage – 获取当前页面信息(路径、查询参数、尺寸和滚动位置),withData 为 true 时额外返回页面数据mp_healthCheck – 聚合连接、页面、项目路径和日志监听状态,判断当前是否健康、是否需要恢复mp_recoverConnection – 按标准顺序执行恢复,并返回恢复动作、恢复前后状态与最新 healthmp_listProjects – 列出微信开发者工具中的最近项目,方便选择项目目录mp_setDefaultProject – 设置默认的小程序项目路径,设置后下次连接会自动使用该项目page_getElement – 通过选择器获取页面元素,返回元素摘要信息(tagName、text、value、size、offset);设置 withWxml: true 可额外返回完整 outerWxml;支持 [index=N] 语法选择第 N 个元素page_getElements – 通过选择器获取页面元素数组,返回每个元素的摘要信息;limit 默认/最大 100;设置 withWxml: true 可额外返回每个元素的完整 outerWxml;支持 [index=N] 语法page_waitElement – 等待元素出现在页面上(⚠️ 不适用于自定义组件内部元素);支持 [index=N] 语法;增加超时和重试间隔参数page_waitElementGone – 等待元素从页面上消失;支持 [index=N] 语法;支持超时和重试间隔参数page_waitRoute – 等待当前页面路径变为指定值,适合确认导航真正完成;支持超时和重试间隔参数page_waitTimeout – 等待指定的毫秒数page_expectRoute – 断言当前页面路径是否等于预期值page_expectVisible – 断言页面上是否存在可定位到的元素;支持 [index=N] 语法page_expectElementText – 断言元素文本是否等于或包含预期值;支持 [index=N] 语法page_expectCount – 断言页面上匹配选择器的元素数量是否等于预期值page_expectData – 断冒頭だけを表示しています。続きはリポジトリで読めます