AI-EDT MCP Tools
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_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, раздел "Обязательные
проверки" (единственный источник). Здесь только то, без чего скил применять нельзя.
- BSL пишется через
write_module_source, а не Edit/Write по .bsl: иначе EDT не увидит правку до
refresh, теряется авто-валидация и подсчет строк. Перед первой записью в модуль -
rules/edt-bsl-write-safety.md: там безопасные режимы (replaceMethod, replaceLines с
expectedText, вставки insertBefore / insertAfter) и почему голый replace затирает модуль.
- Формы правятся form-операциями
edit_metadata, а не ручным XML в .form.
validate_query после каждого написанного или измененного запроса, не копя до конца; для СКД -
dcsMode=true.
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, раздел "Троттлинг и ошибки" - там единственный источник.
1---2name: ai-edt-tools3description: 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.4---56# AI-EDT MCP Tools78MCP-сервер **ai-edt** дает прямой доступ к семантическому индексу EDT (BM model), платформенной9документации, проверкам, отладке и конструкторам метаданных. Работает через живой экземпляр EDT. Semantic-10операции (ссылки, определения, иерархия вызовов, структура модуля) идут по BM-модели и AST, а не по11текстовому совпадению; текстовый и regex-поиск в каталоге тоже есть (`code_search operation=text_search`).1213Каталог инструментов вынесен в `references/` - читай нужный файл по ситуации, а не весь набор.1415> **Навык написан под [AI-EDT](https://github.com/Desko77/ai-edt)** - MCP-сервер работает плагином16> внутри запущенной 1C:EDT (update site: https://desko77.github.io/ai-edt/). Весь каталог в17> `references/` описывает именно его: больше сотни операций, свернутых в **фасады** с маршрутизацией18> через `operation=`.19>20> Если подключен ДРУГОЙ MCP-плагин для EDT, этот каталог к нему неприменим: там свой набор21> инструментов, свои имена и фасадов может не быть вовсе - вызов вида22> `diagnostics operation=get_project_errors` вернет ошибку. Ключ сервера тоже свой. Порядок в этом23> случае: взять фактические имена из `tools/list` сессии и работать по документации своего плагина;24> общие принципы навыка (что проверять после правки, чего не подменять ручной правкой файлов)25> остаются в силе.2627## When to Use2829- Анализ и правка BSL: модули, методы, ссылки, вызовы, рефакторинг.30- Метаданные: чтение, создание, изменение, удаление, переименование с каскадом.31- Формы: структура, скриншот из WYSIWYG-редактора, правка без ручного XML.32- Запросы 1С: валидация синтаксиса и семантики до запуска.33- Ошибки проекта, обновление ИБ, юнит-тесты YAxUnit, отладка и профилирование.3435Для BSL и метаданных 1С этот сервер приоритетнее Grep/Read и точнее любого текстового поиска.3637## Когда НЕ использовать3839- **1С 7.7** (`.1s`, `.ert`, `1Cv7.MD`) - скил `1c77-dev` и сервер `1c77-metadata`: инструменты EDT к 7.740 неприменимы.41- **Обычные (неуправляемые) формы и проект в формате Конфигуратора без EDT-проекта** - каталог рассчитан на42 управляемые формы и EDT-модель; для XML-выгрузки Конфигуратора есть отдельные скилы `1c-*` (cf/epf/erf).43- **Данные живой базы вне отладочной сессии** - скил `1c-mcp-toolkit` по HTTP.44- **EDT не запущена** - инструменты недоступны; сообщить пользователю, а не переходить на ручную правку45 файлов проекта.4647## Prerequisites4849`get_edt_version` - проба. Не ответил - корректный вывод "ai-edt недоступен", а НЕ "EDT не запущена": та же50картина бывает при недоступном MCP-сервере, зависшей очереди вызовов и несовместимом плагине. При ошибке51связи или timeout `self_status` НЕ вызывать - он на том же сервере; он полезен только когда сервер отвечает,52но операция не проходит. Разбор случаев и что делать в каждом - `rules/mcp-tool-priority.md`, раздел "Когда53инструменты недоступны". Коротко: анализировать без MCP можно, писать в проект вслепую - нельзя.5455## Ключевые фасады - точки входа5657Фасад заменяет набор родственных standalone-инструментов: одна точка входа, действие выбирается параметром58`operation` (у отладчика - `action`). У большинства есть встроенная справка: `operation=help`, детали59конкретной операции - `operation=help topic=<операция>`.6061| Фасад | Когда брать |62|---|---|63| `code_search` | исследовать код и модель: поиск, ссылки, определения, иерархия вызовов, символы. Только чтение |64| `edit_metadata` | создавать и менять метаданные и формы; массовые правки - `batch=true` |65| `diagnostics` | ошибки проекта, сводки, перевалидация, проверка перед экспортом |66| `launch_debugger` | отладка целиком: запуск и attach, точки останова, шаги, переменные, evaluate, профилирование |67| `project_admin` | проекты, конфигурации, подсистемы, resync на диск, перезапуск EDT |68| `infobase_admin` | ИБ и запуск: приложения, создание и удаление ИБ, учетные данные, обновление, `sync_control` |69| `config_io` | импорт и экспорт конфигурации и отдельных артефактов |70| `insights` | метрики, графы зависимостей, сравнение конфигураций, анализ влияния |71| `security_audit` | роли, RLS, чувствительные данные |72| `docs_lookup` | документация платформы и встроенная справка объектов |73| `workspace_marks` | теги, объекты по тегам, закладки, задачи |74| `yaxunit_tests` | юнит-тесты YAxUnit |7576**Данных информационной базы у плагина нет.** `browse_data`, `execute_query` и фасад `data_access` из него77удалены - звать их бесполезно. Запрос или чтение данных живой базы - скил `1c-mcp-toolkit` (обработка по HTTP). Отладка отдает только состояние исполнения текущего кадра78(`get_variables`, `evaluate_expression`), а не таблицы базы.7980**Одно исключение - журнал регистрации** (с 0.2.27): `infobase_admin operation=read_event_log` читает журнал81ФАЙЛОВОЙ базы прямо из плагина - кто входил, что проводилось, какие обновления платформа отвергла.82Это не запрос к данным: журнал лежит файлами рядом с базой. Серверная база и однофайловый формат83`1Cv8.lgd` отвечают именованным отказом, а не пустым списком.8485Состав операций каждого фасада - `references/facades.md`, здесь только маршрут: перечни операций намеренно86не дублируются, иначе два списка расходятся.8788Не фасады, вызываются напрямую: `vanessa` (сценарии Vanessa Automation - в каталоге описана одной строкой,89параметры уточнять встроенной справкой сервера), `self_status`, конструкторы `dcs_workshop` (СКД),90`mxl_workshop` (табличные документы), `xdto_workshop` (XDTO-пакеты), `extension_workshop` (расширения и91заимствование), `external_object_workshop` (внешние обработки и отчеты), `external_data_source_workshop`.9293Часть standalone-инструментов поглощена фасадами и остается backward-compat алиасами (примеры):94`get_project_errors` / `clean_project` / `revalidate_objects` -> `diagnostics`; `debug_launch` /95`set_breakpoint` / `step` / `resume` -> `launch_debugger`; `get_tags` / `get_objects_by_tags` /96`get_bookmarks` / `get_tasks` -> `workspace_marks`.9798**Под пресетом Canonical поглощенные имена скрыты из `tools/list`** (оставаясь вызываемыми), поэтому99канонический вызов - через фасад: `diagnostics operation=get_project_errors`, `launch_debugger action=launch`.100Ниже и в references имена операций пишутся короткой формой для узнаваемости.101102Поглощены НЕ все. Самостоятельными остаются, в частности, `write_module_source`, `validate_query`,103`get_edt_version`, `read_module_source`, `read_method_source`, `get_module_structure`, `list_modules`,104`ai_context`, `diff_module`, `get_form_structure`, `get_form_screenshot`, `code_review`. Список не105исчерпывающий - сверяться с `tools/list` и `references/facades.md`. Записи BSL в `code_search` нет вовсе:106он только читает.107108## Навигация по references109110| Нужно | Файл |111|---|---|112| Что за фасад, какие операции, режим доступа (чтение / изменение / опасно) | `references/facades.md` |113| Чтение и навигация по BSL, структура модулей, поиск, запись кода | `references/code-and-model.md` |114| Создание и правка метаданных, формы, макеты, конструкторы | `references/metadata-forms-constructors.md` |115| ИБ, запуск, обновление, отладка, профилирование, тесты | `references/infobase-debug-tests.md` |116| Ошибки проекта, валидация, метрики, графы, безопасность | `references/diagnostics-analysis-security.md` |117| Проект и воркспейс, метки, задачи, композитные агентские инструменты, пресеты видимости | `references/project-tags-agent-helpers.md` |118| Готовый порядок вызовов под конкретную задачу | `references/workflows.md` |119| Теги ошибок, троттлинг, грабли, большие конфигурации, sync_control | `references/gotchas-and-errors.md` |120121Каталог в `references/` - снимок docs AI-EDT на ревизии `4fb31770` (28.07.2026), 118 имен сверены с122реестром групп `ToolCategory.java`. **Снимок отстает от рабочего дерева форка**: там уже появляются123инструменты, которых нет ни в реестре групп, ни в docs (например `find_dead_code`), а число 118 полноты не124доказывает.125126Инструмент не нашелся в каталоге - не считать, что его нет, и не уходить в ручной обход. Порядок поиска:127`tools/list` текущей сессии (там актуальный набор с учетом пресета) -> `operation=help` у профильного фасада128(каталог операций) -> `edit_metadata operation=help topic=availability` (что доступно на этом runtime).129`self_status` для этого НЕ годится: он показывает состояние сервера, служб EDT и очереди, а не каталог130инструментов. Каталог устарел - пересобрать снимок из docs проекта, а не дописывать по памяти: именно так в131скил попадали инструменты из старых версий.132133## Критические запреты и проверки134135Полный список обязательных проверок с лимитами - `rules/mcp-tool-priority.md`, раздел "Обязательные136проверки" (единственный источник). Здесь только то, без чего скил применять нельзя.1371381. **BSL пишется через `write_module_source`**, а не Edit/Write по `.bsl`: иначе EDT не увидит правку до139 refresh, теряется авто-валидация и подсчет строк. Перед первой записью в модуль -140 `rules/edt-bsl-write-safety.md`: там безопасные режимы (`replaceMethod`, `replaceLines` с141 `expectedText`, вставки `insertBefore` / `insertAfter`) и почему голый `replace` затирает модуль.1422. **Формы правятся form-операциями `edit_metadata`**, а не ручным XML в `.form`.1433. **`validate_query` после каждого написанного или измененного запроса**, не копя до конца; для СКД -144 `dcsMode=true`.1454. **`validate_for_export` перед любой записью конфигурации в ИБ и перед сборкой артефактов**, включая146 неявную запись у `yaxunit_tests`. Findings блокируют операцию.147148Остальные обязательные проверки (`ask_1c_ai` с обязательной верификацией его замечаний, порядок149`revalidate_objects` -> `get_project_errors`, лимиты итераций, поведение при отказе сервера) не150перечисляются здесь во избежание расхождений - они в `rules/mcp-tool-priority.md`, раздел "Обязательные151проверки", пункты 1-6.152153## Экономия контекста154155- `ai_context` с `target=<FQN>` и `depth=standard` - один вызов вместо metadata + modules + structure.156- `get_module_structure` -> `read_method_source` вместо чтения модуля целиком: работает и на модулях 25k+157 строк, отдает точные границы методов дешево по токенам.158- Крупные карты (`list_modules`, каталог FQN, структура большого модуля) кэшировать один раз в159 gitignored-файл проекта, а не перезапрашивать.160- Тяжелые выборки уводить в субагента, чтобы сырье не оседало в основном контексте. Детали и запреты -161 `references/gotchas-and-errors.md`.162163## Обработка ошибок164165Не ретраить вслепую: сигналы `Pending`/`runKey`, `propertyMismatch`, `requiresCascadeForms`,166`*ApiNotFound`, `BSL model is not available` требуют разных действий. Полная таблица - 167`references/gotchas-and-errors.md`. Лимиты повторов и правило остановки (сменить подход, а не бросить168задачу) заданы в `rules/mcp-tool-priority.md`, раздел "Троттлинг и ошибки" - там единственный источник.