flutter-skill MCP

MCP-сервер для сквозных тестов: агент управляет запущенным приложением на Flutter, React Native, Electron или сайтом

  • 401 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Инструмент нажимает кнопки, вводит текст и выполняет JavaScript в приложении, а значит способен менять данные
  • Куки, локальное хранилище, сетевые запросы и скриншоты экрана доступны инструменту для чтения
  • Сессии и коды подтверждения можно подставлять, поэтому запускайте инструмент на тестовых аккаунтах
Все причины и проверки

ai-dashboad/flutter-skill

Установка

Ручная установка

npm install -g flutter-skill

Есть также Homebrew, Scoop, Docker и pub.dev.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Инструмент нажимает кнопки, вводит текст и выполняет JavaScript в приложении, а значит способен менять данные
  • Куки, локальное хранилище, сетевые запросы и скриншоты экрана доступны инструменту для чтения
  • Сессии и коды подтверждения можно подставлять, поэтому запускайте инструмент на тестовых аккаунтах

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

`flutter-skill` подключает ИИ-агента к запущенному приложению через MCP. Агент делает скриншоты, нажимает кнопки, вводит текст, прокручивает экран, читает дерево элементов и проверяет состояние. Задачу для интерактивной проверки формулируют обычным языком, например «проверь вход с неверным паролем». Автор насчитывает десять платформ: Flutter (iOS, Android и веб), React Native, Electron, Tauri, Android на Kotlin, iOS на Swift, Kotlin Multiplatform для десктопа и .NET MAUI, а для сайтов есть вариант с SDK и вариант без него через Chrome DevTools Protocol. В приложение на Flutter добавляют две строки с `FlutterSkillBinding`, для сайтов SDK не нужен. Вместо скриншотов сервер может отдавать компактный снимок доступности, его можно использовать для анализа структуры интерфейса. Режим `server` предоставляет инструменты для следующих задач: взаимодействие, ожидания и проверки, визуальные эталоны, подмена сети, API-тесты, покрытие, аудит доступности, проверка переводов, замеры производительности и запись сценариев с экспортом в Playwright, Cypress и другие. Отдельные команды CLI запускают автономное исследование приложения (`explore`), случайное тестирование (`monkey`) и параллельный прогон по платформам.

Для кого. Для разработчиков и тестировщиков мобильных, десктопных и веб-приложений, которые хотят проверять сценарии разговором с Claude, Cursor, Windsurf или Copilot.

Подходит, если

  • Нужно прогнать сценарий оформления заказа на запущенном приложении Flutter без написания тестового кода
  • Нужно, чтобы агент обошел все экраны приложения и перечислил найденные ошибки
  • Нужен случайный прогон с фиксированным зерном (команда `monkey` с флагом `--seed`) для поиска падений
  • Нужно сравнить одно и то же приложение на нескольких платформах, например на web, Electron и Android
  • Нужно проверить доступность, контраст и переводы интерфейса, не подключая отдельные инструменты

Не подходит, если

  • Нужны юнит-тесты и тесты виджетов в составе CI: сервер управляет работающим приложением
  • Приложение нельзя запускать в режиме отладки и подключать к нему SDK
  • Нужно проверять логику на уровне функций: сервер действует через интерфейс приложения
  • Нужно проверять боевую систему: инструмент нажимает и вводит данные от вашего имени

Пример запроса к агенту

Запусти приложение, пройди оформление заказа с пустой корзиной, затем добавь три товара и доведи заказ до оплаты. Сделай скриншоты каждого шага.

MCP

Транспорт
stdio
Авторизация
не нужна

Ограничения

Для Flutter нужны зависимость `flutter_skill` и подключение `FlutterSkillBinding` в режиме отладки до запуска приложения. Другим платформам требуются свои SDK; веб-страницы подключаются через браузер без SDK. Набор команд зависит от платформы и состояния приложения, одинаковое покрытие всех функций не гарантируется.

Команда `flutter-skill init` меняет исходники, поэтому сначала сохраните рабочую версию проекта. Используйте тестовые аккаунты: действия в интерфейсе могут записывать реальные данные. Скриншоты, дерево элементов и сессии получает агент, а результат может обрабатываться его провайдером. Авторизацию отдельного HTTP-режима перед внешним доступом нужно проверить самостоятельно.

Как отключить. Уберите сервер из конфигурации MCP-клиента и удалите пакет командой `npm uninstall -g flutter-skill`. В приложении удалите строки с `FlutterSkillBinding` и зависимость.

Частые вопросы

Как подключить `flutter-skill` к Cursor или Claude Desktop?

Установите пакет командой `npm install -g flutter-skill` и добавьте в файл конфигурации сервер с командой `flutter-skill` и аргументом `server`. Для Cursor это `.cursor/mcp.json`, для Claude Desktop `claude_desktop_config.json`.

Что нужно добавить в приложение на Flutter?

Зависимость `flutter_skill` в `pubspec.yaml` и вызов `FlutterSkillBinding.ensureInitialized()` в `main`, внутри проверки `kDebugMode`. Команда `flutter-skill init` умеет сама находить приложение и править его.

Чем режимы `server` и `serve` отличаются?

Режим `server` работает по MCP через `stdio` и подходит для IDE, он сам запускает Chrome. Режим `serve` поднимает HTTP-сервер для скриптов, CI и команд вроде `flutter-skill tap`, ему нужен уже запущенный Chrome.

Чем `flutter-skill` отличается от Playwright MCP?

Playwright MCP работает только с вебом. `flutter-skill` управляет мобильными, десктопными и веб-приложениями десяти платформ, а для сайтов использует Chrome DevTools Protocol без SDK.

Какие команды CLI есть кроме запуска сервера?

Команда `explore` обходит приложение и ищет ошибки, `monkey` запускает случайные действия с фиксированным зерном, `test` гоняет сценарии параллельно по платформам, `serve` поднимает HTTP-сервер для сайтов. Для простых действий есть `nav`, `snap`, `screenshot`, `tap`, `type` и `eval`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Проверяет пакеты Agent Skills: структуру, ссылки, объем в токенах и качество инструкций с оценкой моделью-судьей

CLIРасширенный доступ265Звезды репозитория

MCP-сервер для Flutter: агент подключается к запущенному приложению, смотрит дерево виджетов, нажимает, вводит текст, прокручивает и снимает экран

MCP-серверРасширенный доступ500Звезды репозитория
Официальный

Скилл noqa-testing учит агента тестировать iOS и Android: читать экран, нажимать, писать кейсы и гонять их на реальном телефоне

СкиллРасширенный доступ191Звезды репозитория
Официальный

Около 70 скиллов для автотестов: Selenium, Playwright, Cypress, Appium, JUnit, pytest и другие, с запуском на облаке TestMu AI

СкиллРасширенный доступ390Звезды репозитория

CLI для оценки и доработки скиллов агентов: декларативные тесты в YAML, запуск на разных движках и структурированные отчеты

CLIРасширенный доступ1,4 тыс.Звезды репозитория

CLI, MCP-сервер и типизированный Node.js API, чтобы агент проверял свои правки в живом мобильном приложении на iOS, Android и других платформах

CLIРасширенный доступ5,3 тыс.Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
flutter-skill (эта карточка)нетне нужна401
Marionette MCP — агент внутри Flutter-приложениянетне нужна500MCP-сервер только для Flutter: читает дерево виджетов и нажимает на элементы
agent-deviceнет5 281CLI и MCP для проверки правок в живом мобильном приложении, без десктопа и веба
Buoy MCPдаOAuth695читает запущенное приложение на React Native или Flutter и нажимает на экран

Коротко о README

Проект содержит Dart-пакет и консольные команды для запуска и исследования приложений. Пакет Dart требует Dart 3 и Flutter 3 или новее в пределах версий, указанных в манифесте пакета; это отдельные требования, не связанные с установкой npm-обертки.

Бейдж для README

Сообщить о проблеме

Foxx AIflutter-skill
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.