sketchup-mcp2
SketchupMCP — Интеграция Sketchup с протоколом Model Context Protocol
Изначально форк mhyrr/sketchup-mcp. Ответвление произошло на версии v0.0.1 с новым протоколом передачи данных (фрейминг с 4-байтовым префиксом длины), модульной архитектурой обработчиков, расширенными инструментами интроспекции / соединений / операций с ребрами, и полным покрытием модульными тестами как на Ruby, так и на Python. Опубликовано на PyPI как
sketchup-mcp2(оригинальный пакетsketchup-mcpявляется апстримом).
SketchupMCP подключает Sketchup к Claude AI через протокол Model Context Protocol (MCP), позволяя Claude напрямую взаимодействовать со Sketchup и управлять им. Эта интеграция позволяет выполнять 3D-моделирование, создание сцен и манипуляции в Sketchup с помощью подсказок.
Огромная благодарность Blender MCP за вдохновение и структуру.
Возможности
Двусторонняя связь: Подключение Claude AI к Sketchup через TCP-сокет
Манипуляция компонентами: Создание, изменение, удаление и трансформация компонентов в Sketchup
Управление материалами: Применение и изменение материалов и цветов
Инспекция сцены: Получение подробной информации о текущей сцене Sketchup
Работа с выделением: Получение и манипуляция выделенными компонентами
Выполнение Ruby-кода: Выполнение произвольного кода Ruby непосредственно в SketchUp для расширенных операций
Related MCP server: SketchupMCP
Компоненты
Система состоит из двух основных компонентов:
Расширение SketchUp (
su_mcp/su_mcp/): модульный плагин на Ruby, который запускает TCP-сервер внутри SketchUp (core/,handlers/,helpers/).MCP-сервер (
src/sketchup_mcp/): модульный пакет на Python, построенный на FastMCP —tools.pyпредоставляет инструменты MCP,connection.pyотвечает за постоянное TCP-соединение с 4-байтовым префиксом длины,config.pyсчитывает переменные окруженияSKETCHUP_MCP_*,errors.pyвыводит структурированные ошибки Ruby.
Установка
Python-пакеты
Мы используем uv, поэтому вам нужно выполнить brew install uv
Расширение Sketchup
Скачайте или соберите последний файл
.rbzВ Sketchup перейдите в Window > Extension Manager
Нажмите "Install Extension" и выберите скачанный файл
.rbzПерезапустите Sketchup
Использование
Запуск соединения
В Sketchup перейдите в Extensions > SketchupMCP > Start Server
Сервер запустится на порту по умолчанию (9876)
Убедитесь, что MCP-сервер запущен в вашем терминале
Использование с Claude
Настройте Claude для использования MCP-сервера, добавив следующее в конфигурацию Claude:
"mcpServers": {
"sketchup": {
"command": "uvx",
"args": [
"sketchup-mcp2"
]
}
}Это загрузит последнюю версию с PyPI
После подключения Claude сможет взаимодействовать со Sketchup, используя следующие возможности:
Инструменты
Геометрия и трансформации:
create_component— Создание куба/цилиндра/конуса/сферы с заданными размерами (мм)delete_component— Удаление компонента из сценыtransform_component— Перемещение/вращение/масштабирование компонента (перемещение в мм)set_material— Применение именованных или шестнадцатеричных (#rrggbb) цветов к компонентуexport_scene— Экспорт в skp/obj/dae/stl/png/jpg
Булевы операции и операции с ребрами:
boolean_operation— Объединение/вычитание/пересечение двух телchamfer_edge— Снятие фаски со всех ребер группы/компонента (расстояние в мм)fillet_edge— Скругление всех ребер (радиус в мм, сегменты настраиваются)
Столярные соединения:
create_mortise_tenon,create_dovetail,create_finger_joint— Столярные соединения (размеры в мм)
Интроспекция:
get_model_info— Путь, название, единицы измерения, ограничивающая рамка (bbox) активной моделиlist_components— Дерево групп/компонентов с ограничивающими рамками (рекурсивно, max_depth)get_component_info— Подробности об одной сущности по idfind_components— Поиск по имени/типу/слоюlist_layers,create_layer— Управление слоями/тегамиget_selection— ID и метаданные текущих выбранных сущностейundo— Отмена последней операции
Запасной вариант:
eval_ruby— Выполнение произвольного кода Ruby в SketchUp для всего, что не покрыто выше
Примеры команд
Вот несколько примеров того, что вы можете попросить Claude сделать:
"Создай простую модель дома с крышей и окнами"
"Выбери все компоненты и получи информацию о них"
"Сделай выбранный компонент красным"
"Перемести выбранный компонент на 10 единиц вверх"
"Экспортируй текущую сцену как 3D-модель"
"Создай сложный шкаф в стиле искусств и ремесел, используя код Ruby"
Устранение неполадок
Проблемы с подключением: Убедитесь, что запущены и сервер расширения Sketchup, и MCP-сервер
Ошибки команд: Проверьте консоль Ruby (Ruby Console) в Sketchup на наличие сообщений об ошибках
Ошибки тайм-аута: Попробуйте упростить запросы или разбить их на более мелкие шаги
Технические детали
Протокол связи
Система использует простой протокол на основе JSON поверх TCP-сокетов:
Команды отправляются как JSON-объекты с полем
typeи необязательнымиparamsОтветы — это JSON-объекты с полем
statusиresultилиmessage
Вклад в проект
Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять Pull Request.
Лицензия
MIT
Конфигурация MCP
Добавьте в ваш .mcp.json (Claude Code) или эквивалентную конфигурацию клиента:
{
"mcpServers": {
"sketchup": {
"command": "uvx",
"args": ["sketchup-mcp2"],
"env": {
"SKETCHUP_MCP_HOST": "127.0.0.1",
"SKETCHUP_MCP_PORT": "9876",
"SKETCHUP_MCP_TIMEOUT": "60",
"SKETCHUP_MCP_LOG_LEVEL": "INFO"
}
}
}
}Ручной запуск (без MCP-клиента):
uvx sketchup-mcp2Сложные сценарии
Для работы с полными моделями SketchUp (стены, крыши, каркасы, соединения) через
eval_ruby см. подробные фрагменты кода Ruby в
docs/sketchup-ruby-cookbook.md:
«Проверка открытой модели» — запрос пути, слоев, ограничивающей рамки.
«Создание геометрии — надежный помощник make_box» — безопасное выдавливание
face.normal.z.«Каркасная стена (стойки + обвязки)» — полная секция стены.
«Стена с проемом» — вырезание отверстий в компланарных гранях.
«Двускатная / вальмовая крыша» — ручное построение треугольников.
«follow_me — профиль вдоль пути» — мауэрлат по периметру.
«Распространенные ошибки» — включая нюанс с обратной семантикой
Group#subtract.
Устранение неполадок
SketchUp not running or extension not started: ...
Python MCP-сервер попытался подключиться к порту 9876, но не нашел слушающего процесса. Либо:
SketchUp не запущен, или
Плагин MCP установлен, но не запущен — откройте Plugins → MCP Server → Start.
Сервер остается активным после этой ошибки; следующий вызов инструмента повторит попытку подключения.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Connect Claude AI to UluP Spaces via MCP — create projects, nodes, and tasks with OAuth 2.0.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Related MCP Servers
- AlicenseBqualityFmaintenanceConnects Sketchup to Claude AI through the Model Context Protocol, allowing Claude to directly interact with and control Sketchup for prompt-assisted 3D modeling and scene manipulation.10378MIT
- AlicenseBqualityCmaintenanceIntegration that connects Sketchup to Claude AI through the Model Context Protocol, allowing Claude to directly interact with and control Sketchup for prompt-assisted 3D modeling, scene creation, and manipulation.1024MIT
- AlicenseBqualityDmaintenanceEnables direct interaction and control of SketchUp through Claude AI using the Model Context Protocol and a TCP socket connection. It allows for prompt-assisted 3D modeling, component manipulation, and the execution of arbitrary Ruby code within the SketchUp environment.10MIT
- AlicenseAqualityCmaintenanceConnects Claude AI to SketchUp, allowing you to create and modify 3D models via natural language commands.217MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/zinin/sketchup-mcp2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server