chaixueyuan avatar

Weapp Agent Mcp

chaixueyuan/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 tools

Public 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_ENDPOINT

Automation 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_MODE

Force 'launch' or 'connect' mode. Defaults to 'launch' unless WEAPP_WS_ENDPOINT is set.

WEAPP_PROJECT_PATH

Optional 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_PATH

Optional override for the WeChat DevTools CLI binary path (e.g. /Applications/wechatwebdevtools.app/Contents/MacOS/cli on macOS).

WEAPP_DEVTOOLS_PORT

Automation websocket port passed to 'cli auto --auto-port' in launch mode (default 9420).

WEAPP_DEVTOOLS_TIMEOUT

Milliseconds passed to miniprogram-automator when launching WeChat DevTools.

WEAPP_AUTO_ACCOUNTsecret

Optional account passed to miniprogram-automator launch.

WEAPP_DEVTOOLS_TICKETsecret

Optional DevTools launch ticket.

WEAPP_TRUST_PROJECT

Whether launch mode should trust the project. Accepts true/false, 1/0, yes/no, or on/off.

WEAPP_DEVTOOLS_ARGS

Additional whitespace-separated CLI arguments passed during launch.

WEAPP_DEVTOOLS_CWD

Optional working directory passed to the DevTools launch process.

WEAPP_AUTOCLOSE

Whether to close or disconnect the automator session after each tool call. Accepts true/false, 1/0, yes/no, or on/off.

WEAPP_AUTOLAUNCH

Allow 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_TIMEOUT

Milliseconds to wait for a locally auto-launched automation port (default 45000).

WEAPP_CONNECT_TIMEOUT

Milliseconds to wait for an automator websocket connection (default 45000).

Readme

weapp-agent-mcp

npm version npm downloads license 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


View the full README on GitHub

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

Related AI & LLM Tools MCP servers

View all
1keshrath avatarAgent Taskskeshrath/agent-tasksPipeline task management for AI agents - stages, dependencies, artifacts, claiming22stars
2knewstimek avataragent-toolknewstimek/agent-toolEncoding-aware, indentation-smart file tools for AI coding agents with SSH, SFTP, and 20+ tools.18stars
3neverinfamous avatarMemory Journal Mcpneverinfamous/memory-journal-mcpDeveloper journal with knowledge graphs, relationships, Git context, and semantic search17stars
4back1ply avatarAgent Skill Loaderback1ply/agent-skill-loaderDynamically load Claude Code skills into AI agents without copying files.15stars
5michael-denyer avatarHot Memory Mcpmichael-denyer/memory-mcpTwo-tier memory: hot cache (0ms) + semantic search. Self-organizing.15stars
6neverlow512 avatarAgent Droid Bridgeneverlow512/agent-droid-bridgeMCP server giving AI agents eyes and hands inside Android devices via ADB15stars