Статус: спайки S1–S2 пройдены · подключение к КОМПАС работает

КОМПАС-3D MCP-сервер
управление CAD языком LLM

MCP-сервер, который превращает операции КОМПАС-3D — создание документов, эскизы, 3D-операции, параметры — в инструменты для языковой модели. Под капотом — COM Automation API АСКОН.

.NET 8 · C# транспорт stdio COM Automation · API7 / API5 Windows x64 КОМПАС-3D v24 Home 👁 зрение агента
Возможности

Что умеет MCP-сервер

Инструменты сгруппированы вокруг живого инженерного цикла моделирования — от подключения к КОМПАС до построения и опроса детали.

🔌

Подключение к КОМПАС

Attach к запущенному или launch нового экземпляра по ProgID, переход на API7 через ksGetApplication7(), управление видимостью окна.

📄

Документы

Создание, открытие, сохранение и закрытие деталей, сборок, чертежей и фрагментов через IDocuments.

✏️

Эскизы

Эскиз на плоскости или грани, примитивы (линия, окружность, дуга, прямоугольник), безопасный цикл BeginEdit → EndEdit.

🧊

3D-операции

Выдавливание и вырез, вращение, перестроение. Управление направлением, глубиной и типом окончания (ksEndTypeEnum).

🎯

Выборка и запросы

Выбор грани точкой для следующего эскиза, перечисление тел и граней, массово-центровочные характеристики детали.

👁️

Зрение агента

Рендер модели в PNG прямо в память (resultArrayBytes) и возврат как image-контент MCP — агент видит результат и строит пошагово. Плюс set_view: ориентация и zoom-to-fit перед снимком.

🛟

Escape-hatch

Прямой вызов команд КОМПАС через ExecuteKompasCommand для того, что ещё не обёрнуто в типизированные инструменты.

Ядро сценария

Цикл «эскиз → операция → эскиз»

Главный пользовательский поток v1 — итеративное параметрическое моделирование с визуальной проверкой: рисуем профиль, превращаем в объём, смотрим на результат, выбираем грань, рисуем следующий профиль.

01

Документ

создать деталь (part)

02

Эскиз

на плоскости XOY, профиль

03

Выдавить

boss-операция → тело

04 👁

Снимок

агент видит результат

05

Выбрать грань

по точке на теле

06

Вырез

новый эскиз → cut

Повторять со зрением — снимок → новая грань → новый эскиз → новая операция → снова снимок, пока деталь не готова

Технологии

Стек решения

Выбор обоснован первоклассным COM-интеропом .NET и официальным C# MCP SDK — подробности в документе архитектуры.

Платформа
.NET 8C# · win-x64
MCP SDK
ModelContextProtocolтранспорт stdio
Интероп
COM AutomationAPI7 + API5 (.tlb)
Потоки
STA-потокнасос сообщений
Прогресс

TODO проекта

Честный срез состояния: фундамент подготовки готов, реализация сервера — впереди.

Общий прогрессСпайки пройдены · идёт фундамент v1

Подготовка ГОТОВО

Исследование, документация и инструменты разработчика

  • Исследование SDK и COM API (API5/API7, паттерны подключения)
  • CLAUDE.md — гайд по репозиторию и API
  • Навигатор по справке: tools/kdoc.py + индекс на 26k стр.
  • Документ архитектуры docs/ARCHITECTURE.md
  • Выбор стека: .NET/C#, stdio, цикл «эскиз↔операция»
  • Решение о визуальной обратной связи (зрение агента, рендер в растр)

Фундамент v1 В РАБОТЕ

Скелет сервера и связь с КОМПАС

  • Спайк S1: interop-сборки собираются под net8.0-windows
  • Спайк S2: подключение к КОМПАС (launch/attach, IApplication, версия 24.0)
  • ~Скелет решения (git, .slnx, Directory.Build.props)
  • Маппинг перечислений (enum ↔ строка)
  • STA-поток + диспетчер + насос сообщений
  • MCP-хост на stdio, логи в stderr
  • Трансляция ошибок COM в MCP-ответы

Инструменты v1 ДАЛЕЕ

Покрытие центрального цикла моделирования

  • System: connect · set_visible · status
  • Documents: create · open · save · close · active
  • Sketch: create · add line/circle/arc/rect · close
  • Features: extrude boss/cut · revolve · rebuild
  • Query: select_face · list_bodies · get_part_info
  • Vision: model_snapshot · set_view 👁️

Качество и поставка ДАЛЕЕ

Тесты, сборка, интеграция с клиентом

  • Unit-тесты чистой логики (маппинг, валидация)
  • Интеграционные тесты с КОМПАС (категория Integration)
  • Smoke через MCP Inspector
  • Сборка kompas-mcp.exe (win-x64)
  • Регистрация stdio-сервера в конфиге клиента
Дорожная карта

После v1

Наращиваем покрытие API волнами — от простых операций к параметрике, черчению и сборкам.

v1 · сейчас

Цикл моделирования

Документы, эскизы, выдавливание/вырез, вращение, выборка граней

v2

Операции

Скругление, фаска, оболочка, ребро, лофт, кинематика, массивы

v3

Параметрика

Переменные IVariable7, свойства IPropertyMng, формулы

v4

2D-черчение

Виды, размеры, тексты, штриховки; спецификации

v5

Сборки и экспорт

Компоненты, сопряжения, конвертеры (STEP), HTTP/SSE-транспорт