ats-mcp
ats-mcp
Сервер MCP, позволяющий LLM управлять сеансами тестирования ActionTestScript — веб, мобильные устройства, десктоп и API — через REPL ats-core.
Используйте его с Claude Code, Claude Desktop, Cursor или любым другим клиентом с поддержкой MCP, чтобы ассистент мог взаимодействовать с тестируемой системой: запускать каналы, кликать по элементам, делать скриншоты, проверять DOM или иерархию представлений мобильных устройств, запускать скрипты ATS — и всё это через вызовы инструментов.
Доступны два дистрибутива, оба подключены к одному и тому же набору инструментов:
Установка | Лучше всего подходит для | |
npm |
| Разработчиков, использующих Node, и широкого сообщества MCP |
JAR | Скачайте | Пользователей, у которых уже есть Java, но нет Node |
Как это работает
MCP client (Claude Code / Desktop / …)
│
▼
ats-mcp launcher (Node OR Java — see /node and /java in this repo)
│
spawns / loads
│
▼
AtsReplServer (ats-core)
│
┌──────┼──────┬───────┐
▼ ▼ ▼ ▼
web mobile desktop apiПри первом использовании программа запуска provision-ит всё необходимое для ATS в папке ~/.actiontestscript/:
libs — скачиваются из
https://actiontestscript.org/releases/ats-libs/<version>.zip, если папка~/.actiontestscript/libs/отсутствует.system driver (для автоматизации десктопных приложений) — последняя версия загружается из
https://actiontestscript.org/releases/ats-drivers/<os>/system/и автоматически обновляется при выходе новой версии.browser drivers — загружаются по требованию самим ats-core при первом вызове
start_channelдля конкретного браузера/версии.
Никаких ручных шагов по установке — npx -y ats-mcp или java -jar ats-mcp.jar достаточно, чтобы начать автоматизацию веб/десктоп/api с нуля.
Предварительные требования
Java 17+ (обязательно всегда — ats-core работает на JVM)
Node 18+ (только если вы используете npm-дистрибутив)
Настройка вашего MCP-клиента
Claude Code
Добавьте .mcp.json в корень проекта:
{
"mcpServers": {
"ats": {
"command": "npx",
"args": ["-y", "ats-mcp@latest"]
}
}
}Или, при использовании JAR:
{
"mcpServers": {
"ats": {
"command": "java",
"args": ["-jar", "/path/to/ats-mcp-0.4.0.jar"]
}
}
}Claude Desktop
Аналогичная структура в файле claude_desktop_config.json.
Переменные окружения
Имя | Назначение | По умолчанию |
| Версия |
|
| Где хранятся библиотеки и драйверы ATS. |
|
| Путь к исполняемому файлу |
|
Доступные инструменты
30 инструментов, сгруппированных по назначению:
Сеанс / каналы
Инструмент | Что делает |
| Открыть веб / мобильный / десктоп / api / SAP канал |
| Закрыть канал |
| Сделать канал активным |
Навигация (веб)
Инструмент | Что делает |
| Перейти по URL |
| Назад в истории браузера |
| Вперед в истории браузера |
| Перезагрузить текущую страницу |
Взаимодействие
Инструмент | Что делает |
| Клик мышью по элементу |
| Наведение мыши на элемент |
| Ввод текста в элемент |
| Нажатие специальной клавиши (ENTER, TAB, стрелки, F-клавиши…) |
| Прокрутка элемента на заданное смещение в пикселях |
| Двухэтапное перетаскивание (drag-and-drop) из источника в цель |
| Выбор опции |
| Загрузка локального файла в поле ввода файла |
| Принять/отклонить/по умолчанию JS alert/confirm/prompt |
Инспекция
Инструмент | Что делает |
| Сделать снимок PNG текущего состояния |
| Выгрузить DOM / иерархию представлений |
| Перечислить элементы, соответствующие CSS-селектору (веб) или SAP-тегу |
| Выполнить JavaScript на странице и вернуть результат |
| Сообщения консоли JS, захваченные на активном веб-канале |
| Захваченные HTTP-запросы (с индексом для |
| Полный запрос/ответ для одного обмена |
| Cookies на активном веб-канале |
Окно / вкладки
Инструмент | Что делает |
| Изменить размер (и опционально переместить) окно |
| Переключить вкладки по индексу / имени / подстроке URL |
| Открыть новую вкладку, опционально по URL |
| Закрыть текущую вкладку/окно |
Запасной вариант
Инструмент | Что делает |
| Выполнить последовательность необработанных строк действий ATS |
Сравнение с Playwright MCP
ats-mcp охватывает ту же область взаимодействия, что и @playwright/mcp для веба, плюс три вещи, которые Playwright не умеет:
Мультиплатформенность — веб, мобильные устройства (физические Android/iOS, симуляторы, эмуляторы, Genymotion Cloud), десктопные приложения (через системный драйвер ATS), REST/SOAP API и SAP GUI.
Встроенное неявное ожидание — поиск элементов повторяется с задержкой, поэтому LLM не нужно добавлять вызовы
wait_forвокруг каждого действия.Прямой доступ к возможностям —
run_ats_blockоткрывает полный словарь действий ATS, когда специализированного инструмента недостаточно.
Структура репозитория
ats-mcp/
├── node/ — TypeScript implementation (published to npm)
├── java/ — Maven implementation (released as a fat JAR)
├── README.md
└── .gitlab-ci.ymlОбе реализации нацелены на одну и ту же поверхность протокола и используют общие определения инструментов.
Лицензия
Apache-2.0 — такая же, как у ats-core.
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/actiontestscript/ats-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server