
Weapp Agent Mcp
Bridges Claude and other AI agents directly to WeChat DevTools via WebSocket, wrapping miniprogram-automator into MCP tool calls. Instead of asking the agent to write Node scripts for debugging, you get direct access to mp_screenshot, page_snapshot, element_tap, and assertion tools like page_expectVisible. Built for serial UI checks and lightweight regression flows, not parallel screenshot stress tests. Includes mp_healthCheck and mp_recoverConnection to self-heal through long debugging sessions. Designed around stable qa-* selectors to survive UI refactors. Best when agents are already driving your mini program development and you want them debugging in the same conversational flow. Can run pre-built scenario suites and generate markdown reports for PRs.
- GitHub stars
- 23
- tools
- 44
- auth
- Secret needed
- transport
- STDIO
- env vars
- 15
- last updated
- Jul 1, 2026
Tools
44 toolsPublic tool metadata for what this MCP can expose to an agent.
mp_diagnoseConnection只诊断当前连接目标,不启动 IDE、不修改项目状态
只诊断当前连接目标,不启动 IDE、不修改项目状态
No parameter schema in public metadata yet.
mp_ensureConnection确保自动化会话就绪,是连接链路默认入口;失败后再按返回指引诊断或恢复
确保自动化会话就绪,是连接链路默认入口;失败后再按返回指引诊断或恢复
No parameter schema in public metadata yet.
mp_navigate在小程序内导航,支持 navigateTo、redirectTo、reLaunch、switchTab 或 navigateBack
在小程序内导航,支持 navigateTo、redirectTo、reLaunch、switchTab 或 navigateBack
No parameter schema in public metadata yet.
mp_screenshot捕获屏幕截图并返回(或保存到磁盘)
捕获屏幕截图并返回(或保存到磁盘)
No parameter schema in public metadata yet.
mp_callWx调用微信小程序 API 方法(如 wx.showToast)
调用微信小程序 API 方法(如 wx.showToast)
No parameter schema in public metadata yet.
mp_evaluate向小程序 AppService 注入并执行函数代码,适合做显式运行时读取
向小程序 AppService 注入并执行函数代码,适合做显式运行时读取
No parameter schema in public metadata yet.
mp_pollUntil轮询 AppService 条件,命中后可执行动作并采集前后状态快照
轮询 AppService 条件,命中后可执行动作并采集前后状态快照
No parameter schema in public metadata yet.
mp_getLogs获取小程序控制台日志,支持按 type、contains、since、limit 过滤,并返回日志监听状态
获取小程序控制台日志,支持按 type、contains、since、limit 过滤,并返回日志监听状态
No parameter schema in public metadata yet.
mp_runScenario按顺序执行一组最小测试步骤,当前支持 navigate、tap、input、waitRoute、expect*、snapshot、getLogs、screenshot
按顺序执行一组最小测试步骤,当前支持 navigate、tap、input、waitRoute、expect*、snapshot、getLogs、screenshot
No parameter schema in public metadata yet.
mp_generateScenarioReport执行 scenario 并输出 markdown 报告;可选写入 outputPath,适合产出轻量回归测试记录
执行 scenario 并输出 markdown 报告;可选写入 outputPath,适合产出轻量回归测试记录
No parameter schema in public metadata yet.
mp_currentPage获取当前页面信息(路径、查询参数、尺寸和滚动位置),withData 为 true 时额外返回页面数据
获取当前页面信息(路径、查询参数、尺寸和滚动位置),withData 为 true 时额外返回页面数据
No parameter schema in public metadata yet.
mp_healthCheck聚合连接、页面、项目路径和日志监听状态,判断当前是否健康、是否需要恢复
聚合连接、页面、项目路径和日志监听状态,判断当前是否健康、是否需要恢复
No parameter schema in public metadata yet.
mp_recoverConnection按标准顺序执行恢复,并返回恢复动作、恢复前后状态与最新 health
按标准顺序执行恢复,并返回恢复动作、恢复前后状态与最新 health
No parameter schema in public metadata yet.
mp_listProjects列出微信开发者工具中的最近项目,方便选择项目目录
列出微信开发者工具中的最近项目,方便选择项目目录
No parameter schema in public metadata yet.
mp_setDefaultProject设置默认的小程序项目路径,设置后下次连接会自动使用该项目
设置默认的小程序项目路径,设置后下次连接会自动使用该项目
No parameter schema in public metadata yet.
page_getElement通过选择器获取页面元素,返回元素摘要信息;设置 withWxml 可额外返回完整 outerWxml
通过选择器获取页面元素,返回元素摘要信息;设置 withWxml 可额外返回完整 outerWxml
No parameter schema in public metadata yet.
page_getElements通过选择器获取页面元素数组,返回每个元素的摘要信息
通过选择器获取页面元素数组,返回每个元素的摘要信息
No parameter schema in public metadata yet.
page_waitElement等待元素出现在页面上(不适用于自定义组件内部元素)
等待元素出现在页面上(不适用于自定义组件内部元素)
No parameter schema in public metadata yet.
page_waitElementGone等待元素从页面上消失
等待元素从页面上消失
No parameter schema in public metadata yet.
page_waitRoute等待当前页面路径变为指定值,适合确认导航真正完成
等待当前页面路径变为指定值,适合确认导航真正完成
No parameter schema in public metadata yet.
page_waitTimeout等待指定的毫秒数
等待指定的毫秒数
No parameter schema in public metadata yet.
page_expectRoute断言当前页面路径是否等于预期值
断言当前页面路径是否等于预期值
No parameter schema in public metadata yet.
page_expectVisible断言页面上是否存在可定位到的元素;支持 [index=N] 语法
断言页面上是否存在可定位到的元素;支持 [index=N] 语法
No parameter schema in public metadata yet.
page_expectElementText断言元素文本是否等于或包含预期值;支持 [index=N] 语法
断言元素文本是否等于或包含预期值;支持 [index=N] 语法
No parameter schema in public metadata yet.
page_expectCount断言页面上匹配选择器的元素数量是否等于预期值
断言页面上匹配选择器的元素数量是否等于预期值
No parameter schema in public metadata yet.
page_expectData断言当前页面指定 data 路径的值是否与预期相等
断言当前页面指定 data 路径的值是否与预期相等
No parameter schema in public metadata yet.
page_snapshot返回当前页面的轻量结构快照,聚合 route、query、指定 data 路径和值,以及关键选择器的元素摘要
返回当前页面的轻量结构快照,聚合 route、query、指定 data 路径和值,以及关键选择器的元素摘要
No parameter schema in public metadata yet.
page_getData获取当前页面的数据对象,可选择指定子数据路径
获取当前页面的数据对象,可选择指定子数据路径
No parameter schema in public metadata yet.
page_setData使用 setData 更新当前页面的数据
使用 setData 更新当前页面的数据
No parameter schema in public metadata yet.
page_callMethod调用当前页面实例上暴露的方法
调用当前页面实例上暴露的方法
No parameter schema in public metadata yet.
element_tap通过 CSS 选择器模拟点击 WXML 元素;支持 [index=N] 语法
通过 CSS 选择器模拟点击 WXML 元素;支持 [index=N] 语法
No parameter schema in public metadata yet.
element_touch对元素执行真实触摸事件;支持 start / move / end / sequence 四种模式
对元素执行真实触摸事件;支持 start / move / end / sequence 四种模式
No parameter schema in public metadata yet.
element_swipe对元素执行真实滑动手势;支持 up / down / left / right,可指定距离和持续时间
对元素执行真实滑动手势;支持 up / down / left / right,可指定距离和持续时间
No parameter schema in public metadata yet.
element_input向元素输入文本(适用于 input 和 textarea 组件)
向元素输入文本(适用于 input 和 textarea 组件)
No parameter schema in public metadata yet.
element_callMethod调用自定义组件实例的方法
调用自定义组件实例的方法
No parameter schema in public metadata yet.
element_getData获取自定义组件实例的渲染数据
获取自定义组件实例的渲染数据
No parameter schema in public metadata yet.
element_setData设置自定义组件实例的渲染数据
设置自定义组件实例的渲染数据
No parameter schema in public metadata yet.
element_getInnerElement获取元素内的元素(相当于 element.$(selector)),返回元素摘要信息
获取元素内的元素(相当于 element.$(selector)),返回元素摘要信息
No parameter schema in public metadata yet.
element_getInnerElements获取元素内的元素数组(相当于 element.$$(selector)),返回元素摘要信息
获取元素内的元素数组(相当于 element.$$(selector)),返回元素摘要信息
No parameter schema in public metadata yet.
element_getWxml获取元素 WXML(内部或外部)
获取元素 WXML(内部或外部)
No parameter schema in public metadata yet.
element_getStyles获取元素的 CSS 样式值,names 参数为样式名数组
获取元素的 CSS 样式值,names 参数为样式名数组
No parameter schema in public metadata yet.
element_scrollTo滚动 scroll-view 组件到指定位置(x, y)
滚动 scroll-view 组件到指定位置(x, y)
No parameter schema in public metadata yet.
element_getAttributes获取元素的特性值,names 参数为特性名数组
获取元素的特性值,names 参数为特性名数组
No parameter schema in public metadata yet.
element_getBoundingClientRect获取元素相对于视口的边界矩形信息,考虑 CSS transform 变换(目前仅支持 ID 选择器、类选择器)
获取元素相对于视口的边界矩形信息,考虑 CSS transform 变换(目前仅支持 ID 选择器、类选择器)
No parameter schema in public metadata yet.
Sponsors
Configuration
WEAPP_WS_ENDPOINTAutomation WebSocket endpoint for the 'connect' flow (e.g. ws://localhost:9420). When a local endpoint is not listening and auto-launch is enabled, mp_ensureConnection may start DevTools if it can resolve a project.
WEAPP_AUTOMATOR_MODEForce 'launch' or 'connect' mode. Defaults to 'launch' unless WEAPP_WS_ENDPOINT is set.
WEAPP_PROJECT_PATHOptional Mini Program project directory used by launch and local auto-launch flows. The server can also resolve a persisted default, a recent project, or the current working directory.
WECHAT_DEVTOOLS_CLI_PATHOptional override for the WeChat DevTools CLI binary path (e.g. /Applications/wechatwebdevtools.app/Contents/MacOS/cli on macOS).
WEAPP_DEVTOOLS_PORTAutomation websocket port passed to 'cli auto --auto-port' in launch mode (default 9420).
WEAPP_DEVTOOLS_TIMEOUTMilliseconds passed to miniprogram-automator when launching WeChat DevTools.
WEAPP_AUTO_ACCOUNTsecretOptional account passed to miniprogram-automator launch.
WEAPP_DEVTOOLS_TICKETsecretOptional DevTools launch ticket.
WEAPP_TRUST_PROJECTWhether launch mode should trust the project. Accepts true/false, 1/0, yes/no, or on/off.
WEAPP_DEVTOOLS_ARGSAdditional whitespace-separated CLI arguments passed during launch.
WEAPP_DEVTOOLS_CWDOptional working directory passed to the DevTools launch process.
WEAPP_AUTOCLOSEWhether to close or disconnect the automator session after each tool call. Accepts true/false, 1/0, yes/no, or on/off.
WEAPP_AUTOLAUNCHAllow mp_ensureConnection to launch local WeChat DevTools with cli auto when the configured local automation port is not listening. Defaults to enabled; set false to disable.
WEAPP_LAUNCH_TIMEOUTMilliseconds to wait for a locally auto-launched automation port (default 45000).
WEAPP_CONNECT_TIMEOUTMilliseconds to wait for an automator websocket connection (default 45000).
Readme
weapp-agent-mcp
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
Details
- Repository
- github.com/chaixueyuan/weapp-agent-mcp
- Categories
- AI & LLM Tools, Automation & Workflows
- Package
@chaixueyuan/weapp-agent-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active