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.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add Desko77/claude-code-skills-1c --skill ai-edt-tools --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ai Edt Tools?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/desko77-ai-edt-tools)More formats (shields.io, HTML) on the badges page.
---
name: ai-edt-tools
description: "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."
---
# AI-EDT MCP Tools
MCP-сервер **ai-edt** дает прямой доступ к семантическому индексу EDT (BM model), платформенной
документации, проверкам, отладке и конструкторам метаданных. Работает через живой экземпляр EDT. Semantic-
операции (ссылки, определения, иерархия вызовов, структура модуля) идут по BM-модели и AST, а не по
текстовому совпадению; текстовый и regex-поиск в каталоге тоже есть (`code_search operation=text_search`).
Каталог инструментов вынесен в `references/` - читай нужный файл по ситуации, а не весь набор.
> **Навык написан под [AI-EDT](https://github.com/Desko77/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_control | `references/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`, раздел "Троттлинг и ошибки" - там единственный источник.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!