Install
$ agentstack add skill-desko77-claude-code-skills-1c-1c-edt-tools ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
1C:EDT MCP Tools — Reference Guide
MCP-сервер 1c-edt предоставляет прямой доступ к семантическому индексу EDT (BM model), платформенной документации, проверкам и управлению проектом. Все инструменты работают через живой экземпляр EDT и используют реальный AST/семантику, а не текстовый поиск.
When to Use
Используй инструменты 1c-edt когда:
- Нужно прочитать исходный код модуля или отдельного метода
- Нужно понять структуру модуля (список процедур/функций) без чтения всего файла
- Нужно найти все вызывающие места метода (call hierarchy)
- Нужно найти все ссылки на объект метаданных (references)
- Нужно проверить ошибки проекта или конкретного объекта
- Нужна документация по типам платформы (ТаблицаЗначений, Массив и т.д.)
- Нужно получить автодополнение (content assist) в конкретной позиции кода
- Нужно найти код по тексту/регулярному выражению во всех модулях
- Нужно получить свойства объектов метаданных или конфигурации
- Нужно обновить базу данных или запустить отладку
Prerequisites Check
Перед первым использованием любого инструмента проверь доступность MCP-сервера — вызови любой инструмент EDT-MCP (например get_edt_version). Если сервер не отвечает — сообщи пользователю: > EDT MCP сервер недоступен. Для использования инструментов анализа кода необходимо: > 1. Запустить 1C:EDT с открытым workspace > 2. Убедиться, что плагин EDT MCP Server установлен и активен (порт 8765)
Не пытайся вызывать инструменты без работающего сервера.
Important
- Параметр
projectName— имя проекта в EDT workspace (напримерРНК_ЕРПУХилиРНК_ЕРПУХ.Расширение1) - Параметр
modulePath— путь относительно папкиsrc/проекта (напримерCommonModules/Пользователи/Module.bsl) - Параметр
objectFqn— полное квалифицированное имя (напримерDocument.SalesOrder,Catalog.Products,CommonModule.Common). Поддерживает русские имена типов:Справочник.Номенклатура,Документ.ЗаказКлиента,ОбщийМодуль.ОбщегоНазначения - Все инструменты требуют предварительной загрузки через
ToolSearchс запросомselect:mcp__1c-edt__
Tools by Category
0. Unified facades (1.42 — предпочтительные точки входа)
В 1.42 добавлены 4 канонических фасада, которые объединяют наборы standalone-инструментов в одну точку входа. Используй их по умолчанию для нового кода — они делегируют к standalone-тулзам, но дают единый интерфейс через operation / action.
| Фасад | Зачем | Operations / Actions | |---|---|---| | code_search | Единый поиск по коду | text_search, object_references, method_references, resolve_symbol, call_hierarchy, help | | 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 | | edit_metadata | Конструктор метаданных, ~80 операций в 7 группах | Object, Specialized, Forms, Templates, Extensions, DCS, Common. См. operation=help topic=workflow\|composerWorkflow\|matrixWorkflow\|availability | | yaxunit_tests | Юнит-тесты YAxUnit | mode=run\|debug, фильтры (extensions/modules/tests/suites/tags/contexts), updateBeforeLaunch=true, Pending-механизм, help=topics\|writing\|assertions\|setup\|events\|advanced |
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).
Standalone-инструменты (search_in_code, find_references, go_to_definition, get_method_call_hierarchy, debug_launch, set_breakpoint, ...) остаются доступны для backward compatibility и описаны в секциях ниже.
1. Code Reading, Navigation and Editing
read_module_source — Чтение исходного кода модуля
Читает весь BSL-файл или диапазон строк. Возвращает код с номерами строк.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | modulePath | да | Путь к BSL-файлу (CommonModules/MyModule/Module.bsl) | | startLine | нет | Начальная строка (1-based) | | endLine | нет | Конечная строка (1-based, включительно) |
Совет: Для больших модулей используй startLine/endLine вместо чтения целиком.
write_module_source — Запись BSL-кода в модуль
Записывает BSL-код в модули объектов метаданных с автоматической проверкой синтаксиса. Поддерживает три режима: поиск и замена фрагмента, полная замена модуля, добавление в конец. Модуль можно указать либо через modulePath, либо через objectName + moduleType.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | modulePath | нет | Путь от src/ (Documents/MyDoc/ObjectModule.bsl). Альтернатива objectName + moduleType | | objectName | нет | Полное имя объекта (Document.MyDoc, CommonModule.MyModule). Поддерживает русские имена | | moduleType | нет | Тип модуля: ObjectModule (по умолчанию), ManagerModule, FormModule, CommandModule, RecordSetModule | | source | да | BSL-код: для searchReplace — новый код замены, для replace — полное содержимое, для append — добавляемый код | | oldSource | нет** | Существующий код для замены (обязателен для searchReplace). Должен совпадать ровно в одном месте файла | | mode | нет | Режим: searchReplace (по умолчанию), replace, append | | formName | нет | Имя формы (обязательно при moduleType=FormModule) | | commandName | нет | Имя команды (обязательно при moduleType=CommandModule) | | skipSyntaxCheck | нет | Пропустить проверку синтаксиса (по умолчанию false). Проверяет парность Процедура/КонецПроцедуры, Если/КонецЕсли и т.д. |
Преимущество: автоматическая проверка синтаксиса после записи — ошибки обнаруживаются сразу.
read_method_source — Чтение одного метода
Извлекает код конкретной процедуры/функции по имени. Не нужно читать весь модуль.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | modulePath | да | Путь к BSL-файлу | | methodName | да | Имя процедуры/функции (регистронезависимо) |
get_module_structure — Структура модуля
Возвращает список всех процедур/функций с сигнатурами, номерами строк, регионами, директивами компиляции и флагом Экспорт. Позволяет понять модуль без чтения всего кода.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | modulePath | да | Путь к BSL-файлу | | includeVariables | нет | Включить объявления переменных модуля (по умолчанию false) | | includeComments | нет | Включить doc-комментарии методов (по умолчанию false) |
get_method_call_hierarchy — Иерархия вызовов (callers/callees)
Находит вызывающие (callers) или вызываемые (callees) методы через семантический индекс EDT (AST, не текстовый поиск). Аналог Call Hierarchy в IDE.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | modulePath | да | Путь к BSL-файлу, где определён метод | | methodName | да | Имя процедуры/функции (регистронезависимо) | | direction | нет | callers (кто вызывает, по умолчанию) или callees (что вызывает метод) | | limit | нет | Макс. результатов (по умолчанию 100, макс. 500) |
go_to_definition — Переход к определению символа
Навигация к определению метода или объекта метаданных. Обратная операция к find_references: вместо поиска использований — находит, где символ определён. Поддерживает русские имена типов метаданных.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | symbol | да | Символ для поиска определения. Форматы: МодульИмя.МетодИмя (метод общего модуля), МетодИмя (метод в контекстном модуле, требует modulePath), FQN метаданных (Catalog.Products, Документ.ЗаказКлиента) | | modulePath | нет | Контекстный модуль (Documents/SalesOrder/ObjectModule.bsl). Обязателен когда symbol — неквалифицированное имя метода | | includeSource | нет | Включить исходный код метода (по умолчанию true) |
get_symbol_info — Информация о символе в позиции кода
Получает type/hover информацию о символе в конкретной позиции BSL-файла — то же, что EDT показывает при наведении мыши. Полезно для понимания типов переменных в динамически типизированном BSL.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | filePath | да | Путь к BSL-файлу относительно src/ | | line | да | Номер строки (1-based) | | column | да | Номер колонки (1-based) |
Возвращает: имя символа, тип (Function/Procedure/Parameter и др.), сигнатуру, параметры, документацию.
list_modules — Список модулей
Перечисляет все BSL-модули объекта или всего проекта (МодульОбъекта, МодульМенеджера, МодулиФорм и т.д.).
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | objectName | нет | Имя объекта (Products). Без него — все модули проекта | | metadataType | нет | Фильтр по типу (documents, catalogs, commonModules, informationRegisters, accumulationRegisters, reports, dataProcessors, exchangePlans, businessProcesses, tasks, constants, commonCommands, commonForms, webServices, httpServices) | | nameFilter | нет | Подстрока для фильтрации по пути модуля (регистронезависимо) | | limit | нет | Макс. результатов (по умолчанию 200, макс. 1000) |
ai_context - Агрегированный контекст объекта
Собирает в одном вызове metadata, список BSL-модулей и структуру модуля. Заменяет последовательность get_metadata_details + list_modules + get_module_structure одним запросом - экономит round-trips. Поддерживает уровни детализации.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | target | да | FQN объекта (Catalog.Products, CommonModule.MyModule, Справочник.Номенклатура) или путь модуля (CommonModules/MyModule/Module.bsl) | | depth | нет | minimal (metadata + список модулей), standard (+ структура методов, по умолчанию), full (+ исходный код) | | focusMethod | нет | Имя метода для детального анализа - только его исходник включается в режиме full | | includeSource | нет | Включать исходный код независимо от depth. По умолчанию: false для minimal/standard, true для full | | maxMethods | нет | Макс. методов в структуре на модуль (по умолчанию 30) |
Совет: Используй перед тем как начать доработку объекта - один вызов вместо трех.
diff_module - Сравнение модуля с VCS
Показывает что изменилось в BSL-модуле по сравнению с предыдущей версией в git: добавленные/измененные/удаленные методы, построчный diff. Критично для code review.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | modulePath | нет | Путь от src/ (Documents/MyDoc/ObjectModule.bsl). Альтернатива objectName + moduleType | | objectName | нет | Полное имя объекта (Document.MyDoc, DataProcessor.MyProcessor, Документ.МойДок) | | moduleType | нет | Тип модуля (с objectName): ObjectModule (по умолчанию), ManagerModule, FormModule, CommandModule, RecordSetModule | | mode | нет | summary (обзор методов, по умолчанию), unified (полный git diff), methods (отдельный diff на каждый измененный метод) | | contextLines | нет | Количество строк контекста для unified (по умолчанию 3) | | formName | нет | Имя формы (обязательно при moduleType=FormModule) | | commandName | нет | Имя команды (обязательно при moduleType=CommandModule) |
Новый файл: если модуль не в VCS - вернет isNewFile: true и список всех методов как добавленных.
2. Code Search
search_in_code — Полнотекстовый поиск по коду
Поиск по всем BSL-модулям конфигурации. Поддерживает текст и regex, регистрозависимость, контекстные строки, фильтрацию по пути и типу метаданных.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | query | да | Текст поиска или regex-паттерн | | isRegex | нет | Использовать как regex (по умолчанию false) | | caseSensitive | нет | Регистрозависимый поиск (по умолчанию false) | | fileMask | нет | Фильтр по подстроке пути модуля (CommonModules, Documents/SalesOrder) | | metadataType | нет | Фильтр по типу метаданных (documents, catalogs, commonModules и т.д.) | | contextLines | нет | Кол-во строк контекста (по умолчанию 2, макс. 5) | | maxResults | нет | Макс. совпадений (по умолчанию 100, макс. 500) | | outputMode | нет | Режим вывода: full (совпадения с контекстом, по умолчанию), count (только количество, быстро), files (список файлов с числом совпадений) |
get_content_assist — Автодополнение кода
Получает предложения автодополнения в конкретной позиции BSL-файла. Открывает файл в редакторе EDT.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | filePath | да | Путь к BSL-файлу | | line | да | Номер строки (1-based) | | column | да | Номер колонки (1-based) | | contains | нет | Фильтр по подстроке (через запятую: Insert,Add) | | extendedDocumentation | нет | Полная документация (по умолчанию false) | | limit | нет | Макс. предложений | | offset | нет | Пропустить N предложений (пагинация) |
3. Metadata Inspection
get_metadata_objects — Список объектов метаданных
Возвращает Name, Synonym, Comment, Type, наличие модулей. Поддерживает фильтрацию.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | metadataType | нет | Тип: all, documents, catalogs, informationRegisters, accumulationRegisters, commonModules, enums, constants, reports, dataProcessors, exchangePlans, businessProcesses, tasks, commonAttributes, eventSubscriptions, scheduledJobs | | nameFilter | нет | Частичное совпадение имени (регистронезависимо) | | language | нет | Язык синонимов (en, ru) | | limit | нет | Макс. результатов (по умолчанию 100) |
get_metadata_details — Детальные свойства объектов
Возвращает полные свойства объектов метаданных (реквизиты, ТЧ, формы, макеты и т.д.).
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | objectFqns | да | Массив FQN: ['Catalog.Products', 'Document.SalesOrder'] | | full | нет | Все свойства (true) или ключевые (false, по умолчанию) | | language | нет | Язык синонимов |
find_references — Поиск ссылок на объект метаданных
Находит все места использования объекта: в других метаданных, в BSL-коде с номерами строк, формах, ролях, подсистемах. Работает только для top-level объектов.
| Параметр | Обязательный | Описание | |---|:---:|---| | projectName | да | Имя проекта EDT | | objectFqn | да | FQN объекта (Catalog.Products, CommonModule.Common) | | limit | нет | Макс. результатов на категорию (по умолчанию 100) | | deep | нет | true — производные типы (Type[Reference]/[Manager]/[Selection]/[Object]/[Cache]/[List]) (1.31) | | skipBsl | нет | true — пропустить медленную BSL-фазу, вернуть только metadata-ссылки за секунды. Полезно для крупных объектов вроде Справочник.Сотрудники (1.40.6) | | bslOnly | нет | true — только BSL-код, без metadata back-references. Взаимоисключим с skipBsl (1.40.6) | | categories | нет | CSV whitelist: back,produced,predefined,fields,bsl. Default — все включены (1.40.6) | | timeoutSeconds | нет | Soft timeout до возврата Pending JSON. Range [5, 120], default 30 (1.41) | | runKey | нет | Resume polling предыдущего запроса — передать runKey из Pending response. Те же params → тот же runKey (1.41) |
Pending pattern (1.41): на больших объектах BSL-фаза легко 30-120 сек. При timeo
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Desko77
- Source: Desko77/claude-code-skills-1c
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.