Совместимость RevitAiTools: версии Revit, .NET и MCP-клиенты
RevitAiTools собирается для Autodesk Revit 2022–2027. Это шесть версий из одного дерева, но не один бинарник: у версий разные runtime и конфигурации сборки. Ниже — что именно поддерживается, что нужно для работы и где проходят границы.
Версии Revit и runtime
| Revit | Runtime | Конфигурации | Особенность |
|---|---|---|---|
| 2022–2024 | .NET Framework 4.8 | Debug.R22 – Release.R24 | Старый контракт API; общий код остаётся netstandard2.0 |
| 2025–2026 | .NET 8 | Release.R25 – Release.R26 | Переход на .NET, отдельная сборка под каждую версию |
| 2027 | .NET 10 | Release.R27 | Целевой runtime задаётся API установленной версии |
Общий код (`Shared.Core`, `Shared.Services`, расчётные библиотеки) нацелен на netstandard2.0 и не зависит от версии Revit. Версионные ветки компиляции разрешены только в слое Modules/VersionCompat, а не по всему решению. Это делает матрицу предсказуемой: новая версия Revit добавляет конфигурацию и адаптер, а не переписывает инструменты.
Сборка из исходников выполняется по конфигурации версии:
dotnet build revitCopilot\revitCopilot.csproj -c Release.R26 /p:RevitVersion=2026Что нужно для работы
- Windows — требование самого Revit; плагин работает в процессе Revit и не существует отдельной кроссплатформенной сборки.
- Установленный Autodesk Revit поддерживаемой версии и действующая лицензия Autodesk. API берётся из установленного продукта.
- .NET SDK 8 и 10 — если вы собираете плагин из исходников. Для готовой сборки достаточно runtime, который требует ваша версия Revit.
- MCP-клиент — Claude Code, Cursor, Codex или Kilo. Клиент подключается через stdio-мост, а не напрямую к порту.
Ограничения по железу не отличаются от требований Revit и вашего AI-клиента. Плагин не запускает облачный сервис и не требует отдельного сервера.
MCP-клиенты
| Клиент | Конфигурация | Как подключается |
|---|---|---|
| Claude Code | .mcp.json | stdio-мост RevitMcpStdioBridge, сервер `revit` |
| Kilo | .kilo/kilo.json | тот же мост, таймаут 900 000 мс |
| Cursor | ~/.cursor/mcp.json | stdio-мост, имя сервера `revit` |
| Codex | ~/.codex/config.toml | stdio-мост, имя сервера `revit` |
Claude Desktop в документации проекта не заявлен. Если клиент поддерживает MCP и умеет запускать stdio-команду, он, скорее всего, подойдёт, но «заявлен» и «проверен» — разные вещи: здесь перечислены только проверенные связки.
Локально, а не в облаке
MCP-сервер слушает 127.0.0.1 и требует Bearer token. Модель проекта не отправляется на серверы продукта: плагин не имеет облачного бэкенда. Но AI-клиент передаёт ваш запрос и ответ инструмента выбранному провайдеру модели — это отдельное решение организации, и его нужно учитывать в политике данных.
Если нужен удалённый доступ, его делают явным туннелем и отдельной политикой. По умолчанию сервер недоступен из сети и не предназначен для публикации.
Что не поддерживается
- Нет SSE-стриминга и batch-запросов: один ответ — один JSON-RPC результат.
- Сервер слушает только loopback и требует Bearer token; удалённого доступа без туннеля нет.
- stdio-мост работает с активным документом; два документа с одинаковым именем неразличимы.
- capability_get_method_info.status всегда возвращает active — по нему нельзя понять, что инструмент сломан.
- Офлайн-каталога инструментов нет: список доступен только у запущенного Revit.
- transaction_rollback не отменяет уже закоммиченные write-инструменты.
- Координаты — в футах, кроме create_level, который принимает миллиметры.
- Часть модулей (PipeConnect, ExplosionScheme, DynamicUpdater) сохраняет кнопки ленты и не полностью headless.
Отдельно про мост: он работает с активным документом. Если в Revit открыты два документа с одинаковым именем, выбрать нужный по имени нельзя. Для сценариев с несколькими документами это ограничение, а не настройка.
Связанные страницы
Архитектура и каталог инструментов — на странице MCP-сервера. Практические задачи — в сценариях. Подробная матрица сборки и типовые ошибки установки — в гайде по версиям.