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

Dart MCP: что он на самом деле даёт кодовому агенту

· 3 мин. чтения
Founder, DartWay

MCP-сервер встроен в Dart SDK с июля 2025 года, а пользоваться им начали только недавно. MCP — это протокол, по которому кодовый агент обращается к серверу за информацией или действиями. Для Dart это значит, что агент больше не ограничен терминалом — он может дотянуться до вашего запущенного приложения.

Мы подключили его к Claude Code на демо-приложении и посмотрели, что он даёт на практике.

Подключение​

Одна команда:

claude mcp add --transport stdio dart -- dart mcp-server --enable all

Без --enable all половина инструментов выключена. Внутри всё идёт через Dart Tooling Daemon — тот же, которым для отладки пользуется DevTools. Следующая сессия агента запускает сервер и получает список инструментов.

Что агент умел и раньше​

Анализатор, тесты, dart fix, форматирование, поиск по pub.dev. Всё полезное — и всё то, что агент делает без сервера, через терминал и веб. В демо он пошёл искать по pub.dev через инструмент; пакет он нашёл бы и без него.

Что действительно ново: запущенное приложение​

Вот за что стоит держаться:

  • ошибки времени выполнения из живого приложения — сразу агенту;
  • дерево виджетов в том виде, в каком оно в приложении прямо сейчас;
  • тапы и ввод текста через Flutter Driver — тапнуть, ввести текст, подождать, получить смещение, снять скриншот;
  • вычисление выражения внутри запущенного приложения — агент может распечатать значение на месте, а не искать нужное место в коде и добавлять print;
  • hot reload после правки.

В демо агент вытащил ошибки времени выполнения, нашёл overflow в вёрстке, исправил его и сделал hot reload — при этом ему не показывали, где проблема. Без MCP он не увидел бы этих смещений и гадал бы.

Очевидное применение — то, которое масштабируется. Вы собрали большое приложение и хотите проверить каждый экран. Обычно вы находите каждый overflow глазами, а потом описываете: «в этом виджете overflow». С сервером агент сам обходит экраны и собирает ошибки вёрстки. Или вы сами прокликиваете, а агент собирает ошибки через MCP.

Чего это стоит​

Описания всех 24 инструментов попадают в контекст каждой сессии и перечитываются на каждом шаге агента. Задача занимает от двадцати до нескольких сотен шагов, и каждый тащит весь список — закешированный, но всё равно прочитанный и всё равно занимающий контекст, внутри которого агенту приходится думать.

Вывод​

Для инструмента, который нужен на редком баге вёрстки, эта цена платится постоянно. Поэтому в DartWay он не будет включён по умолчанию. Мы добавим его в фреймворк как инструмент по требованию — подключается на прогон визуальных сценариев или на починку багов вёрстки, и не присутствует в обычных сессиях разработки. Держать его в каждой сессии — избыточно.


Видеоверсия, на русском, — на YouTube.