На днях писал, как лидар снимает комнату, а в SketchUp это можно дорисовать. Дальше логичная мысль: а пусть рисует не я, а ИИ. Сам строит и крутит 3D — для домашних инженерных штук вроде разводки электрики или габионной стенки во дворе.
Связать их должен MCP. У меня SketchUp Pro 2026 на Windows, а Claude Code живёт в WSL — линукс прямо внутри винды. Нужен мост между ними.
Пошёл искать готовое. Нашёлся очевидный кандидат: один репозиторий, который в своей нише абсолютный лидер по звёздам — остальные двадцать с лишним проектов далеко позади. Берём, ставим, поехали. По плану — полчаса.
По факту — спуск по лестнице из граблей.
Сначала выяснилось, что готового плагина нет. Собирай расширение руками из исходников. А в сборку случайно попадает скрипт, который роняет загрузку — у них же про это открытый баг висит.
Дальше сеть. SketchUp слушает порт на самой винде, а из WSL до него в обычном режиме не достучаться вообще никак. Лечится одной строкой в конфиге, но строка эта — глобальный рубильник на всю сеть WSL, а у меня там и докер, и VPN на нужные адреса. Пришлось взвешивать, что сломаю.
Потом сам сервер начал путать ответы. Их клиент держал одно постоянное соединение и слал пинг, не читая ответ на него. Ответ прилипал в буфере и доставался следующей команде. Итог: каждый второй вызов падал с ошибкой «метод не найден».
И финал. Любая команда на запись вешала сервер намертво. Их код крутит всё в одном потоке и правит модель прямо там. Стоит одной правке упасть с ошибкой внутри незакрытой транзакции — и весь цикл умирает. Сначала виснет запись, потом перестаёт отвечать вообще всё, даже простое чтение.
В какой-то момент стало ясно: чинить чужой фундамент дороже, чем построить свой.
Спасло одно наблюдение. Транспорт-то рабочий — команда «выполни вот этот Ruby внутри SketchUp» отрабатывала идеально, вернула даже версию движка. То есть «модель шлёт код, SketchUp исполняет и отдаёт результат» уже было. Сломан был ровно один слой — серверный цикл.
Значит, своё — это не тринадцать инструментов с нуля. Это один надёжный «выполни код» плюс переписанный цикл, который не виснет. А любой нужный Ruby ИИ дальше пишет сам на лету.
Так и сделал. Два чужих бага убрал не заплаткой, а по-другому. Путаницу ответов — клиент теперь делает новое соединение на каждую команду, нечему слипаться. Зависание — каждый вызов обёрнут так, что упавшая правка откатывается, а цикл не может умереть ни от какой ошибки.
Прежде чем городить обвязку, собрал минимальный сервер и вживую проверил: мутирующая команда не вешает, специально брошенная ошибка не убивает цикл. Гипотеза подтвердилась — и только потом строил остальное.
Любимый инструмент — скриншот. SketchUp рендерит вид в картинку, ИИ её читает и реально смотрит на модель. Попросил создать куб, снял скриншот — и вижу его рядом со стандартным человечком из SketchUp. Не «я создал куб», а вот он.
Сверху прикрутил автосборку: каждый коммит сам пакует плагин и обновляет ссылку на скачивание. Скачал, поставил, работает. Лежит на гитхабе под свободной лицензией — рабочих альтернатив на 2026-й, считай, и нет.
https://github.com/Shattenjagger/sketchup-mcp-bridge
———
Главный вывод не про код. Звёзды на гитхабе меряют спрос, а не качество. Самый популярный инструмент в нише спокойно может не работать на твоей версии. И это не повод расстраиваться — это сигнал, что место под нормальное решение свободно.
#ITЕгерь
Post #419
87