AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

1c Edt Tools

skill-desko77-claude-code-skills-1c-1c-edt-tools · by Desko77

1C: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:Enterprise development task.

No reviews yet
0 installs
42 views
0.0% view→install

Install

$ agentstack add skill-desko77-claude-code-skills-1c-1c-edt-tools

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-desko77-claude-code-skills-1c-1c-edt-tools)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of 1c Edt Tools? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.