Skip to main content
Glama
WaterTian

wechat-devtools-mcp

by WaterTian

MCP-сервер WeChat DevTools (v0.9.15)

PyPI version MCP Registry License: MIT English

Обёртка CLI WeChat DevTools в виде сервиса MCP (Model Context Protocol), позволяющая ИИ в редакторе напрямую вызывать команды WeChat CLI и реализовать полный цикл разработки, тестирования, отладки и автоматизации мини-программ.

[!IMPORTANT] Проект построен по архитектуре «тонкий MCP + полный Skill»: MCP-сервер предоставляет 7 агрегированных API, а сопутствующий wechat-devtools Skill — SOP-процедуры, справочник параметров и лучшие практики. Оба компонента обязательны к совместному использованию — без Skill ИИ не сможет корректно работать с мини-программой.

Опубликован в официальный MCP Registry, поддерживает кроссплатформенную установку в один клик (Windows / macOS).


🌐 English Documentation →


🚀 Установка и быстрое начало

Шаг 1 — Установка MCP-сервера

Рекомендуется использовать uv — он автоматически обрабатывает зависимости Python и предоставляет изолированную среду выполнения.

pip install uv                                  # 安装 uv(如已安装可跳过)
uv tool install wechat-devtools-mcp --force     # 一键安装到全局隔离环境

[!WARNING] Если ранее вы устанавливали старую версию через pip install, сначала удалите её, чтобы избежать конфликта версий:

pip uninstall wechat-devtools-mcp

Путь pip install (например, Python313/Scripts/) может иметь приоритет над путём uv tool install (~/.local/bin/), из-за чего будет запускаться старая версия. Текущую версию можно проверить по полю mcp_version, возвращаемому wechat_ide(action='status').

[!WARNING] Совместимость версий: версии ≥0.9.11 поддерживают mcp 1.x и 2.x (объявление зависимости mcp[cli]>=1.9,<3). Версии ≤0.9.10 несовместимы с mcp ≥2.0 (при новой установке возникает ошибка ModuleNotFoundError: mcp.server.fastmcp, см. #9) — пользователям закреплённых версий следует обновиться до ≥0.9.11 или добавить --with "mcp<2" при установке.

[!TIP]

  • Проверка фактически запущенной версии (≥0.9.13):

    wechat-devtools-mcp --version    # 零依赖打印实际安装版本;uvx 复用已装环境不自拉最新,此命令可直接确认
    uv tool list | grep wechat       # 离线确认已安装版本
  • Обновление инструмента: если редактор запускает MCP-сервис, сначала завершите процесс, затем обновите:

    # Bash / CMD
    taskkill /F /IM "wechat-devtools-mcp*" 2>/dev/null; uv tool upgrade wechat-devtools-mcp
    # Windows PowerShell
    Get-Process | Where-Object { $_.ProcessName -like "*wechat-devtools*" } | Stop-Process -Force
    uv tool upgrade wechat-devtools-mcp
  • Обновление в один клик через агента:

    taskkill /F /IM "wechat-devtools-mcp*" 2>/dev/null; uv tool upgrade wechat-devtools-mcp && npx -y skills add WaterTian/wechat-devtools-mcp/.agents/skills/wechat-devtools

Шаг 2 — Включение порта сервиса DevTools

[!WARNING] Необходимо включить вручную, иначе ИИ не сможет отправлять команды.

Путь: DevToolsНастройкиПараметры безопасностиПорт сервисаВключить

💡 Проверить, включён ли порт, можно через wechat_ide(action='status') — если возвращается ошибка подключения, порт сервиса ещё не включён.

Шаг 3 — Уточнение необходимых путей

Заранее получите следующие два абсолютных пути — они понадобятся для настройки редактора:

Путь

Пример для Windows

Пример для macOS

CLI WeChat DevTools

C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat

/Applications/wechatwebdevtools.app/Contents/MacOS/cli

Корневой каталог проекта мини-программы

D:\MyProjects\mini-app

/Users/<you>/Projects/mini-app

Пользователям macOS: в JSON-конфигурации экранировать слэши (/) не нужно; пользователям Windows нужно записывать \ как \\.

Шаг 4 — Настройка редактора

Измените claude_desktop_config.json или mcp_config.json (Antigravity):

{
  "mcpServers": {
    "wechat-devtools": {
      "command": "uvx",
      "args": ["wechat-devtools-mcp"],
      "env": {
        "WECHAT_DEVTOOLS_CLI": "C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
        "WECHAT_PROJECT_PATH": "D:\\Your\\Project\\Path"
      }
    }
  }
}

Отредактируйте ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "wechat-devtools": {
      "command": "uvx",
      "args": ["wechat-devtools-mcp"],
      "env": {
        "WECHAT_DEVTOOLS_CLI": "C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
        "WECHAT_PROJECT_PATH": "D:\\Your\\Project\\Path",
        "PYTHONIOENCODING": "utf-8"
      },
      "autoApprove": [
        "wechat_ide", "wechat_build", "wechat_automator", "wechat_inspector",
        "wechat_screenshot", "wechat_navigate", "wechat_file"
      ]
    }
  }
}

Отредактируйте ~/.codex/config.toml (глобально) или .codex/config.toml (на уровне проекта):

[mcp_servers.wechat-devtools]
command = "uvx"
args = ["wechat-devtools-mcp"]

[mcp_servers.wechat-devtools.env]
WECHAT_DEVTOOLS_CLI = "C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat"
WECHAT_PROJECT_PATH = "D:\\Your\\Project\\Path"

Также можно быстро добавить через CLI:

codex mcp add wechat-devtools \
  --env WECHAT_DEVTOOLS_CLI="C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat" \
  --env WECHAT_PROJECT_PATH="D:\\Your\\Project\\Path" \
  -- uvx wechat-devtools-mcp

Добавьте новый сервер в консоли MCP:

  • Name: wechat-devtools

  • Type: command

  • Command: uvx wechat-devtools-mcp

  • Environment Variables: добавьте WECHAT_DEVTOOLS_CLI и WECHAT_PROJECT_PATH, как указано выше

В Windows обратную косую черту в путях нужно экранировать (\\).

Если вы используете Claude Code для разработки в репозитории мини-программы, можно создать файл .mcp.json на уровне проекта (он автоматически следует за репозиторием и действует для всех соавторов).

Windows.mcp.json в корне репозитория:

{
  "mcpServers": {
    "wechat-devtools": {
      "command": "uvx",
      "args": ["wechat-devtools-mcp"],
      "env": {
        "WECHAT_DEVTOOLS_CLI": "C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
        "WECHAT_PROJECT_PATH": "D:\\Your\\Project\\Path"
      }
    }
  }
}

macOS.mcp.json в корне репозитория:

{
  "mcpServers": {
    "wechat-devtools": {
      "command": "/opt/homebrew/bin/uvx",
      "args": ["wechat-devtools-mcp"],
      "env": {
        "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",
        "WECHAT_DEVTOOLS_CLI": "/Applications/wechatwebdevtools.app/Contents/MacOS/cli",
        "WECHAT_PROJECT_PATH": "/Users/<you>/WeChatProjects/<project>",
        "NODE_PATH": "/opt/homebrew/bin/node"
      }
    }
  }
}

Три ключевых отличия для macOS:

  • command должен использовать абсолютный путь /opt/homebrew/bin/uvx (при запуске дочерних процессов Claude Code PATH не содержит Homebrew)

  • env.PATH необходимо указывать явно (особенно важно при одновременной настройке MCP на базе npx, таких как cloudbase / chrome-devtools — иначе npx не найдёт Node из-за #!/usr/bin/env node)

  • NODE_PATH рекомендуется указывать явно как дополнительную страховку при запуске демона

При одновременной настройке нескольких MCP (cloudbase / chrome-devtools и т. д.) для каждого сервера применяется одинаковая схема: абсолютный путь в command и env.PATH.

Trae v1.3.0+ поддерживает MCP. Панель ИИ → Настройки в правом верхнем углу → MCP → Добавить → Настроить вручную, вставьте приведённый ниже JSON и сохраните.

Windows:

{
  "mcpServers": {
    "wechat-devtools": {
      "command": "uvx",
      "args": ["wechat-devtools-mcp"],
      "env": {
        "WECHAT_DEVTOOLS_CLI": "C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
        "WECHAT_PROJECT_PATH": "D:\\Your\\Project\\Path"
      }
    }
  }
}

macOS:

{
  "mcpServers": {
    "wechat-devtools": {
      "command": "/opt/homebrew/bin/uvx",
      "args": ["wechat-devtools-mcp"],
      "env": {
        "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",
        "WECHAT_DEVTOOLS_CLI": "/Applications/wechatwebdevtools.app/Contents/MacOS/cli",
        "WECHAT_PROJECT_PATH": "/Users/<you>/WeChatProjects/<project>",
        "NODE_PATH": "/opt/homebrew/bin/node"
      }
    }
  }
}

Можно также отредактировать файл конфигурации напрямую:

  • Windows: %APPDATA%\Trae\User\globalStorage\mcp.json

  • macOS: ~/Library/Application Support/Trae/User/globalStorage/mcp.json

[!IMPORTANT] В окне чата обязательно выберите агента «Builder with MCP» — обычные агенты не вызывают инструменты MCP. Рекомендуется также установить wechat-devtools Skill (Шаг 5), чтобы ИИ вызывал инструменты в порядке SOP.

Шаг 5 — Установка Skill (обязательно)

[!IMPORTANT] Этот MCP обязательно должен использоваться вместе с wechat-devtools Skill. Skill содержит все SOP-процедуры, справочник параметров и руководство по устранению неполадок, необходимые ИИ для работы с мини-программой. Без установленного Skill ИИ сможет вызывать только «голые» API и не сможет автоматически выполнять стандартизированные процедуры тестирования и отладки.

Способ 1: npx skills add (для пользователей Claude Code)

npx -y skills add WaterTian/wechat-devtools-mcp/.agents/skills/wechat-devtools

Будет установлено в ~/.claude/skills/, Claude Code загрузит автоматически.

Способ 2: вручную в .agents/skills/ (для клиентов, загружающих из .agents/skills/, например Trae)

Выполните в корневом каталоге проекта мини-программы:

git clone --depth 1 https://github.com/WaterTian/wechat-devtools-mcp.git .wdm-tmp
mkdir -p .agents/skills
cp -r .wdm-tmp/.agents/skills/wechat-devtools .agents/skills/
rm -rf .wdm-tmp

Структура каталогов после завершения:

your-project/
└── .agents/skills/
    └── wechat-devtools/
        ├── SKILL.md                # 主指令文件(SOP + 能力映射 + 红线规则)
        └── references/
            └── tool_reference.md   # 7 个聚合 API 完整参数参考

[!TIP] Пользователям Trae: убедитесь, что переключатель Настройки → Навыки и команды → Включить каталог навыков .agents включён (по умолчанию включён). После сохранения обновите страницу — в разделе «Навыки → Проект» появится wechat-devtools.


Related MCP server: harmony-mcp

🛠️ Обзор инструментов

MCP-сервер предоставляет 7 агрегированных инструментов, покрывающих весь жизненный цикл мини-программы:

Инструмент

Функция

Поддерживаемые action

wechat_ide

Управление жизненным циклом IDE

open login is_login close quit status

wechat_build

Сборка и публикация

compile preview upload build_npm cache_clean

wechat_automator

Автоматизированное взаимодействие

start tap input element_info set_data call_method call_wx mock_wx evaluate page_stack page_data system_info storage

wechat_inspector

Сбор журналов времени выполнения

console cdp

wechat_screenshot

Снимки экрана (склейка длинных изображений)

wechat_navigate

Переход на страницу и сбор CDP-журналов

wechat_file

Чтение файлов проекта

project_info list_pages read_page read_file

Для управления облачными функциями и облачной базой данных используйте CloudBase MCP (manageFunctions / readNoSqlDatabaseContent и т. д.) — функциональность полнее и нет зависимости от IDE. wechat_cloud отключён начиная с v0.9.5.

Полное описание параметров инструментов см. в MCP_DOC.md


🧠 Содержание Skill

Skill позволяет ИИ после получения команды на естественном языке автоматически подбирать и выполнять стандартизированные процедуры:

Что вы говорите

Процедура, выполняемая ИИ

«Проверь все страницы на ошибки»

SOP D — проверка всех страниц

«Нажми кнопку входа, сделай скриншот»

SOP B — отладка UI

«Страница белая, помоги разобраться»

SOP C — устранение неполадок

«Замокай платёжный интерфейс, протестируй платёжный процесс»

SOP E — интеграционное тестирование с Mock

«Протестируй страницу деталей, как называется параметр»

SOP G — тестирование подстраниц

«Сравни, совпадают ли баллы на разных страницах»

SOP I — проверка данных между страницами

Что входит в Skill

  • 9 SOP-процедур — инициализация, отладка UI, устранение неполадок, проверка всех страниц, интеграционное тестирование с Mock, сетевая отладка и адаптация UI, тестирование подстраниц, проверка данных между страницами, параллельное сравнение данных

  • Словарь сопоставления возможностей — быстрый индекс 7 агрегированных инструментов × все action

  • Стратегия поэтапного поиска CDP — concise → full, два этапа для контроля расхода токенов

  • Полный справочник параметров — обязательные/необязательные параметры каждого action, примеры возвращаемых значений, часто используемые шаблоны

  • Руководство по устранению неполадок — распространённые коды ошибок и способы их исправления

Способ установки см. в Шаг 5 — Установка Skill


💡 Переменные окружения

Имя переменной

Описание

Значение по умолчанию

Обязательна

WECHAT_DEVTOOLS_CLI

Путь к CLI WeChat DevTools

Да

WECHAT_PROJECT_PATH

Абсолютный путь к проекту мини-программы по умолчанию

Да

WECHAT_CLI_TIMEOUT

Тайм-аут команд CLI (секунды)

30

Нет

NODE_PATH

Путь к исполняемому файлу Node.js

node

Нет


❓ Часто задаваемые вопросы

Самая частая причина: не включён «порт сервиса» WeChat DevTools. Откройте НастройкиБезопасностьПорт сервиса и включите его. После включения перезапуск IDE не требуется — ИИ сразу восстановит подключение.

Если вы открыли DevTools вручную, он может не прослушивать порт отладки. Закройте DevTools и дайте ИИ выполнить wechat_ide(action='open', cdp_enabled=True) для запуска в режиме отладки.

MCP-сервис в редакторе всё ещё работает. См. подсказку по обновлению под Шагом 1 — сначала завершите процесс, затем обновите.

Возможно, старая версия, установленная через pip install, имеет более высокий приоритет. Выполните pip uninstall wechat-devtools-mcp для удаления старой версии, затем проверьте через wechat_ide(action='status'), что поле mcp_version содержит актуальную версию.

Убедитесь, что в env конфигурации редактора в WECHAT_DEVTOOLS_CLI указан абсолютный путь:

  • Windows: используйте двойную обратную косую черту (например, C:\\...\\cli.bat)

  • macOS: стандартный путь /Applications/wechatwebdevtools.app/Contents/MacOS/cli, слэши экранировать не нужно

При запуске MCP из GUI-клиента (например, Claude Desktop) PATH может не содержать /opt/homebrew/bin. Начиная с MCP v0.9.6 автоматически проверяется стандартный путь Homebrew; если это не помогло, укажите его явно в env:

"NODE_PATH": "/opt/homebrew/bin/node"

📋 История версий

版本

说明

0.9.15

Адаптация под DevTools 2.x (Electron) + исправление давнего сбоя сбора CDP: DevTools 2.x перешёл на Electron (1.06.x Stable по-прежнему на NW.js, двойная совместимость без замены). Путь запуска на macOS определяется автоматически по наличию Resources/package.nw, рантайм читается из CFBundleExecutable в Info.plist, kill-режим использует путь пакета .app — старый режим не находил процесс Electron, из-за чего wechat_ide(action='open') с параметрами по умолчанию на macOS был полностью неработоспособен; 2.x больше не распознаёт флаг --project из командной строки, вместо этого сначала запускается процесс с CDP, а затем проект открывается через CLI, причём продолжение выполняется только после готовности обоих портов — CDP и сервисного порта IDE (иначе CLI поднимет отдельный экземпляр без CDP, и получится ложный успех «проект открыт, но CDP не подключается»). Исправлено, что wechat_inspector(action='cdp') с v0.9.0 неизменно возвращал 0 записей — daemon кладёт результат в data, а inspector читал несуществующий logs, из-за чего самый используемый инструмент отладки молча не работал 8 минорных версий. Лимит потока daemon поднят с дефолтных 64 КиБ asyncio до 16 МиБ (при сборе на 2.x за 6 секунд реально 634 КиБ, при превышении лимита все результаты молча отбрасывались). Фильтрация шума CDP адаптирована под структуру target в 2.x, отсекаются новые страницы-оболочки IDE и просочившиеся из-за type=webview devtools:// (по факту 734 записи → 206). Определение порта IDE переведено на чтение файла .ide, который IDE кладёт на диск (жёстко зашитые кандидаты портов на 2.x не угадываются вовсе); в status добавлены service_port_enabled (главная причина CLI_TIMEOUT, теперь можно самодиагностировать) и ide_port; у wechat_ide / wechat_build появился параметр cdp_port (9222 часто занят Chrome)

0.9.14

Исправление путей чтения файлов + исправление неработающих параметров: wechat_file в read_page/read_file переведён на ту же логику, что и list_pages (сначала разбор miniprogramRoot из project.config.json, затем откат к корню проекта) — раньше в облачных проектах pages/xxx/index, возвращаемый list_pages, при передаче в read_page гарантированно давал «файл страницы не найден», страдал первый шаг SOP G; при наличии одноимённого файла в обоих корнях добавлено честное уведомление also_found_at, а project.config.json всегда берётся авторитетная копия из корня проекта; read_page возвращает resolved_base, read_fileresolved_path. В wechat_inspector(action='cdp') добавлена передача cdp_port (раньше параметр был фиктивным и всегда подключался к 9222). subprocess.CREATE_NO_WINDOW везде заменён на getattr с запасным вариантом, устранена угроза AttributeError на не-Windows платформах

0.9.13

Ранний выход по --version + исправление сверки документации: wechat-devtools-mcp --version / -V печатает установленную версию без зависимостей и сразу выходит (uvx переиспользует уже установленное окружение и не тянет свежую версию, одной командой можно подтвердить фактическую версию); исправления документации: в таблице параметров navigate 5 колонок со сдвигом, название меню 设置 -> 安全设置, пример mcp_version без привязки к версии; дописаны result_output у wechat_ide и timeout у wechat_navigate (не попадали в документацию с v0.6.0); в SKILL.md в шаг 1 добавлена строка самопроверки согласованности версий skill/MCP

0.9.12

Версия в ответе рукопожатия + верхняя граница зависимостей: в mcp 2.x serverInfo.version в initialize изменён с пустой строки на версию пакета (в 1.x по-прежнему сообщается версия SDK, у SDK нет параметра для переопределения); для зависимостей задана верхняя граница mcp[cli]>=1.9,<3 для защиты от будущих крупных версий mcp; импорты для двух версий сведены в _compat.py (#9 #10)

0.9.11

Совместимость с mcp 2.0.0: официальный Python SDK MCP 2.0 (выпущен 2026-07-28) удалил mcp.server.fastmcp (переименован в MCPServer), из-за чего у новых установок сервер падал сразу при старте; все импорты переведены на двойную совместимость 1.x/2.x; зависимость явно указана как mcp[cli]>=1.9 (#8)

0.9.10

Исправление тихого сбоя page_path: screenshot.js после навигации проверяет соответствие пути страницы, при отсутствии суффикса /index или несуществующей странице возвращает явную ошибку, а не молча снимает старую страницу; в node_bridge.py исправлена потеря сообщений об ошибках обработчика daemon (#5)

0.9.9

Исправление перезапуска мини-программы после скриншота: в screenshot.js навигация для не-TabBar страниц изменена с reLaunch (уничтожает весь стек страниц) на navigateTo (неразрушающий push), исправлен сброс симулятора после скриншота на macOS (#4)

0.9.8

Исправление стабильности подключения automator: проверка работоспособности currentPage() в daemon.js переведена на опрос с повторами (5 раз × 3с+1.5с для нового подключения), установленное WebSocket-соединение больше не отбрасывается из-за медленной загрузки страницы; _action_start переведён на _run_cli с синхронной проверкой кода возврата CLI, сбой CLI обнаруживается немедленно (#3)

0.9.7

Исправление остаточных осиротевших процессов daemon: в daemon.js добавлен watchdog родительского процесса, каждые 5 секунд проверяется process.kill(ppid, 0), при убийстве родительского процесса автоматически закрываются WS-соединения и выполняется выход (#2)

0.9.6

Адаптация под macOS: кроссплатформенный запуск в режиме cdp_enabled=true (главный исполняемый файл NW.js wechatdevtools + входная точка package.nw + очистка через pkill); путь CLI по умолчанию возвращается по платформе; в определение Node.js добавлены кандидатные пути Homebrew/nvm; в README добавлены примеры путей для macOS

0.9.5

Исправление скрытого бага с вечно неудачной проверкой работоспособности compile (в ui_debug.js нет action page_stack, с v0.9.0 automator_verified ошибочно показывал false); для фатальных паттернов compile, таких как EACCES/EADDRINUSE/#initialize-error, выполняется понижение до fail, исключён «ложный успех с публикацией старого bundle»; preview автоматически разрешает относительные пути + проверка свежести по mtime; wechat_automator(action='start') обновлён до двойной проверки TCP+WS + точное ожидание через retry_after_ms; перед compile выдаётся предупреждение об устаревшем miniprogram_npm; при исключении за короткий duration inspector выдаёт предупреждение; инструмент wechat_cloud отключён (вместо него используется CloudBase MCP)

0.9.4

Исправлено, что switchTab не срабатывал (заменено на miniProgram.switchTab() вместо callWxMethod); стабильность переподключения после compile (убраны лишние процессы + задержка 3с + проверка работоспособности WS); в README 5 улучшений для агентов

Версия

Описание

0.9.3

В status добавлено поле mcp_version для подтверждения версии; при запуске выводится номер версии в stderr; в README добавлено руководство по устранению конфликтов версий pip/uv

0.9.2

Исправлен таймаут navigate после compile: добавлена защита таймаута 3s при проверке здоровья соединения daemon; после compile автоматически инвалидируется старое кэшированное соединение и выполняется переподключение; при опросе currentPage в navigate добавлен отдельный таймаут 2s на каждый вызов; различаются коды ошибок HEALTH_CHECK_TIMEOUT и CONNECTION_ERROR

0.9.1

Исправлен сбой AttributeError при cdp_enabled=true; добавлен сбор ошибок времени выполнения WXML (после compile CDP автоматически перехватывает предупреждения, такие как template not found)

0.9.0

Постоянная архитектура Node daemon: один постоянный процесс daemon, обмен по протоколу NDJSON, WS-соединения переиспользуются по портам; один daemon.bundle.js заменяет 8 отдельных bundle; задержка вызова инструментов снижена с 500ms+ до ~3ms; после compile daemon автоматически пересоздаёт соединение без разрывов

0.8.0

Автоматическое переподключение automator после compile; navigate автоматически определяет страницы TabBar и использует switchTab; в screenshot добавлены параметры full_page/scroll_top/page_path и режим снимка области просмотра; в page_data добавлен опрос expected_path для защиты от устаревших данных; динамический шаг при склейке длинных изображений исправляет пропуски содержимого; node_bridge унифицирует повторные попытки при разрыве соединения + интервал вызова 500ms; проверка порта start увеличена до 20 раз

0.7.0

Исправлена область видимости переменных navigate (currentPageTimeout); evaluate поддерживает объявления (const/let/var fallback); call_method возвращает путь текущей страницы; automator start использует опрос порта вместо слепого ожидания; в SKILL.md добавлены принципы эффективности, уровни восстановления, методы перехода между страницами, 6 записей о неисправностях

0.6.0

navigate поддерживает параметр query (fallback при таймауте reLaunch); фильтрация шума при запуске CDP (подавление console.assert/__route__/ide:// + защита от ошибок WXML); возвращаемое значение compile разделено на три категории + предупреждение о неработоспособности automator; повторные попытки опроса currentPage в navigate; настраиваемые таймауты

0.5.1

wechat_ide(action='open') добавлена проверка здоровья при запуске CDP: автоматически собираются логи CDP за 5 секунд для обнаружения фатальных ошибок на этапе запуска; при наличии ошибок сразу возвращается сбой, блокируя последующие операции

0.5.0

Всесторонняя оптимизация Skill SOP: добавлены SOP I/J; добавлены проверка AppID и валидация path; фильтрация шума CDP; исправлено нечёткое сопоставление при склейке скриншотов

0.4.1

Переписана склейка длинных страниц скриншотов: обнаружение фиксированных областей, адаптация к DPR, динамический расчёт перекрытий

0.4.0

Улучшены логи CDP, автоматическая проверка развёртывания облачных функций, интеллектуальная диагностика navigate, добавлены SOP G/H

0.3.0

Крупный рефакторинг: 44 инструмента объединены в 8 API; логи CDP v2; добавлена база знаний SKILL.md

0.2.6

В README добавлено описание конфигурации OpenAI Codex

0.2.5

Добавлено описание конфигурации редактора Kiro

0.2.4

Исправлена склейка скриншотов при прокрутке: sharpjimp

0.2.3

Оптимизация пакета: исключён исходный код scripts/, оставлены только артефакты сборки dist/

0.2.2

Скрипты Node.js переведены в режим bundle-only

0.2.1

Обновление версии и улучшение документации

0.2.0

navigate переведён на сбор высококачественных логов CDP

0.1.9

Исправлена проблема с кодировкой UTF-8 (кракозябры)

0.1.8

Исправлена ошибка UnicodeDecodeError для китайских путей в Windows

0.1.7

Добавлены пресеты наборов инструментов core/full; добавлен MCP_DOC.md

0.1.6

wechat_open(cdp_enabled=true) автоматически завершает существующие процессы

0.1.5

Исправлена проблема блокировки stdio в Windows

0.1.4

Добавлены функции: логи CDP, скриншоты, автоматизация и др.

0.1.3

Начальная версия


Справочная документация


Лицензия

MIT

Available Tools

7 tools
wechat_automatorC

小程序自动化交互与运行时查询。 支持 action: start(开启自动化), tap(点击), input(输入), element_info(元素信息), set_data(设置数据), call_method(调用方法), call_wx(调用wx API), mock_wx(Mock wx), evaluate(执行JS), page_stack(页面栈), page_data(页面数据), system_info(系统信息), storage(缓存)。 返回 JSON: {success, data, message, error_code?}。

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

注解均为中性false值,未提供安全画像,描述需要承担完整的副作用披露责任。描述补充了返回JSON结构,但未说明tap/input/set_data等操作可能产生的状态变更、是否需要先执行start,或是否存在权限/运行环境要求,透明性不足。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

描述结构紧凑、信息密度高:先总述功能,再以冒号分隔列出动作清单,最后给出返回格式,没有冗余或无效信息,且关键的总述放在最前。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

该工具包含13种action和多个依赖参数,动作间存在耦合关系(如start需要project_path,tap需要selector),而描述只是动作清单,没有阐述各动作的使用场景、先决条件或副作用。即使schema提供了部分属性描述,整体描述对一个高复杂度多动作工具仍然不够完整。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

顶层params参数在schema中无描述,覆盖率为0%;描述没有对params结构或任何属性进行补充说明,仅用括号标注了action的中文含义,无法补偿参数语义空白。描述没有帮助代理理解如何为不同的action组合正确的参数。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

描述以具体动词短语'小程序自动化交互与运行时查询'明确工具功能,并列出13种支持的动作及返回格式,使代理能识别这是用于微信小程序自动化交互与运行时查询的工具。但未明确与兄弟工具进行对比,因此不足以达到5分。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

描述仅列举了支持的动作,没有说明何时应使用该工具而不使用兄弟工具(如 wechat_inspector、wechat_screenshot),也没有提到使用条件或动作之间的先后顺序,缺少任何关于如何选择本工具的指导。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wechat_buildA
Idempotent

构建、预览、上传小程序及 npm 管理。 支持 action: compile(编译检查), preview(预览), upload(上传), build_npm(构建NPM), cache_clean(清缓存)。 返回 JSON: {success, data, message, error_code?}。

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide idempotentHint=true but no readOnlyHint or destructiveHint. The description states it returns a JSON structure, which adds behavioral context, and mentions that 'upload' requires 'version' (parameter semantics). However, the description does not disclose side effects, such as whether upload publishes to production, whether cache_clean is destructive, or authentication requirements. The idempotentHint is somewhat contradicted by non-idempotent actions like upload, though the description does not explicitly contradict the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose and action list, and ends with the return format. No wasted words; fits within a few lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a rich action enum and many parameters, the description covers the main actions and the return structure, but does not elaborate on prerequisites, side effects, or error handling. With 11 parameters and 5 actions, the description leaves about half the behavioral context to the schema and annotations. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the parameter descriptions in the schema are quite detailed (e.g., role of cdp_port, clean_type, version for upload). The tool description adds the grouping of actions and the JSON return shape, but most parameter explanations come from the schema itself, not the description. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action is a build/preview/upload tool for WeChat mini-programs and lists the specific actions it supports. It distinguishes itself from siblings by covering build-related operations, though it doesn't explicitly compare to sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage contexts (build operations, npm management) but does not provide explicit when-to-use or when-not-to-use guidance. It lacks alternatives or exclusions, though the action enum provides some guidance on what each action does.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wechat_fileA
Read-onlyIdempotent

读取小程序项目文件和结构信息。 支持 action: project_info(项目完整信息), list_pages(页面列表), read_page(读取页面源码), read_file(读取单个文件)。 返回 JSON: {success, data, message, error_code?}。

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the JSON return structure ({success, data, message, error_code?}) and enumerates the supported actions, which gives further behavioral clarity. No contradiction with annotations exists, and the description complements the safety profile without duplicating it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that front-loads the purpose, lists the actions, and states the return format. Every sentence contributes value, and there is no filler. It is concise and well-structured, though slightly compact for the amount of information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not detail return fields extensively, and it does provide the top-level JSON shape. However, it does not explain parameter relationships or optionality (e.g., which paths are required for which actions), which an agent would need to call the tool correctly. Given the tool's multi-action nature and optional parameters, this is a noticeable gap, though not critical for a read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the meaning of the 'action' enum values (project_info, list_pages, read_page, read_file) but does not clarify the roles of 'file_path', 'page_path', or 'project_path', nor the dependencies (e.g., read_page requires page_path). The schema provides descriptions for each field, but the context signal indicates 0% description coverage, meaning the tool description does not substitute for that. The description only partially compensates for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads WeChat mini program project files and structure, and lists four distinct actions (project_info, list_pages, read_page, read_file). This distinguishes it from sibling tools like wechat_navigate or wechat_screenshot, which have different purposes. The verb '读取' and resource '小程序项目文件' make the purpose explicit and unmistakeable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives, but the available actions imply its scope (reading project files). It does not mention exclusions or conditions that would steer an agent to a sibling tool. Context is clear but there is no comparative guidance, so it remains adequate rather than optimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wechat_ideB
Idempotent

微信开发者工具 IDE 生命周期管理。 支持 action: open(打开IDE/项目), login(扫码登录), is_login(检查登录), close(关闭项目), quit(退出IDE), status(环境诊断)。 返回 JSON: {success, data, message, error_code?}。

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint=true and destructiveHint=false, and the description does not contradict them. The description adds a return envelope format ({success, data, message, error_code?}) and action semantics, but it does not disclose side effects such as launching a GUI application, blocking on QR code scanning, or requiring the IDE to be installed/running. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences: the first states the overall purpose, the second lists actions and the return format. There is no filler, repetition, or unnecessary detail. The structure is front-loaded and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a multi-action tool with 10 parameters, and the description does not map parameters to specific actions (e.g., open requires project_path, login uses qr_format/result_output). It also omits prerequisites and likely failure modes. The one-line JSON envelope covers the output shape, but for a lifecycle manager of this complexity, the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool description only adds semantic meaning to the action enum by explaining what each action does. It says nothing about project_path, port, qr_format, qr_output, cdp_port, or result_output, which are all documented in the schema but not compensated for at the description level. Given schema_description_coverage is 0%, the description should carry more weight for parameters but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as WeChat Developer Tools IDE lifecycle management and enumerates six specific actions (open, login, is_login, close, quit, status) with brief semantic labels for each, such as '打开IDE/项目' and '扫码登录'. This makes it easy to distinguish from sibling tools like wechat_build or wechat_inspector, which target different aspects of the WeChat toolchain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus siblings. It does not mention alternatives, exclusions, prerequisites, or conditions such as 'use wechat_build for compilation' or 'use wechat_inspector for debugging'. The action list implies capability but does not help an agent decide between lifecycle management and other tool categories.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wechat_inspectorA
Read-onlyIdempotent

采集小程序运行时日志和异常。 支持 action: console(automator端口采集console日志和JS异常), cdp(通过CDP协议采集WXML警告、渲染层报错、废弃API提示等底层日志)。 cdp action 需先以 cdp_enabled=true 打开项目,确保端口 9222 可用。 返回 JSON: {success, data: {logs, summary}, message}。

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description adds concrete behavioral context: two acquisition protocols, the cdp pre-condition, and the JSON response envelope {success, data:{logs, summary}, message}. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, no filler; purpose is front-loaded and the action/prerequisite/return-format sections are each one line. Easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Between the description, detailed nested parameter docs, and the available output schema, an agent has what it needs to invoke either action. Minor gap: the cdp port prerequisite is stated as a fixed 9222 rather than tied to the cdp_port parameter, but the default matches.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all nested parameters with descriptions, including duration behavior and log_type. The description adds semantic value by explaining what each action value means and reiterating the cdp port requirement, which the bare schema enum does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with '采集小程序运行时日志和异常' – a specific verb and object. The two actions (console vs cdp) map to distinct log sources, which separates it from siblings like wechat_build or wechat_screenshot. No ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states that the cdp action requires opening the project with cdp_enabled=true and a usable port 9222, and separates what each action collects (console/JS exceptions vs WXML/render/deprecated-API logs). It does not name sibling alternatives or exclusions, but the internal action guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wechat_navigateA
Idempotent

跳转到指定页面,等待指定时间,通过 CDP 采集高清日志。 适用于页面生命周期日志检查(onLoad/onShow)、页面错误验证。 需先调用 wechat_automator(action='start') 并以 cdp_enabled=true 打开项目。 返回 JSON: {success, data: {current_page, cdp_logs}, message}。

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry idempotent/non-destructive flags, and the description adds the navigation-and-wait behavior plus the exact JSON return contract. It does not detail side effects like page-state changes or failure cases, but for an idempotent navigation tool the disclosure is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences convey action, applicability, prerequisite, and return shape with no redundant filler. The structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameter-rich CDP tool, the definition covers the prerequisite, use cases, and return contract while annotations cover safety/idempotency. It is missing only explicit disambiguation from siblings and error/failure behavior, which are not critical given the output schema and schema-level parameter docs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The prose only refers abstractly to '指定页面' and '指定时间' and does not document parameters itself. However, the nested schema fully describes page_path with a query-parameter example, timeout/wait_ms ranges, and clear_logs/check_data behavior, so an agent can still invoke the tool correctly without relying on the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise action—'跳转到指定页面' plus CDP log capture—and binds it to concrete use cases (onLoad/onShow lifecycle checks, page error verification). This is specific enough to tell wechat_navigate apart from siblings like wechat_screenshot or wechat_inspector.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the prerequisite call to wechat_automator with cdp_enabled=true and names the intended scenarios. It does not state when to prefer a different tool or define exclusions, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wechat_screenshotA
Read-onlyIdempotent

实时捕获当前小程序模拟器的界面截图。 默认支持截取长图,自动滚动并拼接。 output_path 可选,留空则自动保存到项目目录下 screenshots/ 文件夹。 返回 JSON: {success, data: {path, width, height, segments}, message}。

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description reveals that the tool auto-scrolls and stitches long screenshots by default, that output_path can be omitted to save to screenshots/, and that the response is a JSON object with success, data.path/width/height/segments, and message. These behavioral details help the agent anticipate side effects and response shape. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, each adding new information: purpose, long-screenshot default, output_path default, return format. The most important action and defaults are front-loaded. No redundant or marketing language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only screenshot tool with a rich schema and an output schema, the description covers the key defaults and return format. It does not mention prerequisites like the simulator being open or the meaning of 'segments', but these are minor given the existing schema and annotations. The description is sufficient for an agent to invoke the tool correctly in most cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The context signal reports 0% schema description coverage, so the description must compensate, but it only details output_path's default location and implicitly full_page's default. Parameters like overlap, auto_port, page_path, and scroll_top are not explained in the description, requiring the agent to inspect the nested $defs. The $defs do contain descriptions, which mitigates this, but the description itself adds little parametric meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: '实时捕获当前小程序模拟器的界面截图' (capture the current mini-program simulator interface screenshot in real-time). It further clarifies the long-screenshot default and references the output path and return JSON, leaving no doubt about the tool's function. This clearly distinguishes it from sibling tools like wechat_build or wechat_navigate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context that this is for capturing screenshots of the simulator and mentions default long-screenshot behavior. It does not, however, name any sibling tools or state when to prefer this over wechat_inspector or wechat_automator. A brief 'use this when you need a screenshot' would have been stronger, but the context is unambiguous enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv0.9.16
    • First observedwechat_automator
    • First observedwechat_build
    • First observedwechat_file
    • First observedwechat_ide
    • First observedwechat_inspector
    • First observedwechat_navigate
    • First observedwechat_screenshot

TDQS

A3.6/5.0
Disambiguation4/5

The seven tools are mostly organized by clear domains (IDE lifecycle, build, automation, logs, screenshot, navigation, file access). However, wechat_inspector and wechat_navigate both collect CDP/runtime logs, which could create ambiguity when an agent simply needs log data.

Naming Consistency4/5

All tools share the wechat_ prefix and snake_case, making the family recognizable, but the second segment mixes nouns (ide, automator, inspector, screenshot, file) with verbs (build, navigate). The internal action lists are consistently verb-based, so the deviation is minor.

Tool Count5/5

Seven tools is well-scoped for a WeChat DevTools automation server. Each tool bundles related actions under a single interface, avoiding both fragmentation and a monolithic do-everything tool.

Completeness4/5

The surface covers the main lifecycle: open/login/close, compile/preview/upload, automation interaction, log collection, screenshots, navigation, and file/project reads. Minor gaps remain, such as no explicit stop action for automation sessions and no project creation, but core workflows have no dead ends.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WaterTian/wechat-devtools-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server