kompas3d-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kompas3d-mcpCheck this assembly for interference and give me the BOM summary"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kompas3d-mcp
MCP-сервер, который позволяет ИИ-ассистенту (Claude Desktop, Claude Code и любому другому MCP-клиенту) управлять КОМПАС-3D через COM API: открывать и сохранять документы, строить детали, собирать и перемещать компоненты, измерять модели и создавать размеренные чертежи.
English version: README.en.md
Неофициальный проект. КОМПАС-3D — продукт и товарный знак АСКОН. Репозиторий не связан с АСКОН и не содержит кода или файлов SDK АСКОН.
Для кого
Для конструкторов и инженеров по автоматизации САПР, которые уже работают в КОМПАС-3D и хотят передать ассистенту рутину (вставить 50 крепежей, проверить состав изделия, сделать первый вариант чертежа). Каждый результат проверяется числами (габарит, масса, число тел), а не принимается на слово.
Related MCP server: kompas3d
Требования
Windows 10/11
КОМПАС-3D v23 (единственная версия, на которой разрабатывалось и проверялось)
Python 3.10 и новее (разработка на 3.12)
Пакеты из requirements.txt:
mcp(1.x),pywin32,Pillow,numpy,jsonschema
Сервер обращается к запущенному КОМПАС через COM, поэтому работает на той же машине Windows и под тем же пользователем, что и КОМПАС.
Установка
git clone https://github.com/semyyon/kompas3d-mcp.git
cd kompas3d-mcp
python -m venv .venv
.venv\Scripts\python -m pip install -r requirements.txtПроверка, что сервер запускается (КОМПАС он сам не стартует):
.venv\Scripts\python -c "import server; print(server.kompas_status())"Подключение к MCP-клиенту
Любому клиенту нужна команда, запускающая server.py по stdio. Пути абсолютные; в примерах репозиторий
лежит в C:\tools\kompas3d-mcp.
Claude Desktop — claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"kompas3d": {
"command": "C:\\tools\\kompas3d-mcp\\.venv\\Scripts\\python.exe",
"args": ["C:\\tools\\kompas3d-mcp\\server.py"]
}
}
}Claude Code:
claude mcp add kompas3d -- C:\tools\kompas3d-mcp\.venv\Scripts\python.exe C:\tools\kompas3d-mcp\server.pyДругие клиенты (Cursor, Cline и т. п.) принимают ту же пару command / args в настройках MCP.
Необязательные переменные окружения:
Переменная | Назначение |
| Папка с библиотеками типов КОМПАС (по умолчанию |
| Путь к архиву справки SDK, включает офлайн-поиск |
| Папка со stub-файлами SDK ( |
| Markdown-список пунктов визуальной проверки чертежа (не поставляется) |
Инструменты
Инструмент | Что делает |
| Запущен ли КОМПАС, список открытых документов (сам его не запускает) |
| Запускает КОМПАС или подключается к запущенному |
| Новый документ: деталь, сборка, чертёж, фрагмент, спецификация, текст |
| Открывает |
| Save / Save As; расширения |
| Закрывает документ по пути или части имени |
| Файловая копия |
| PNG-скриншот окна КОМПАС |
| Ставит стандартные виды и снимает их одним вызовом |
| Чистый рендер 3D-модели в PNG/JPG/BMP |
| Автоответ на всплывающие диалоги КОМПАС, которые блокируют COM |
| Дерево сборки с мировыми origin и группировкой одинаковых |
| Габарит документа или компонента, найденного по имени |
| Числовой самоконтроль: габарит, масса, грани, рёбра, тела, свойства |
| Вставка компонентов в сборку внешними ссылками, партиями со сверкой |
| Перемещение компонентов верхнего уровня с проверкой смещения |
| Имя, обозначение, материал и цвет детали |
| Одна твёрдотельная операция (основание, бобышка, вырез, вращение) по эскизу в JSON |
| Фаска, скругление или условная резьба с выбором рёбер по точкам |
| Чтение, добавление и задание переменных модели с перестроением и сверкой |
| Группировка и подсчёт крепежа сборки, проверка зацепления |
| Реальные пересечения тел (а не габаритов) |
| Состав изделия сборки (только чтение) |
| Сводка геометрии детали для планирования чертежа (только чтение) |
| Компактный JSON-снимок чертежа: штамп, виды, размеры |
| Размеры на виде: модель решает ЧТО образмерить, код — ГДЕ |
| Проверка открытого чертежа по правилам проекта и ЕСКД |
| Весь чертёж детали по |
| Шлюз ко всему COM API (API7 и API5) без скрипта, с проверкой имён |
| Офлайн-поиск по справке SDK (интерфейсы, методы, свойства) |
| Запуск именованного скрипта из |
| Произвольный Python против живого COM API (крайнее средство) |
| Цепочка вызовов |
Примеры запросов
«Открой
Bracket.m3d, задай материал Сталь 12Х18Н10Т и доложи габарит, массу и число тел».«Вставь
M6x20.m3d24 раза в открытую сборку по этим координатам и покажи аудит крепежа».«Проверь сборку на пересечения тел и перечисли пары».
«Построй чертёж
Plate.m3dпо этому spec и исправь всё, что покажетkompas_check_drawing».«Каким методом KOMPAS API задаётся глубина выдавливания? Найди в справке SDK».
Как устроено
server.py— сервер FastMCP по stdio.К КОМПАС подключается через
pywin32по обоим COM API: API7 (IApplication) и API5 (KompasObject).Экземпляр КОМПАС один, поэтому доступ защищён межпроцессной блокировкой;
kompas_batchдержит её на всю цепочку.Изменяющие инструменты принимают
document=, чтобы правка не ушла в документ, который КОМПАС сделал активным сам.jobs/— именованные скрипты дляkompas_run_job;jobs/_draw.py— движок 2D-чертежей.Чертежи задаются JSON-spec (схема, примеры); проверки в
drawing_rules.py, настраиваемые пороги и типовые тексты — вproject_rules.json.hooks/— необязательные хуки Claude Code, например запрет сохранять сборку без свежей резервной копии.Каждый вызов замеряется и пишется в
logs/calls.jsonl.
Ограничения
Только Windows и КОМПАС-3D v23. Другие версии могут работать, но не проверялись.
Описания инструментов частично на русском, правила чертежей следуют ЕСКД/ГОСТ. В
project_rules.json— значения автора; под свои стандарты их нужно править.Stub-файлы SDK и архив справки принадлежат АСКОН и не включены. Без них
kompas_apiопирается на установленные библиотеки типов, а дляkompas_sdk_searchнуженKOMPAS_SDK_HELP_ZIP.Некоторые операции КОМПАС открывают модальные диалоги, блокирующие COM; см.
kompas_auto_dialogs.kompas_run_scriptвыполняет произвольный код с правами вашего пользователя. Подключайте только доверенные клиенты.
Разработка
.venv\Scripts\python -m pip install -r requirements-dev.txt
.venv\Scripts\python -m pytestТесты не требуют КОМПАС; те, которым он нужен, пропускаются автоматически. См. CONTRIBUTING.md.
Благодарности
Model Context Protocol и его Python SDK, pywin32. Разработано вместе с Claude.
Лицензия
This server cannot be deployed
Maintenance
Related MCP Connectors
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
CAD in ChatGPT and Claude: editable parts, STEP/STL/drawings, in-chat 3D, automatic checks.
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to control Autodesk Inventor via COM automation for part modeling, assembly constraints, drawing views, and more.5-
- AlicenseCqualityBmaintenanceEnables AI agents to create and edit native KOMPAS-3D models from text descriptions, drawings, or PDFs, with parameterization, assemblies, drawings, and export to STEP, STL, and IGES.4111MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build, measure, verify, and correct parametric SolidWorks parts and assemblies locally via the COM API, supporting operations like sketching, extruding, modeling, dimensioning, material assignment, export, and assembly mating.MIT
- AlicenseCqualityBmaintenanceEnables AI agents or local operators to inspect, plan, execute, and verify bounded KOMPAS-3D CAD operations, including sketch and feature editing, parametric parts, springs, transmissions, specifications, relinking, quality checks, and safe exports.1182MIT