This is a Model Context Protocol (MCP) server that connects to WeChat Developer Tools via miniprogram-automator. It allows you to control the IDE and the mini-program from an MCP client (like Claude Desktop or an AI agent).
- Node.js: Version 18+ is recommended (though it may work on older versions with some polyfills, this project is set up for modern Node).
- WeChat Developer Tools: Must be installed and running.
- Enable Automation: In WeChat Developer Tools, go to Settings -> Security Settings and enable Service Port (CLI/HTTP invocation).
Add the following to your claude_desktop_config.json (e.g., ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"wechat-devtools": {
"command": "npx",
"args": [
"-y",
"wechat-dev-mcp"
]
}
}
}To install globally:
npm install -g wechat-dev-mcpThen configure:
{
"mcpServers": {
"wechat-devtools": {
"command": "wechat-dev-mcp",
"args": []
}
}
}- Clone the repository
- Install dependencies:
npm install
- Build and run locally:
node index.js
- Configure Claude Desktop to point to your local file:
{ "mcpServers": { "wechat-devtools": { "command": "node", "args": ["/absolute/path/to/wechat-dev-mcp/index.js"] } } }
launch: Launch and connect to a mini-program project.projectPath: Absolute path to the project.cliPath: (Optional) Path to the DevTools CLI.
connect: Connect to an already running DevTools instance.wsEndpoint: WebSocket endpoint (e.g.,ws://localhost:9420).
navigate_to: Navigate to a page (e.g.,/pages/index/index).get_page_data: Get data from the current page.set_page_data: Set data on the current page.get_element: Get element's text, attributes, or style.tap_element: Tap (click) an element.input_text: Input text into an element.trigger_event: Trigger a custom event on an element.call_method: Call a method on the current page instance.evaluate: Execute arbitrary JavaScript in the AppService context.call_cloud_function: Call a WeChat Cloud Function (wx.cloud.callFunction).build_npm: Build NPM dependencies (CLIbuild-npm).cloud_functions_deploy: Deploy cloud functions (CLIcloud functions deploy).cloud_functions_list: List cloud functions (CLIcloud functions list).disconnect: Disconnect automation.
To ensure the best experience when using this server with an AI Agent (like Cursor or Windsurf), we recommend adding the following rules to your project's .cursorrules or system prompt:
ALWAYS run the `wechat-devtools_check_health` tool after making ANY changes to the codebase (editing files, creating files, etc.).
1. If `check_health` shows console errors, YOU MUST fix them immediately.
2. If `check_health` shows the page path is not what you expect, navigate to the correct page.
3. If `check_health` fails (not connected), you MUST run `wechat-devtools_launch` or `connect`.- Connection Refused: Ensure WeChat Developer Tools is running and the Service Port is enabled in Settings.
- Path Issues: Use absolute paths for
projectPath.