AI-EDT MCP Tools

SkillAI & models

EDT-based 1C:Enterprise (1С:Предприятие 8.3+) development via the EDT MCP server - BSL code analysis and editing, metadata inspection and construction, module navigation, query validation, managed forms, error checking, debugging, infobase update. Use when the project is an EDT workspace: 1C/BSL modules, .mdo metadata, 1C queries, managed forms. Not for 1C 7.7 (.1s/.ert/1Cv7.MD) and not for Configurator-format sources without an EDT project - those have their own skills.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the AI-EDT MCP Tools skill

What this skill tells your AI

The instructions your AI receives, as published by desko77/claude-code-skills-1c in skills/ai-edt-tools/SKILL.md and read by ahel’s review.

MCP-сервер ai-edt дает прямой доступ к семантическому индексу EDT (BM model), платформенной документации, проверкам, отладке и конструкторам метаданных. Работает через живой экземпляр EDT. Semantic- операции (ссылки, определения, иерархия вызовов, структура модуля) идут по BM-модели и AST, а не по текстовому совпадению; текстовый и regex-поиск в каталоге тоже есть (code_search operation=text_search).

Каталог инструментов вынесен в references/ - читай нужный файл по ситуации, а не весь набор.

Навык написан под AI-EDT - MCP-сервер работает плагином внутри запущенной 1C:EDT (update site: https://desko77.github.io/ai-edt/). Весь каталог в references/ описывает именно его: больше сотни операций, свернутых в фасады с маршрутизацией через operation=.

Если подключен ДРУГОЙ MCP-плагин для EDT, этот каталог к нему неприменим: там свой набор инструментов, свои имена и фасадов может не быть вовсе - вызов вида diagnostics operation=get_project_errors вернет ошибку. Ключ сервера тоже свой. Порядок в этом случае: взять фактические имена из tools/list сессии и работать по документации своего плагина; общие принципы навыка (что проверять после правки, чего не подменять ручной правкой файлов) остаются в силе.

When to Use

  • Анализ и правка BSL: модули, методы, ссылки, вызовы, рефакторинг.
  • Метаданные: чтение, создание, изменение, удаление, переименование с каскадом.
  • Формы: структура, скриншот из WYSIWYG-редактора, правка без ручного XML.
  • Запросы 1С: валидация синтаксиса и семантики до запуска.
  • Ошибки проекта, обновление ИБ, юнит-тесты YAxUnit, отладка и профилирование.

Для BSL и метаданных 1С этот сервер приоритетнее Grep/Read и точнее любого текстового поиска.

Когда НЕ использовать

  • 1С 7.7 (.1s, .ert, 1Cv7.MD) - скил 1c77-dev и сервер 1c77-metadata: инструменты EDT к 7.7 неприменимы.
  • Обычные (неуправляемые) формы и проект в формате Конфигуратора без EDT-проекта - каталог рассчитан на управляемые формы и EDT-модель; для XML-выгрузки Конфигуратора есть отдельные скилы 1c-* (cf/epf/erf).
  • Данные живой базы вне отладочной сессии - скил 1c-mcp-toolkit по HTTP.
  • EDT не запущена - инструменты недоступны; сообщить пользователю, а не переходить на ручную правку файлов проекта.

Prerequisites

get_edt_version - проба. Не ответил - корректный вывод "ai-edt недоступен", а НЕ "EDT не запущена": та же картина бывает при недоступном MCP-сервере, зависшей очереди вызовов и несовместимом плагине. При ошибке связи или timeout self_status НЕ вызывать - он на том же сервере; он полезен только когда сервер отвечает, но операция не проходит. Разбор случаев и что делать в каждом - rules/mcp-tool-priority.md, раздел "Когда инструменты недоступны". Коротко: анализировать без MCP можно, писать в проект вслепую - нельзя.

Ключевые фасады - точки входа

Фасад заменяет набор родственных standalone-инструментов: одна точка входа, действие выбирается параметром operation (у отладчика - action). У большинства есть встроенная справка: operation=help, детали конкретной операции - operation=help topic=<операция>.

ФасадКогда брать
code_searchисследовать код и модель: поиск, ссылки, определения, иерархия вызовов, символы. Только чтение
edit_metadataсоздавать и менять метаданные и формы; массовые правки - batch=true
diagnosticsошибки проекта, сводки, перевалидация, проверка перед экспортом
launch_debuggerотладка целиком: запуск и attach, точки останова, шаги, переменные, evaluate, профилирование
project_adminпроекты, конфигурации, подсистемы, resync на диск, перезапуск EDT
infobase_adminИБ и запуск: приложения, создание и удаление ИБ, учетные данные, обновление, sync_control
config_ioимпорт и экспорт конфигурации и отдельных артефактов
insightsметрики, графы зависимостей, сравнение конфигураций, анализ влияния
security_auditроли, RLS, чувствительные данные
docs_lookupдокументация платформы и встроенная справка объектов
workspace_marksтеги, объекты по тегам, закладки, задачи
yaxunit_testsюнит-тесты YAxUnit

Данных информационной базы у плагина нет. browse_data, execute_query и фасад data_access из него удалены - звать их бесполезно. Запрос или чтение данных живой базы - скил 1c-mcp-toolkit (обработка по HTTP). Отладка отдает только состояние исполнения текущего кадра (get_variables, evaluate_expression), а не таблицы базы.

Одно исключение - журнал регистрации (с 0.2.27): infobase_admin operation=read_event_log читает журнал ФАЙЛОВОЙ базы прямо из плагина - кто входил, что проводилось, какие обновления платформа отвергла. Это не запрос к данным: журнал лежит файлами рядом с базой. Серверная база и однофайловый формат 1Cv8.lgd отвечают именованным отказом, а не пустым списком.

Состав операций каждого фасада - references/facades.md, здесь только маршрут: перечни операций намеренно не дублируются, иначе два списка расходятся.

Не фасады, вызываются напрямую: vanessa (сценарии Vanessa Automation - в каталоге описана одной строкой, параметры уточнять встроенной справкой сервера), self_status, конструкторы dcs_workshop (СКД), mxl_workshop (табличные документы), xdto_workshop (XDTO-пакеты), extension_workshop (расширения и заимствование), external_object_workshop (внешние обработки и отчеты), external_data_source_workshop.

Часть standalone-инструментов поглощена фасадами и остается backward-compat алиасами (примеры): get_project_errors / clean_project / revalidate_objects -> diagnostics; debug_launch / set_breakpoint / step / resume -> launch_debugger; get_tags / get_objects_by_tags / get_bookmarks / get_tasks -> workspace_marks.

Под пресетом Canonical поглощенные имена скрыты из tools/list (оставаясь вызываемыми), поэтому канонический вызов - через фасад: diagnostics operation=get_project_errors, launch_debugger action=launch. Ниже и в references имена операций пишутся короткой формой для узнаваемости.

Поглощены НЕ все. Самостоятельными остаются, в частности, write_module_source, validate_query, get_edt_version, read_module_source, read_method_source, get_module_structure, list_modules, ai_context, diff_module, get_form_structure, get_form_screenshot, code_review. Список не исчерпывающий - сверяться с tools/list и references/facades.md. Записи BSL в code_search нет вовсе: он только читает.

Навигация по references

НужноФайл
Что за фасад, какие операции, режим доступа (чтение / изменение / опасно)references/facades.md
Чтение и навигация по BSL, структура модулей, поиск, запись кодаreferences/code-and-model.md
Создание и правка метаданных, формы, макеты, конструкторыreferences/metadata-forms-constructors.md
ИБ, запуск, обновление, отладка, профилирование, тестыreferences/infobase-debug-tests.md
Ошибки проекта, валидация, метрики, графы, безопасностьreferences/diagnostics-analysis-security.md
Проект и воркспейс, метки, задачи, композитные агентские инструменты, пресеты видимостиreferences/project-tags-agent-helpers.md
Готовый порядок вызовов под конкретную задачуreferences/workflows.md
Теги ошибок, троттлинг, грабли, большие конфигурации, sync_controlreferences/gotchas-and-errors.md

Каталог в references/ - снимок docs AI-EDT на ревизии 4fb31770 (28.07.2026), 118 имен сверены с реестром групп ToolCategory.java. Снимок отстает от рабочего дерева форка: там уже появляются инструменты, которых нет ни в реестре групп, ни в docs (например find_dead_code), а число 118 полноты не доказывает.

Инструмент не нашелся в каталоге - не считать, что его нет, и не уходить в ручной обход. Порядок поиска: tools/list текущей сессии (там актуальный набор с учетом пресета) -> operation=help у профильного фасада (каталог операций) -> edit_metadata operation=help topic=availability (что доступно на этом runtime). self_status для этого НЕ годится: он показывает состояние сервера, служб EDT и очереди, а не каталог инструментов. Каталог устарел - пересобрать снимок из docs проекта, а не дописывать по памяти: именно так в скил попадали инструменты из старых версий.

Критические запреты и проверки

Полный список обязательных проверок с лимитами - rules/mcp-tool-priority.md, раздел "Обязательные проверки" (единственный источник). Здесь только то, без чего скил применять нельзя.

  1. BSL пишется через write_module_source, а не Edit/Write по .bsl: иначе EDT не увидит правку до refresh, теряется авто-валидация и подсчет строк. Перед первой записью в модуль - rules/edt-bsl-write-safety.md: там безопасные режимы (replaceMethod, replaceLines с expectedText, вставки insertBefore / insertAfter) и почему голый replace затирает модуль.
  2. Формы правятся form-операциями edit_metadata, а не ручным XML в .form.
  3. validate_query после каждого написанного или измененного запроса, не копя до конца; для СКД - dcsMode=true.
  4. validate_for_export перед любой записью конфигурации в ИБ и перед сборкой артефактов, включая неявную запись у yaxunit_tests. Findings блокируют операцию.

Остальные обязательные проверки (ask_1c_ai с обязательной верификацией его замечаний, порядок revalidate_objects -> get_project_errors, лимиты итераций, поведение при отказе сервера) не перечисляются здесь во избежание расхождений - они в rules/mcp-tool-priority.md, раздел "Обязательные проверки", пункты 1-6.

Экономия контекста

  • ai_context с target=<FQN> и depth=standard - один вызов вместо metadata + modules + structure.
  • get_module_structure -> read_method_source вместо чтения модуля целиком: работает и на модулях 25k+ строк, отдает точные границы методов дешево по токенам.
  • Крупные карты (list_modules, каталог FQN, структура большого модуля) кэшировать один раз в gitignored-файл проекта, а не перезапрашивать.
  • Тяжелые выборки уводить в субагента, чтобы сырье не оседало в основном контексте. Детали и запреты - references/gotchas-and-errors.md.

Обработка ошибок

Не ретраить вслепую: сигналы Pending/runKey, propertyMismatch, requiresCascadeForms, *ApiNotFound, BSL model is not available требуют разных действий. Полная таблица - references/gotchas-and-errors.md. Лимиты повторов и правило остановки (сменить подход, а не бросить задачу) заданы в rules/mcp-tool-priority.md, раздел "Троттлинг и ошибки" - там единственный источник.

Signals

GitHub stars
61
Forks
14
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ai-edt-tools
Source
github.com/desko77/claude-code-skills-1c