Перейти к основному содержимому

ZennoDroid MCP: руководство по настройке для AI-ассистентов

Требования: перед подключением любого AI-ассистента должен быть запущен ProjectMaker ZennoDroid. MCP-серверы стартуют автоматически вместе с ним и работают по адресам:

  • ProjectMCP (управление проектом) → http://localhost:6117
  • AndroidMCP (инспекция Android-устройства) → http://localhost:6118
Порты ZennoDroid отличаются от ZennoPoster на +10

Это сделано специально: ZennoPoster и ZennoDroid часто установлены на одной машине и могут быть запущены одновременно. Поэтому каждый порт AI-стека ZennoDroid сдвинут на +10 относительно порта ZennoPoster — конфликта не возникает, оба продукта можно держать открытыми и подключать к разным наборам MCP-серверов.

Если вы скопировали конфигурацию из руководства по ZennoPoster MCP и указали 6107 / 6108, ассистент будет подключаться к ZennoPoster, а не к ZennoDroid.


1. Чем ZennoDroid MCP отличается от ZennoPoster MCP

Отличий два, и второе принципиальнее первого.

ZennoPosterZennoDroid
Project MCPhttp://localhost:6107http://localhost:6117
Второй серверBrowserMCP 6108 — управляет браузеромAndroidMCP 6118 — читает состояние Android-устройства
Режим записи (recording)используется — действия в браузере пишутся в кубикине используется — в ZennoDroid нет действий, требующих записи
Управление UI из MCPесть: клики, ввод текста, навигациянет: только чтение состояния устройства

Главное отличие. BrowserMCP в ZennoPoster умеет действовать — кликать, вводить текст, переходить по ссылкам. AndroidMCP в ZennoDroid умеет только смотреть: получить XML-дерево экрана, скриншот, разрешение экрана, список приложений, состояние устройства.

Все действия на устройстве в ZennoDroid — это кубики проекта. Ассистент добавляет их через ProjectMCP, а выполняются они при запуске проекта (F5). Поэтому «нажми кнопку в приложении» в ZennoDroid означает «добавь в проект кубик, который нажмёт эту кнопку», а не «нажми её сейчас».

Практическое следствие: элемент, которого нет на экране прямо сейчас, — не препятствие. Кубик собирается по имени/тексту/атрибуту элемента и срабатывает во время выполнения проекта.

Точный список инструментов каждого сервера и их параметры ассистент получает от MCP-серверов сам, при подключении. Спросите его — он перечислит то, что доступно в вашей сборке.


2. GitHub Copilot

Шаги

  1. Убедитесь, что ProjectMaker ZennoDroid запущен.
  2. Откройте папку профиля пользователя: нажмите Win + R, введите %USERPROFILE%, нажмите Enter.
  3. Создайте в этой папке файл .mcp.json (пример: C:\Users\YourName\.mcp.json)
  4. Вставьте следующий код:
{
"servers": {
"AndroidMCP": {
"type": "http",
"url": "http://localhost:6118"
},
"ProjectMCP": {
"type": "http",
"url": "http://localhost:6117"
}
}
}
  1. Перезапустите Visual Studio (или перезагрузите расширение Copilot).
  2. Теперь Copilot получит доступ к обоим MCP-серверам во всех рабочих пространствах.
Если вы работаете и с ZennoPoster, и с ZennoDroid

Можно держать в одном .mcp.json все четыре сервера — имена должны различаться, порты уже различаются:

{
"servers": {
"ProjectMCP_ZD": { "type": "http", "url": "http://localhost:6117" },
"AndroidMCP": { "type": "http", "url": "http://localhost:6118" },
"ProjectMCP_ZP": { "type": "http", "url": "http://localhost:6107" },
"BrowserMCP": { "type": "http", "url": "http://localhost:6108" }
}
}

Учтите: ассистент увидит инструменты обоих продуктов одновременно и может обратиться не к тому серверу. Если это мешает — уточняйте в запросе, о каком продукте идёт речь, или держите подключённым только нужный набор.


3. Claude Code (CLI)

Шаги

  1. Убедитесь, что ProjectMaker ZennoDroid запущен.
  2. Откройте терминал.
  3. Выполните следующие команды:
claude mcp add AndroidMCP --transport http http://localhost:6118
claude mcp add ProjectMCP --transport http http://localhost:6117
  1. Проверьте, что серверы зарегистрированы:
claude mcp list
  1. MCP-серверы теперь доступны глобально во всех сессиях Claude Code.

Чтобы удалить их позже:

claude mcp remove AndroidMCP

claude mcp remove ProjectMCP


4. OpenAI Codex CLI

Шаги

  1. Убедитесь, что ProjectMaker ZennoDroid запущен.
  2. Откройте терминал.
  3. Выполните следующие команды:
codex mcp add AndroidMCP --url http://localhost:6118
codex mcp add ProjectMCP --url http://localhost:6117
  1. Проверка:
codex mcp list

Устранение неполадок (Troubleshooting)

Ассистент подключился, но видит проект ZennoPoster, а не ZennoDroid

Самая частая ошибка при переходе с руководства по ZennoPoster: в конфигурации указаны порты 6107 / 6108. Это порты ZennoPoster. Для ZennoDroid нужны 6117 и 6118.

Проверить, кто на каком порту слушает:

netstat -ano | findstr ":6107 :6108 :6117 :6118"

Сопоставить PID с процессом:

Get-Process -Id <PID>

Инструменты чтения устройства возвращают ошибку или пустой результат

  • Устройство не запущено. Чтение экрана, скриншота, списка приложений и разрешения требует поднятого устройства. Попросите ассистента сначала поднять устройство — соответствующий инструмент идемпотентный, лишнего не сделает.
  • Устройство не выбрано. Для реального телефона он должен быть подключён и виден ZennoDroid (см. подключение устройства).

Команда claude или codex не распознаётся

Если при выполнении команд терминал выдаёт ошибку вида:

"claude" не является внутренней или внешней командой,
исполняемой программой или пакетным файлом.

или (в PowerShell):

claude : Имя "claude" не распознано как имя командлета, функции,
файла сценария или выполняемой программы.

(аналогично для codex), это означает, что папка с исполняемым файлом CLI не добавлена в переменную окружения PATH, либо CLI ещё не установлен, либо терминал не был перезапущен после установки.

⚠️ Важно: установщик Claude Code с сайта (native installer, irm https://claude.ai/install.ps1 | iex) не добавляет себя в PATH автоматически. Поэтому «установил с сайта, но команда не распознаётся» — это самая частая ситуация. Её решает Шаг 2 ниже.

Шаг 1. Найдите, где установлен CLI

Расположение исполняемого файла зависит от способа установки.

Claude Code:

Способ установкиПапка с claude
С сайта (native): irm https://claude.ai/install.ps1 | iex%USERPROFILE%\.local\bin (например C:\Users\ВашеИмя\.local\bin)
Через npm: npm install -g @anthropic-ai/claude-codeпапка npm, обычно %APPDATA%\npm

OpenAI Codex CLI:

Способ установкиПапка с codex
С сайта: irm https://chatgpt.com/codex/install.ps1 | iexпапка, указанная установщиком
Через npm: npm install -g @openai/codexпапка npm, обычно %APPDATA%\npm
Бинарник с GitHub Releasesпапка, куда вы распаковали codex.exe

Точный путь npm-папки можно узнать командой:

npm config get prefix

Проверить, видит ли система команду вообще (если пусто, её нет в PATH):

where.exe claude
where.exe codex

Проверить, что файл существует (для установки Claude с сайта):

Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

Если файла нет ни в одной из папок, значит CLI не установлен. Установите его одним из способов из таблицы выше (для npm нужен Node.js).

Шаг 2. Добавьте найденную папку в переменную PATH

Подставьте путь из Шага 1 (например %USERPROFILE%\.local\bin для Claude с сайта или %APPDATA%\npm для установки через npm).

Вариант A: через графический интерфейс Windows

  1. Нажмите Win + R, введите sysdm.cpl, нажмите Enter.
  2. Вкладка «Дополнительно» → кнопка «Переменные среды».
  3. В разделе «Переменные среды пользователя» выберите переменную Path«Изменить».
  4. Нажмите «Создать» и вставьте нужный путь, например: C:\Users\ВашеИмя\.local\bin
  5. Нажмите OK во всех окнах.

Вариант B: через PowerShell (добавляет в пользовательский PATH навсегда)

# пример для установки Claude Code с сайта:
$p = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$p;$env:USERPROFILE\.local\bin", 'User')

⚠️ Замените путь на актуальный для вашего случая. Не запускайте команду несколько раз подряд, чтобы не дублировать записи в PATH.

Шаг 3. Перезапустите терминал и проверьте

Изменения PATH действуют только в новых окнах терминала. Закройте и заново откройте PowerShell / CMD (или Visual Studio), затем проверьте:

claude --version
codex --version

Для Claude Code также можно запустить встроенную диагностику (проверяет PATH, конфликты установок и т. д.):

claude doctor

Если версии отображаются, значит команды распознаются корректно, и можно возвращаться к шагам настройки MCP выше.

Частые причины, если не помогло

  • Терминал не перезапущен. Изменения PATH применяются только в заново открытых окнах.
  • Несколько установок сразу (npm + native) конфликтуют. Оставьте одну и удалите лишние.
  • Установлено только расширение для VS Code. Оно не добавляет команду claude в терминал. Поставьте отдельный CLI с сайта или через npm.

Примеры запросов

Инспекция устройства

Подними устройство и покажи информацию о нём.
Назови разрешение экрана устройства.
Получи структуру элементов текущего экрана
и найди в ней поле ввода.
Покажи список установленных приложений
и найди среди них точное имя пакета для Chrome.

Сборка проекта

Покажи структуру текущего проекта,
выведи список всех действий с их ID и типами.
Скажи, у меня проект под эмулятор или под реальный телефон,
и какие категории действий доступны.
Собери цепочку: выбери случайное устройство,
запусти его и открой https://example.com.
Добавь проверку: если на экране появился текст "Success" —
идём по ветке успех, иначе по ветке ошибка.
Покажи текущие логи выполнения проекта
и сообщи, есть ли ошибки.

Комбинирование чтения устройства и сборки проекта

Прочитай структуру экрана, найди поле ввода телефона,
и добавь в проект кубик, который вводит в него {-Variable.phone-}.
Определи имя пакета приложения WhatsApp через список установленных,
затем добавь в проект проверку, установлено ли оно.
Прочитай реальное разрешение экрана
и добавь свайп снизу вверх по центру экрана.

Встроенный чат настраивать не нужно

Всё описанное выше нужно только для внешних ассистентов. Встроенный в ProjectMaker ZennoDroid ИИ-чат работает с теми же MCP-серверами «из коробки» — от вас требуется только API-ключ модели. Подробности — в статье ИИ-помощник в ZennoDroid.