$npx -y skills add Desko77/cursor-1c-skills --skill 1c-edt-tools1C:Enterprise (1С:Предприятие) development tools via EDT MCP server — BSL code analysis, metadata inspection, module navigation, error checking, debugging, configuration management. Use when working with 1C code, BSL modules, 1C metadata, 1C queries, 1C forms, or any 1C:Enterpris
| 1 | # 1C:EDT MCP Tools — Reference Guide |
| 2 | |
| 3 | MCP-сервер **1c-edt** предоставляет прямой доступ к семантическому индексу EDT (BM model), платформенной документации, проверкам и управлению проектом. Все инструменты работают через живой экземпляр EDT и используют реальный AST/семантику, а не текстовый поиск. |
| 4 | |
| 5 | ## When to Use |
| 6 | |
| 7 | Используй инструменты 1c-edt когда: |
| 8 | - Нужно прочитать исходный код модуля или отдельного метода |
| 9 | - Нужно понять структуру модуля (список процедур/функций) без чтения всего файла |
| 10 | - Нужно найти все вызывающие места метода (call hierarchy) |
| 11 | - Нужно найти все ссылки на объект метаданных (references) |
| 12 | - Нужно проверить ошибки проекта или конкретного объекта |
| 13 | - Нужна документация по типам платформы (ТаблицаЗначений, Массив и т.д.) |
| 14 | - Нужно получить автодополнение (content assist) в конкретной позиции кода |
| 15 | - Нужно найти код по тексту/регулярному выражению во всех модулях |
| 16 | - Нужно получить свойства объектов метаданных или конфигурации |
| 17 | - Нужно обновить базу данных или запустить отладку |
| 18 | |
| 19 | ## Prerequisites Check |
| 20 | |
| 21 | Перед первым использованием любого инструмента проверь доступность MCP-сервера — вызови любой инструмент EDT-MCP (например `get_edt_version`). |
| 22 | Если сервер **не отвечает** — сообщи пользователю: |
| 23 | > EDT MCP сервер недоступен. Для использования инструментов анализа кода необходимо: |
| 24 | > 1. Запустить 1C:EDT с открытым workspace |
| 25 | > 2. Убедиться, что плагин EDT MCP Server установлен и активен (порт 8765) |
| 26 | |
| 27 | Не пытайся вызывать инструменты без работающего сервера. |
| 28 | |
| 29 | ## Important |
| 30 | |
| 31 | - Параметр `projectName` — имя проекта в EDT workspace (например `РНК_ЕРПУХ` или `РНК_ЕРПУХ.Расширение1`) |
| 32 | - Параметр `modulePath` — путь относительно папки `src/` проекта (например `CommonModules/Пользователи/Module.bsl`) |
| 33 | - Параметр `objectFqn` — полное квалифицированное имя (например `Document.SalesOrder`, `Catalog.Products`, `CommonModule.Common`). Поддерживает русские имена типов: `Справочник.Номенклатура`, `Документ.ЗаказКлиента`, `ОбщийМодуль.ОбщегоНазначения` |
| 34 | - Все инструменты требуют предварительной загрузки через `ToolSearch` с запросом `select:mcp__1c-edt__<tool_name>` |
| 35 | |
| 36 | --- |
| 37 | |
| 38 | ## Tools by Category |
| 39 | |
| 40 | ### 0. Unified facades (1.42 — предпочтительные точки входа) |
| 41 | |
| 42 | В 1.42 добавлены 4 канонических фасада, которые объединяют наборы standalone-инструментов в одну точку входа. Используй их по умолчанию для нового кода — они делегируют к standalone-тулзам, но дают единый интерфейс через `operation` / `action`. |
| 43 | |
| 44 | | Фасад | Зачем | Operations / Actions | |
| 45 | |---|---|---| |
| 46 | | `code_search` | Единый поиск по коду | `text_search`, `object_references`, `method_references`, `resolve_symbol`, `call_hierarchy`, `help` | |
| 47 | | `launch_debugger` | Единая отладка BSL | `launch`, `add_breakpoint`, `remove_breakpoint`, `list_breakpoints`, `wait_for_break`, `get_state`, `get_variables`, `step_over`, `step_into`, `step_out`, `resume`, `evaluate`, `start_profiling`, `get_profiling_results`, `debug_status`, `help` | |
| 48 | | `edit_metadata` | Конструктор метаданных, ~80 операций в 7 группах | Object, Specialized, Forms, Templates, Extensions, DCS, Common. См. `operation=help topic=workflow\|composerWorkflow\|matrixWorkflow\|availability` | |
| 49 | | `yaxunit_tests` | Юнит-тесты YAxUnit | `mode=run\|debug`, фильтры (extensions/modules/tests/suites/tags/contexts), `updateBeforeLaunch=true`, Pending-механизм, `help=topics\|writing\|assertions\|setup\|events\|advanced` | |
| 50 | |
| 51 | **Naming convention 1.42:** tool names — `snake_case` (`search_in_code`, `code_search`, `launch_debugger`); operation names в multi-op инструментах — `snake_case` (`create_object`, `add_form_event_handler`, `text_search`, `add_breakpoint`); JSON параметры — `camelCase` (`projectName`, `ownerFqn`, `dryRun`). |
| 52 | |
| 53 | Standalone-инструменты (`search_in_code`, `find_references`, `go_to_definition`, `get_method_call_hierarchy`, `debug_launch`, `set_breakpoint`, ...) остаются доступны для backward compatibility и описаны в секциях ниже. |
| 54 | |
| 55 | --- |
| 56 | |
| 57 | ### 1. Code Reading, Navigation and Editing |
| 58 | |
| 59 | #### `read_module_source` — Чтение исходного кода модуля |
| 60 | Читает весь BSL-файл или диапазон строк. Возвращает код с номерами строк. |
| 61 | |
| 62 | | Параметр | Обязательный | Описание | |
| 63 | |---|:---:|---| |
| 64 | | `projectName` | да | Имя проекта EDT | |
| 65 | | `modulePath` | да | Путь к BSL-файлу (`CommonModules/MyModule/Module.bsl`) | |
| 66 | | `startLine` | нет | Начальная строка (1-based) | |
| 67 | | `endLine` | нет | Конечная строка (1-based, включительно) | |
| 68 | |
| 69 | **Совет:** Для больших модулей используй `startLine`/`endLine` вместо чтения целиком. |
| 70 | |
| 71 | #### `write_module_source` — Запись BSL-кода в модуль |
| 72 | Записывает BSL-код в модули объектов метаданных с автоматической проверкой синтаксиса. Поддерживает три режима: поиск и замена фрагмента, полная замена модуля, добавлен |