Свой MCP-сервер для метаданных 1С
Для эффективного использования современных LLM им не хватает контекста об 1С, как минимум, знания структуры метаданных 1С, а еще лучше знаний БСП и синтакс-помощника 🙂
Технология MCP помогает решать эту проблему.
Под катом описание MVP-решения, которое можно далее дорабатывать под себя. Мне сильно не хватало подобной статьи, чтобы сэкономить бессонные ночи.
- Описание
- Подробнее
Описание
Как и многие из вас, я пробую использовать LLM’ки для программирования на 1С. Для задач, связанных с интеграциями или чисто алгоритмических вопросов — это уже классно помогает. Но большая часть нашей работы все же предполагает знание структуры метаданных 1С (а еще лучше с БСП и синтакс-помощника).
Встроенную в 1С выгрузку в xml-файлы я даже не рассматривал, очевидно, что объемы будут несовместимыми с контекстами LLM, даже с 1 млн токенов у Gemini. Описание структуры среднего документа/справочника само по себе не маленькое, а с избыточностью xml-разметки — это вообще жесть.
Первое время, пока не было популярности MCP, я использовал простой ручной подход:
- Внешней обработкой выгружал описание метаданных в markdown разметке (маркдаун хорошо понимают LLM’ки, а объемом сильно компактнее xml).
- Выгружал конкретный объект и, опционально, связанные с ним объекты.
Подставляя такой файлик в контекст запроса к LLM, получается сильно качественнее результат.
В последние месяцы только и разговоров что об MCP. Это классное решение, которое позволяет LLM’ке самой дозапрашивать данные. Нужно было только мою ручную маркдаун-выгрузку обернуть в MCP-сервер с RAG’ом на векторной БД.
Ниже описание MVP-решения, которое можно далее дорабатывать под себя. Мне сильно не хватало подобной статьи, чтобы сэкономить бессонные ночи.
Демо
Топовые LLM’ки неплохо знают некоторый собирательный образ типовых конфигураций 1С, поэтому и без MCP/RAG могут написать валидный код. Более наглядно будет на отраслевых конфигурациях, чей исходный код они либо не видели, либо видели крайне мало. На видео пример с Рарус Аптекой (УНФ):

