CodeMetadataSearchServer

Поиск по метаданным, справке, коду, формам и зависимостям конфигурации 1С. Генерация и валидация XML.

Назначение

CodeMetadataSearchServer — комплексный MCP-сервер для глубокой работы с конфигурацией 1С. Индексирует метаданные, код модулей, формы, HTML-справку и XML-определения. Предоставляет ИИ 15 инструментов для:

  • Семантического и структурного поиска по метаданным конфигурации

  • Полнотекстового и векторного поиска по коду модулей

  • Анализа структуры BSL-модулей, иерархии вызовов и зависимостей

  • Поиска и анализа форм объектов конфигурации

  • Поиска по HTML-справке конфигурации

  • Генерации XSD-схем и валидации XML

Доступные инструменты MCP (15)

Инструменты сгруппированы по функциональным областям.

Метаданные

Инструмент
Описание

metadatasearch

Поиск объектов конфигурации по имени или описанию

get_metadata_details

Детальная структура объекта: реквизиты, типы, табличные части, синонимы

Код

Инструмент
Описание

codesearch

Поиск по коду модулей объектов, форм и общих модулей

search_function

Поиск процедуры или функции BSL по имени

get_module_structure

Полная структура BSL-модуля: процедуры, функции, области, статистика

get_method_call_hierarchy

Иерархия вызовов метода: кто вызывает и что вызывается

search_forms

Поиск форм объектов конфигурации

inspect_form_layout

Детальная структура формы: элементы, реквизиты, команды, обработчики

graph_dependencies

Граф зависимостей объекта конфигурации

bsl_scope_members

Доступные методы, свойства и события для BSL-контекста

Справка

Инструмент
Описание

helpsearch

Поиск по HTML-справке конфигурации

XSD-схемы

Инструмент
Описание

get_xsd_schema

Получение XSD-схемы для типа объекта метаданных

verify_xml

Валидация XML-содержимого по XSD-схеме

Служебные (всегда доступны)

Инструмент
Описание

reindex

Запуск переиндексации в фоновом режиме

stats

Статистика индексов, модель эмбеддингов, аптайм


Описание инструментов

metadatasearch

Поиск объектов метаданных, реквизитов и типов в конфигурации 1С. Для поиска по имени используйте формат вида Справочники.ИмяСправочника.Реквизиты. Для поиска по описанию — текст на русском языке. Используйте точное имя конфигурации, если оно известно.

Параметр
Тип
По умолчанию
Описание

query

string

Имя или описание объекта метаданных

limit

int

5

Количество результатов

object_type

string

""

Фильтр по типу метаданных 1С (Справочник, Документ, РегистрСведений и т.д.)

names_only

bool

false

Компактный список имён объектов (full_path, object_type, synonym) вместо текстовых чанков. Используйте names_only=true для определения релевантных объектов конфигурации, затем получайте детали через get_metadata_details

get_metadata_details

Возвращает детальную структуру объекта метаданных: реквизиты с типами, табличные части, синонимы и свойства.

Параметр
Тип
По умолчанию
Описание

object_name

string

Имя или полный путь объекта (Номенклатура, Справочники.Номенклатура, Документ.РеализацияТоваровУслуг)

codesearch

Поиск по коду модулей объектов, форм и общих модулей. Принимает фрагменты кода, имена функций или комментарии.

Параметр
Тип
По умолчанию
Описание

query

string

Код, имя функции, комментарий или описание искомого кода

limit

int

5

Количество результатов

search_function

Поиск процедуры или функции BSL по имени. Поддерживает точный поиск с автоматическим переключением на нечёткий, а также префиксный поиск.

Параметр
Тип
По умолчанию
Описание

name

string

Имя процедуры/функции (ОбработкаПроведения, ПриСозданииНаСервере)

exact

bool

true

Точное совпадение (с автоматическим fallback на нечёткий поиск). false — префиксный/нечёткий поиск

limit

int

10

Количество результатов

get_module_structure

Возвращает полную структуру BSL-модуля: все процедуры, функции, области и статистику.

Параметр
Тип
По умолчанию
Описание

module_path

string

Путь к BSL-модулю (полный или частичный)

get_method_call_hierarchy

Возвращает иерархию вызовов для BSL-метода: кто вызывает этот метод (callers), что вызывает этот метод (callees), или оба направления.

Параметр
Тип
По умолчанию
Описание

method_name

string

Имя процедуры/функции для трассировки

direction

string

"both"

Направление: callers, callees или both

depth

int

3

Максимальная глубина обхода

search_forms

Поиск форм объектов конфигурации (справочников, документов, регистров и т.д.) по имени объекта, имени формы или заголовку.

Параметр
Тип
По умолчанию
Описание

query

string

Имя объекта, имя формы или заголовок (Номенклатура, ФормаЭлемента, Реализация)

limit

int

10

Количество результатов

inspect_form_layout

Возвращает полную структуру формы объекта конфигурации: иерархию элементов с типами и привязками данных, реквизиты формы, команды и обработчики событий.

Параметр
Тип
По умолчанию
Описание

object_name

string

Имя объекта (Справочник.Номенклатура, Документ.РеализацияТоваровУслуг или краткое Номенклатура)

form_name

string

""

Имя конкретной формы. Пустое значение — форма по умолчанию

graph_dependencies

Запрос графа зависимостей объекта конфигурации: какие объекты использует данный объект и кто ссылается на него.

Параметр
Тип
По умолчанию
Описание

object_name

string

Имя объекта (Номенклатура или Справочники.Номенклатура)

direction

string

"both"

Направление: forward (что использует), reverse (кто использует) или both

limit

int

50

Максимальное количество связей на направление

bsl_scope_members

Возвращает доступные методы, свойства и события для заданного BSL-контекста.

Параметр
Тип
По умолчанию
Описание

context

string

BSL-контекст (Справочник.Номенклатура, Документ.РеализацияТоваровУслуг, Глобальный)

member_type

string

"all"

Фильтр: all, methods, properties или events

helpsearch

Поиск по HTML-справке конфигурации. Полезен, когда точное имя объекта метаданных неизвестно.

Параметр
Тип
По умолчанию
Описание

query

string

Описание объекта метаданных или функциональности

limit

int

5

Количество результатов

get_xsd_schema

Получение XSD-схемы для типа объекта метаданных или подтипа. Схема генерируется из реальных XML-файлов выгрузки конфигурации. Используйте перед генерацией XML, чтобы знать ожидаемую структуру.

Параметр
Тип
По умолчанию
Описание

object_type

string

Тип метаданных (Справочник, Документ, РегистрСведений, РегистрНакопления, Роль) или подтип (Форма, СКД, Макет). Принимаются также английские алиасы: Catalog, Document, InformationRegister, AccumulationRegister, Role, Form, DataCompositionSchema, Template

verify_xml

Валидация XML-содержимого по XSD-схеме для типа метаданных 1С. Возвращает статус валидации и список ошибок.

Параметр
Тип
По умолчанию
Описание

xml_content

string

XML-строка для валидации

object_type

string

Тип метаданных (Справочник, Документ, РегистрСведений, РегистрНакопления, Роль) или подтип (Форма, СКД, Макет). Принимаются английские алиасы

reindex

Запуск переиндексации всех настроенных источников данных. Выполняется в фоновом потоке, возвращает статус немедленно.

Параметр
Тип
По умолчанию
Описание

force

bool

false

Полная переиндексация с нуля. Если false — обновляются только изменённые файлы

stats

Статистика индексов: количество документов по коллекциям, провайдер и модель эмбеддингов, время последней индексации, аптайм, статус следующей плановой переиндексации. Параметров не принимает.


Возможности

ИИ получает инструменты для:

  • Метаданные — поиск объектов конфигурации, получение детальной структуры реквизитов и типов

  • Код — семантический поиск по коду, точный поиск функций/процедур, анализ структуры модулей, иерархия вызовов

  • Формы — поиск форм объектов, получение полной структуры формы (элементы, реквизиты, команды, обработчики)

  • Зависимости — граф зависимостей между объектами конфигурации

  • BSL-контекст — доступные методы, свойства и события для контекстов 1С

  • Справка — поиск по HTML-справке конфигурации

  • XSD и валидация — генерация XSD-схем из конфигурации и валидация XML

Примеры использования

  • "Какие реквизиты есть у документа РеализацияТоваров?" → metadatasearch + get_metadata_details

  • "Найди все обработки, связанные с печатью" → metadatasearch

  • "Где в конфигурации используется регистр ОстаткиТоваров?" → graph_dependencies

  • "Покажи структуру справочника Номенклатура" → get_metadata_details

  • "Найди функцию ОбработкаПроведения" → search_function

  • "Покажи иерархию вызовов метода РассчитатьСумму" → get_method_call_hierarchy

  • "Какие формы есть у документа Реализация?" → search_forms

  • "Покажи структуру формы элемента Номенклатуры" → inspect_form_layout

  • "Какие методы доступны у объекта Справочник.Номенклатура?" → bsl_scope_members

  • "Получи XSD-схему для справочника" → get_xsd_schema

  • "Проверь этот XML на соответствие схеме документа" → verify_xml

Требования

  • Docker Desktop с WSL2

  • Лицензионный ключ

  • Embedding модель (LM Studio или CPU)

  • Выгрузка конфигурации из Конфигуратора

Порт

8000

Образ Docker

Варианты образа

Тег
Архитектура
Размер
Описание

latest

amd64

~2.9 GB

Полная версия с PyTorch (локальные embedding + API)

light

amd64

~290 MB

Без PyTorch (embedding только через API — LM Studio, OpenRouter и т.д.)

arm64

arm64

~500 MB

Для Apple Silicon / ARM серверов

Используйте light, если embedding модель работает через внешний API (LM Studio, OpenRouter). Образ в 10 раз легче.

Подготовка данных

Требуется выгрузить из Конфигуратора:

  1. Отчет из конфигурации (текстовый отчет по метаданным)

  2. Выгрузка в файлы (файлы модулей)

Подробнее: Подготовка данных

Быстрый старт

Конфигурация Cursor

Дополнительно: rlm-tools-bsl (RLM-подход)

CodeMetadataSearchServer использует RAG-подход — предварительно индексирует код и метаданные для семантического поиска. Для дополнительного анализа без предварительной индексации можно использовать rlm-tools-bsl — MCP-сервер для токен-эффективного анализа кодовых баз 1С (BSL).

CodeMetadataSearchServer (RAG)
rlm-tools-bsl (RLM)

Подход

Предварительная индексация, семантический поиск

Анализ файлов на лету, без индексации

Время старта

Часы на индексацию

0 секунд

Качество поиска

Высокое (эмбеддинги + BM25 + реранкер)

Высокое (для точечных запросов)

Экономия контекста

Чанки релевантного кода

До 95% за счёт серверных хелперов

Инфраструктура

Docker + embedding модель

pip install (Python 3.10+)

Структура раздела

Last updated