MCP-сервер для 1С: семантический поиск и AI-ассистирование в конфигурациях
Представляю комплексное решение для интеграции AI-ассистентов (Cursor, Claude Code, Windsurf и др.) с конфигурациями 1С:Предприятие через MCP (Model Context Protocol). Система обеспечивает семантический поиск по коду, метаданным и документации платформы 1С, позволяя AI-ассистентам работать с реальной конфигурацией как с полноценным контекстом.
В отличие от других решений, которые работают только с файлами, это решение использует векторную базу данных Qdrant для семантического поиска по всей конфигурации, включая обработку расширений, анализ зависимостей и поиск по синтаксису платформы.
Проблема
Представляю комплексное решение для интеграции AI-ассистентов (Cursor, Claude Code, Windsurf и др.) с конфигурациями 1С:Предприятие через MCP (Model Context Protocol). Система обеспечивает семантический поиск по коду, метаданным и документации платформы 1С, позволяя AI-ассистентам работать с реальной конфигурацией как с полноценным контекстом.
В отличие от других решений, которые работают только с файлами, это решение использует векторную базу данных Qdrant для семантического поиска по всей конфигурации, включая обработку расширений, анализ зависимостей и поиск по синтаксису платформы.
Если вы используете AI-ассистенты (Cursor, Claude Code, GitHub Copilot) для разработки на 1С, вы сталкиваетесь с проблемой: они не знают вашу конфигурацию.
Разработка на 1С — это не просто написание кода. Это:
- Работа с метаданными конфигурации (справочники, документы, регистры)
- Понимание BSL-кода (процедуры, функции, модули, расширения)
- Работа с 5 000–60 000 строк в типичной конфигурации (УТ, ERP, БП)
- Понимание связей между объектами конфигурации
Без этого контекста AI-ассистенты предлагают «универсальные» решения — общие шаблоны, не учитывающие специфику вашей конфигурации.
Решение
MCP 1C RAG Server — комплексная система для индексации и семантического поиска по конфигурации 1С с интеграцией в AI-ассистенты через MCP (Model Context Protocol).
MCP — это открытый протокол от Anthropic, который поддерживают Cursor, Claude Code, Windsurf, Continue и другие AI-редакторы. Сервер предоставляет HTTP-интерфейс для доступа к конфигурации, а AI-ассистент использует его как источник контекста.
Архитектура системы
AI-ассистент (Cursor / Claude Code / Windsurf)
|
| MCP (HTTP JSON-RPC 2.0, порт 9000)
v
MCP 1C RAG Server
|
v
Qdrant (векторная БД, 5 коллекций)
|
v
Embedding Service (GPU ускорение)
|
v
Конфигурация 1С (метаданные + BSL-код)
Что умеет система: 20 инструментов
Основные инструменты для работы с конфигурацией (14 шт.)
| Инструмент | Описание |
|---|---|
search_1c_objects |
Семантический поиск объектов по описанию или назначению (мультивекторный поиск по 5 векторам) |
search_1c_code |
Семантический поиск по коду модулей и чанкам с фильтрацией по типу объекта/модуля |
search_procedures_direct |
Прямой поиск процедур в коллекции (5-10 раз быстрее поиска в чанках) |
find_procedure_code |
Получение кода конкретной процедуры по имени объекта и процедуры |
get_module_full_code |
Получение полного кода модуля (восстанавливается из коллекции процедур) |
list_object_modules |
Список всех модулей объекта с деталями (количество процедур, функций, экспортных методов) |
analyze_procedure_calls |
Анализ зависимостей процедуры (что вызывает эта процедура, кто её вызывает) |
find_similar_procedures |
Поиск похожих процедур через эмбеддинги (поиск дублирующегося кода) |
search_by_structure |
Поиск объектов по структуре (реквизит/таблица/тип) |
search_by_relationship |
Поиск объектов по связям (владельцы/основания/движения) |
diagnose_database |
Проверка состояния коллекций, статистика по объектам и модулям |
get_object_metadata |
Полная структура объекта (реквизиты, ТЧ, связи, модули) |
list_metadata_objects |
Список всех объектов конфигурации (справочники, документы, регистры…) |
find_object_references |
Где используется объект (для рефакторинга) |
Синтакс-помощник для документации 1С (4 шт.)
| Инструмент | Описание |
|---|---|
search_1c_global_function |
Поиск встроенных функций платформы (СтрДлина, Окр, ТекущаяДата и т.д.) |
search_1c_object_method |
Поиск методов объектов (ТаблицаЗначений, Запрос, СписокЗначений и т.д.) |
search_1c_property |
Поиск свойств объектов (описания и типы свойств) |
get_1c_syntax_details |
Детальная информация о синтаксисе (параметры, возвращаемые значения, примеры) |
Архитектура данных: 5 коллекций в Qdrant
1 1c_objects_meta — Метаданные объектов
Мультивекторный поиск по 5 векторам:
object_name— имя объектаfriendly_name— синонимdescription— описаниеstructure— структура объекта (реквизиты, ТЧ)relationships— связи с другими объектами
2 1c_modules_full — Метаданные модулей
Хранит информацию о модулях объектов:
- Тип модуля (МодульОбъекта, МодульФормы и т.д.)
- Список процедур и функций
- Количество строк кода
- Экспортные методы
Важно: Полный код модуля восстанавливается из коллекции 1c_procedures.
3 1c_code_chunks — Чанки кода
Фрагменты кода для детального поиска:
- Код чанка
- Номера строк (start_line, end_line)
- Список процедур/функций в чанке
- Индекс чанка в модуле
4 1c_procedures — Процедуры и функции
Ключевая коллекция для быстрого поиска:
- Полный код процедуры/функции
- Сигнатура и параметры
- Метаданные (экспорт, модуль, строки)
- Список вызовов (calls_to)
Преимущества: Прямой доступ к коду процедуры, быстрый поиск (5-10 раз быстрее чанков), экономия места (50-60%).
5 1c_syntax_help — Синтакс-помощник
Документация по синтаксису платформы 1С:
- Глобальные функции (~350)
- Методы объектов (~1 000–7 000)
- Свойства объектов (~1 000–10 000)
Компоненты системы
🔧 Парсер конфигураций
Парсинг метаданных и кода, интеллектуальное объединение с расширениями, обработка аннотаций (&Перед, &После, &Вместо, &ИзменениеИКонтроль), веб-интерфейс для работы. Важно: не все метаданные подлежат парсингу, парсятся только ключевые объекты, но можно расширить.
🚀 Загрузчик в Qdrant
Streaming обработка для минимизации ОЗУ, инкрементальное обновление (ускорение в 10-20 раз), checkpoint система для возобновления загрузки, автоматическая оптимизация.
🧠 Сервис эмбеддингов
FastAPI сервис для векторизации текста, GPU ускорение с оптимизациями (FP16, torch.compile), LRU кэш для повторяющихся текстов, поддержка различных моделей Sentence Transformers.
🔍 MCP сервер
Model Context Protocol сервер для AI агентов, семантический поиск по конфигурации, анализ зависимостей процедур, синтакс-помощник для документации 1С.
📖 Syntax Loader
Загрузчик синтаксиса 1С из .hbk файлов, парсинг документации платформы, индексация глобальных функций, методов и свойств объектов. Важно: возможно проблемы с парсером, лучше использовать готовый файл.
Быстрый старт
cd MCP 1C Server
docker-compose up -d
Доступные сервисы:
- Qdrant: http://localhost:6333/dashboard
- Embedding Service: http://localhost:5000
- Loader: http://localhost:8501
- MCP Server: http://localhost:9000
- Syntax Loader: http://localhost:8502
Выгрузите конфигурацию и расширения из 1С:Предприятие в архив или файлы.
# Windows
parser\start_parser.bat
# Linux/Mac
./parser/start_parser.sh
Откроется браузер на http://localhost:8504. Поместите конфигурацию в parser/in_conf/ и запустите парсинг.
Откройте Loader: http://localhost:8501. Загрузите ZIP архив из parser/out_conf/parsed_<имя_конфигурации>/ (рекомендуется merged.zip для конфигураций с расширениями).
Откройте Syntax Loader: http://localhost:8502. Загрузите готовый structure.json (или создайте его через CLI из .hbk файла).
Создайте файл .cursor/mcp.json:
{
"servers": {
"1c-rag": {
"url": "http://localhost:9000/mcp",
"headers": {}
}
}
}
Примеры использования
Пример 1: Поиск объекта
Пользователь: "Найди справочник номенклатуры"
Пример 2: Поиск процедуры
Пользователь: "Найди процедуру печати документа заказ клиента"
Пример 3: Анализ зависимостей
Пользователь: "Покажи что вызывает процедура ПриЗаписи в справочнике Номенклатура"
Пример 4: Поиск синтаксиса
Пользователь: "Как получить длину строки в 1С?"
Пример 5: Работа с документом
Пользователь: "Добавь в документ заказ клиента проверку на заполнение номенклатуры. Создавать заказ можно только с видом номенклатуры Товар"
Ключевые особенности
🎯 Семантический поиск
Поиск по смыслу, а не только по ключевым словам. AI понимает контекст запроса и находит релевантные результаты даже при неточных формулировках.
b89; Оптимизация производительности
- GPU ускорение для генерации эмбеддингов
- LRU кэш для повторяющихся текстов
- Мультивекторный поиск для улучшенной точности
- Оптимизация памяти (экономия 50-60%)
- Прямой поиск процедур (5-10 раз быстрее)
🔄 Инкрементальное обновление
При повторной загрузке обновляются только изменённые объекты, что ускоряет процесс в 10-20 раз для небольших изменений.
📦 Обработка расширений
Интеллектуальное объединение основной конфигурации с расширениями, включая обработку аннотаций:
&Перед— код вставляется в начало процедуры&После— код вставляется в конец процедуры&Вместо— тело процедуры полностью заменяется&ИзменениеИКонтроль— замена с обработкой#Вставка/#Удаление
Технические детали
Стек технологий
- Qdrant — векторная база данных для хранения эмбеддингов
- Sentence Transformers — модели для генерации эмбеддингов
- FastAPI — сервис генерации эмбеддингов
- Streamlit — веб-интерфейсы для парсера и загрузчика
- Docker — контейнеризация всех сервисов
- MCP — Model Context Protocol для интеграции с AI
Требования
- 1С:Предприятие 8.3 (любая версия)
- Docker Desktop (Windows) или Docker Engine (Linux)
- Python 3.11 и выше (для парсера, либо переносить в контейнер)
- 8 GB RAM минимум (16 GB рекомендуется)
- NVIDIA GPU с поддержкой CUDA (опционально, для ускорения)
Производительность
| Размер конфигурации | Время загрузки |
|---|---|
| < 500 объектов | 5-10 минут |
| 500-2000 объектов | 20-40 минут |
| > 2000 объектов | 1-2 часа |
При тесте загрузка конфигурации ERP + 2 расширения заняло примерно 4 часа. Инкрементальное обновление занимало около 10 минут.
Заключение
MCP 1C RAG Server — это комплексное решение для интеграции AI-ассистентов с конфигурациями 1С. Система обеспечивает семантический поиск по всей конфигурации, включая метаданные, код и документацию, что позволяет AI-ассистентам работать с реальной конфигурацией как с полноценным контекстом.
Исходный код открыт для использования и развития. Все компоненты работают через Docker, что упрощает развёртывание и использование.
Вступайте в нашу телеграмм-группу Инфостарт






