Перейти к содержимому
Elemctl
Русский
Esc
navigateopen⌘Jpreview
На этой странице

MCP-сервер и редакторы

Работа с elemctl из ИИ-агента по MCP, плюс плагины и расширение VS Code.

MCP-сервер

Сервер отдаёт операции платформы как MCP-инструменты (транспорт stdio):

pip install "elemctl[mcp]"
claude mcp add elemctl -- elemctl mcp

Реквизиты подключения сервер берёт из тех же переменных ELEMENT_* / .env. Среди инструментов: list_apps, get_app, deploy (с полем ok в ответе), verify_deploy, list_builds, merge_branch и другие.

Одно окружение не приковывает: у каждого инструмента, обращающегося к платформе, есть необязательный env_file - путь к .env другого стенда. Так один сервер работает и с облаком, и с локальной установкой, без перезапуска с другими реквизитами. list_apps по умолчанию отдаёт краткие карточки (id, имя, статус, uri, применённая версия): полные карточки пространства - это десятки тысяч символов в ответе агенту, за ними - brief=false.

Плагины

elemctl подхватывает внешние пакеты через точки расширения importlib.metadata: сам он в своём pyproject.toml о плагинах ничего не объявляет, а читает их при обращении. Так непубликуемые вендорские артефакты живут отдельным пакетом, а ядро elemctl остаётся чистым и общедоступным.

Сейчас поддержана одна группа - elemctl.debug_adapter: пакет-плагин объявляет каталог debug-адаптера платформы (проприетарные jar 1С, в состав elemctl не входят). Значение точки расширения - путь либо функция без аргументов, возвращающая путь; путь указывает на каталог с подкаталогом repo/, где лежат jar-файлы адаптера.

# pyproject.toml пакета-плагина
[project.entry-points."elemctl.debug_adapter"]
имя = "мой_пакет:adapter_root"     # () -> Path на каталог, содержащий repo/
# путь к адаптеру от установленного плагина (для расширения VS Code):
# {"path": "...", "found": true} либо {"path": null, "found": false}
elemctl debug-adapter

# какие плагины видны - диагностика установки
elemctl plugins

Сам адаптер (проприетарные jar 1С) извлекается из дистрибутива платформы скриптом tools/extract_adapter.py - в каталог для ручной настройки xbslDebug.adapterPath либо для сборки пакета-плагина. Скрипт в дистрибутив пакета не входит.

Обнаружение плагинов отключается переменной ELEMCTL_NO_PLUGINS=1 (прогон только со штатными возможностями ядра).

VS Code

С редактором elemctl связывают два расширения-спутника:

  • XBSL (проект xbsl-lint) – подсветка, линтер, предпросмотр форм и кнопка “XBSL: деплой на стенд”, запускающая elemctl deploy терминальной задачей с проверкой применения.
  • XBSL Debug (живёт в этом репозитории, editors/vscode) – отладка приложений 1С:Элемента штатным DAP-адаптером платформы; данные отладочной сессии берёт elemctl apps debug.

Оба публикуются и в Open VSX.

Последнее обновление 22 июля 2026 г.

Эта страница была полезной?