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 раз легче.
Подготовка данных
Требуется выгрузить из Конфигуратора:
Отчет из конфигурации (текстовый отчет по метаданным)
Выгрузка в файлы (файлы модулей)
Подробнее: Подготовка данных
Быстрый старт
Конфигурация Cursor
Дополнительно: rlm-tools-bsl (RLM-подход)
CodeMetadataSearchServer использует RAG-подход — предварительно индексирует код и метаданные для семантического поиска. Для дополнительного анализа без предварительной индексации можно использовать rlm-tools-bsl — MCP-сервер для токен-эффективного анализа кодовых баз 1С (BSL).
Подход
Предварительная индексация, семантический поиск
Анализ файлов на лету, без индексации
Время старта
Часы на индексацию
0 секунд
Качество поиска
Высокое (эмбеддинги + BM25 + реранкер)
Высокое (для точечных запросов)
Экономия контекста
Чанки релевантного кода
До 95% за счёт серверных хелперов
Инфраструктура
Docker + embedding модель
pip install (Python 3.10+)
Лучший результат достигается при совместном использовании обоих подходов: CodeMetadataSearchServer для семантического поиска и навигации по архитектуре, rlm-tools-bsl для быстрого точечного анализа кода и экономии контекста.
Структура раздела
Установка — команды запуска
Подготовка данных — выгрузка из Конфигуратора
Конфигурация — все параметры
Last updated