flutter-mcp-toolkit
MCP-сервер и пакет для Flutter: агент видит запущенное приложение, нажимает на виджеты, вводит текст, делает hot reload и читает логи
- 397 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент нажимает на виджеты, вводит текст и вычисляет выражения Dart в запущенном приложении, поэтому подключать его стоит только к отладочной сборке
- Бинарный файл ставится скриптом, который скачивается с GitHub и запускается в оболочке
Установка
- Работает в
Ручная установка
curl -fsSL https://raw.githubusercontent.com/Arenukvern/mcp_flutter/main/install.sh | bashСтавит бинарный файл flutter-mcp-toolkit и короткое имя fmtk. Затем в проекте выполните flutter-mcp-toolkit codegen-init и flutter-mcp-toolkit init с именем агента.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент нажимает на виджеты, вводит текст и вычисляет выражения Dart в запущенном приложении, поэтому подключать его стоит только к отладочной сборке
- Бинарный файл ставится скриптом, который скачивается с GitHub и запускается в оболочке
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
flutter-mcp-toolkit замыкает цикл между агентом и работающим Flutter-приложением. Сервер на Dart подключается к приложению в режиме отладки, а агент снимает его состояние, нажимает на виджеты, прокручивает экран, заполняет формы, перезагружает код горячо и читает журнал, не выходя из диалога. По умолчанию доступно 31 инструмент с префиксом `fmt_`, с флагом `--dumps` их 35. Они делятся на осмотр (семантический снимок, сведения о дереве, ошибки, скриншоты, данные виртуальной машины), действия (нажатие, прокрутка, ввод, заполнение форм, переходы, ожидание), отладку (журнал и вычисление выражений на Dart) и жизненный цикл (поиск запущенных приложений, hot reload, hot restart). Тяжелые дампы дерева рендеринга по умолчанию выключены, потому что дают огромный вывод. Приложение само может регистрировать свои инструменты и ресурсы MCP во время работы через пакет mcp_toolkit, так что агент получает команды, которые знают устройство вашего проекта. Те же возможности доступны из командной строки через `flutter-mcp-toolkit` и короткое имя `fmtk`, а для повторяемых сценариев на Dart есть пакет flutter_mcp_harness.
Для кого. Для Flutter-разработчиков, которые хотят, чтобы агент сам запускал приложение, проходил по экранам, проверял правку и читал ошибки, без догадок по исходному коду.
Подходит, если
- Агент правит экран Flutter, и вам нужно, чтобы он сам открыл приложение, нажал кнопку и показал результат скриншотом
- Нужно найти причину ошибки: агент читает журнал и ошибки запущенного приложения и сверяет их с кодом
- Форму регистрации надо пройти по шагам, вводя текст и переходя между экранами, без ручной проверки
- Приложению нужны собственные команды для агента, например сброс тестовых данных, которые оно регистрирует во время работы
- Проверки интерфейса нужно запускать в скриптах и CI из командной строки, не ограничиваясь диалогом
Не подходит, если
- Нужны только инструменты Dart вроде анализа, форматирования и запуска тестов: для них есть официальный сервер команды Flutter, на который ссылается автор
- Приложение не запущено в режиме отладки: сервер работает через сервисы отладки и без них не подключится
- Нужно тестировать на реальных пользователях в продакшене: инструмент рассчитан на отладочную сборку
- Задача не связана с Flutter: сервер заточен под его дерево виджетов и виртуальную машину Dart
Пример запроса к агенту
Запусти приложение в режиме отладки, открой экран входа, введи тестовую почту, нажми «Войти» и покажи скриншот с ошибкой, если она появится.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Приложение должно работать в режиме отладки: в сборке для выпуска сервер к нему не подключится. Для подключения нужен порт сервисов отладки. Если запущено несколько приложений, сервер может ответить кодом connection_selection_required, и тогда в запросе указывают адрес или идентификатор цели. Самый надежный способ, который советует автор, это передать точный адрес WebSocket из машинного вывода Flutter.
Дампы дерева рендеринга выключены по умолчанию и включаются флагом `--dumps`: вывод получается огромным и расходует много токенов. Серверный бинарный файл ставится из релизов GitHub, на pub.dev лежат только пакеты для самого приложения. Минимальная версия Flutter указана в бейдже README как 3.44. Доступность из России не зависит от сторонних сервисов, но установочный скрипт качается с GitHub.
Как отключить. Уберите сервер flutter-mcp-toolkit из конфигурации MCP клиента и перезапустите клиента. Из приложения удалите зависимость mcp_toolkit и вызов инициализации, который добавила команда codegen-init. Скиллы удаляются из каталога скиллов агента.
Частые вопросы
Как поставить flutter-mcp-toolkit в Claude Code?
Либо подключите каталог плагинов командой /plugin marketplace add Arenukvern/mcp_flutter и установите flutter-mcp-toolkit, либо поставьте бинарный файл установочным скриптом и выполните flutter-mcp-toolkit init claude-code. Вторая команда сама пропишет сервер и скиллы.
Что надо добавить в само Flutter-приложение?
Пакет mcp_toolkit. Команда flutter-mcp-toolkit codegen-init добавляет его в проект и выводит фрагмент для main.dart. После этого запускайте приложение через flutter run --debug.
Чем flutter-mcp-toolkit отличается от официального MCP-сервера Flutter?
Официальный сервер команды Flutter отдает инструменты Dart. Этот проект управляет самим запущенным приложением: снимает семантическое состояние, нажимает на виджеты, вводит текст, а еще позволяет приложению регистрировать собственные инструменты MCP во время работы.
Как запустить сервер в Docker?
В конфигурации MCP укажите команду docker с аргументами run, -i, --rm, --network=host и образом ghcr.io/arenukvern/flutter-mcp-toolkit с нужной версией. Образ описан в официальном реестре MCP.
Можно ли пользоваться без MCP, из командной строки?
Да. Тот же набор действий доступен через flutter-mcp-toolkit и короткое имя fmtk, например для разовых команд в скриптах и CI. Для повторяемых сценариев автор предлагает пакет flutter_mcp_harness.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыПлагин команды Flutter для агентов: скиллы по Flutter и Dart, сервер Dart MCP и правило горячей перезагрузки для Claude Code, Cursor и Codex
Buoy MCP дает агенту читать работающее приложение на React Native или Flutter, нажимать на экран и смотреть сеть
Mobile Device MCP управляет iOS и Android: касания, ввод, скриншоты и дерево элементов, несколько устройств одновременно
MCP-сервер для управления iOS и Android: симуляторы, эмуляторы и реальные устройства через дерево доступности и скриншоты
MCP-сервер дает агенту экран Android, поиск элементов, нажатия, ввод и снимки для проверки собственных приложений.
Приложение для Android-отладки на macOS с MCP-сервером: агент читает данные Reactotron из React Native на localhost
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| flutter-mcp-toolkit (эта карточка) | нет | не нужна | 397 | |
| Marionette MCP — агент внутри Flutter-приложения | нет | не нужна | 503 | тоже управляет запущенным Flutter-приложением, но без собственных инструментов, которые приложение регистрирует само |
| Flutter Agent Plugins | да | 3 172 | плагин команды Flutter с навыками Dart и серверной частью для инструментов Dart |
Коротко о README
README ведет по четырем шагам: установка бинарного файла, добавление пакета в приложение, установка скиллов для агента и запуск. Дальше описана цепочка уровней автоматизации, от интерактивного MCP до сценариев на Dart и сборщика oka, и папка showcase с двумя демонстрационными приложениями, которые проверяют стек целиком. Раздел новостей фиксирует выпуск 6.0.0 от 2 октября 2026 года.