MCP 1C RAG Server
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
MCP-сервер для 1С: семантический поиск и AI-ассистирование в конфигурациях
Представляю комплексное решение для интеграции AI-ассистентов (Cursor, Claude Code, Windsurf и др.) с конфигурациями 1С:Предприятие через MCP (Model Context Protocol). Система обеспечивает семантический поиск по коду, метаданным и документации платформы 1С, позволяя AI-ассистентам работать с реальной конфигурацией как с полноценным контекстом.
В отличие от других решений, которые работают только с файлами, это решение использует векторную базу данных Qdrant для семантического поиска по всей конфигурации, включая обработку расширений, анализ зависимостей и поиск по синтаксису платформы.
Версия 2.0: что нового
Обновление по итогам ваших комментариев к первой версии. Всё проверено на реальной конфигурации (713 объектов, ~1 100 модулей, ~20 тыс. процедур) и платформе 8.3.27.2214 — как с GPU, так и без.
- Запуск в одну команду:
start.bat / start.sh сами определяют видеокарту; без NVIDIA GPU всё работает на CPU. Исправлены падение сборки mcp-server и первого запуска.
- Проверка кода агентом: новый инструмент
bslcheck_code — BSL Language Server 0.29.0 + проверки по стандартам. Агент сам исправляет замечания. Раньше проверка кода фактически не работала.
- Стандарты команды:
get_dev_standards, ресурс standards://, промпт develop_1c и папка standards/ для своих правил.
- Новые инструменты по метаданным:
list_metadata_objects, find_object_references (где используется объект), поиск индексируемых полей search_by_structure(indexed=True).
- Точнее парсер: признаки полей (индексирование, проверка заполнения, ведущее, основной отбор), определяемые типы
ОпределяемыйТип.X вместо «Неопределено», корректные вызовы процедур.
- Loader: больше не теряет модули форм (было 801 из 1 083), новый экран изменений с фильтрами и выгрузкой в CSV, инкрементальное обновление видит любые изменения метаданных.
- Эмбеддинги: модели Qwen3-Embedding и подключение OpenAI-совместимого API (OpenAI, Ollama, LM Studio, vLLM).
- Синтакс-помощник платформы 8.3.27.2214 в комплекте (1 654 объекта), загрузка в несколько раз быстрее, у методов появились параметры.
- Документация: подключение к Cursor, Claude Code, n8n; запуск без GPU; таблица моделей; сравнение с другими MCP для 1С; FAQ.
Полный список изменений — в конце статьи и в файле CHANGELOG.md в архиве.
Для тех, кто обновляется с версии 1.0: первая инкрементальная загрузка после обновления один раз пометит все объекты и модули изменёнными — так в базу попадут улучшения парсера. Дальше инкрементальное обновление работает как обычно.
Проблема
Представляю комплексное решение для интеграции AI-ассистентов (Cursor, Claude Code, Windsurf и др.) с конфигурациями 1С:Предприятие через MCP (Model Context Protocol). Система обеспечивает семантический поиск по коду, метаданным и документации платформы 1С, позволяя AI-ассистентам работать с реальной конфигурацией как с полноценным контекстом.
В отличие от других решений, которые работают только с файлами, это решение использует векторную базу данных Qdrant для семантического поиска по всей конфигурации, включая обработку расширений, анализ зависимостей и поиск по синтаксису платформы.
Версия 2.0: что нового
Обновление по итогам ваших комментариев к первой версии. Всё проверено на реальной конфигурации (713 объектов, ~1 100 модулей, ~20 тыс. процедур) и платформе 8.3.27.2214 — как с GPU, так и без.
- Запуск в одну команду:
start.bat/start.shсами определяют видеокарту; без NVIDIA GPU всё работает на CPU. Исправлены падение сборкиmcp-serverи первого запуска. - Проверка кода агентом: новый инструмент
bslcheck_code— BSL Language Server 0.29.0 + проверки по стандартам. Агент сам исправляет замечания. Раньше проверка кода фактически не работала. - Стандарты команды:
get_dev_standards, ресурсstandards://, промптdevelop_1cи папкаstandards/для своих правил. - Новые инструменты по метаданным:
list_metadata_objects,find_object_references(где используется объект), поиск индексируемых полейsearch_by_structure(indexed=True). - Точнее парсер: признаки полей (индексирование, проверка заполнения, ведущее, основной отбор), определяемые типы
ОпределяемыйТип.Xвместо «Неопределено», корректные вызовы процедур. - Loader: больше не теряет модули форм (было 801 из 1 083), новый экран изменений с фильтрами и выгрузкой в CSV, инкрементальное обновление видит любые изменения метаданных.
- Эмбеддинги: модели Qwen3-Embedding и подключение OpenAI-совместимого API (OpenAI, Ollama, LM Studio, vLLM).
- Синтакс-помощник платформы 8.3.27.2214 в комплекте (1 654 объекта), загрузка в несколько раз быстрее, у методов появились параметры.
- Документация: подключение к Cursor, Claude Code, n8n; запуск без GPU; таблица моделей; сравнение с другими MCP для 1С; FAQ.
Полный список изменений — в конце статьи и в файле CHANGELOG.md в архиве.
Если вы используете 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-код)
Что умеет система: 23 инструмента
Работа с конфигурацией (15 шт.)
| Инструмент | Описание |
|---|---|
search_1c_objects |
Семантический поиск объектов по описанию или назначению (мультивекторный поиск по 5 векторам) |
list_metadata_objectsновое |
Список объектов конфигурации: сводка по типам или перечень объектов типа |
get_object_metadata |
Полная структура объекта: реквизиты, ТЧ, измерения, ресурсы, связи, модули и признаки полей (индексирование, проверка заполнения, ведущее, основной отбор) |
search_by_structure |
Поиск объектов по реквизиту, ТЧ или типу, в т.ч. по составным типам и индексируемым полям (indexed=True) |
search_by_relationship |
Поиск объектов по связям (владельцы, основания, движения) |
find_object_referencesновое |
Где используется объект: в метаданных и в коде (для рефакторинга и анализа влияния) |
search_1c_code |
Семантический поиск по коду модулей с фильтрацией по типу объекта и модуля |
search_1c_procedures |
Поиск процедур и функций по названию или назначению |
search_procedures_direct |
Прямой поиск процедур в коллекции (в 5-10 раз быстрее поиска в чанках) |
find_procedure_code |
Код конкретной процедуры по имени объекта и процедуры |
get_module_full_code |
Полный код модуля (восстанавливается из коллекции процедур) |
list_object_modules |
Все модули объекта: количество процедур, функций, экспортных методов |
analyze_procedure_calls |
Зависимости процедуры: что она вызывает и кто вызывает её (обработчики событий не считаются мёртвым кодом) |
find_similar_procedures |
Поиск похожих процедур через эмбеддинги (дублирующийся код) |
diagnose_database |
Состояние всех коллекций, статистика по объектам и модулям |
Проверка кода и стандарты (4 шт.)
| Инструмент | Описание |
|---|---|
bslcheck_codeновое |
Проверка кода, переданного текстом: BSL Language Server + проверки по стандартам (ПолучитьОбъект() ради одного реквизита, Сообщить(), ТекущаяДата(), НайтиПоНаименованию и др.). Замечания возвращаются агенту построчно, он сам их исправляет |
bslcheck_analyze |
То же для .bsl файла из примонтированной папки (файл не изменяется) |
bslcheck_format |
Форматирование кода, результат возвращается текстом |
get_dev_standardsновое |
Стандарты разработки по теме: правила проекта + стандарты команды из папки standards/ |
Дополнительно: MCP-ресурс standards://<файл> и MCP-промпт develop_1c, который задаёт агенту порядок работы: поиск → стандарты → код → проверка.
Синтакс-помощник платформы (4 шт.)
| Инструмент | Описание |
|---|---|
bslsyntax_search_global_function |
Поиск функций глобального контекста (СтрДлина, Окр, ТекущаяДатаСеанса и т.д.) |
bslsyntax_search_method |
Поиск методов объектов (ТаблицаЗначений, Запрос, СписокЗначений и т.д.) с параметрами |
bslsyntax_search_property |
Поиск свойств объектов (описания и типы свойств) |
bslsyntax_get_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: Работа с документом
Пользователь: "Добавь в документ заказ клиента проверку на заполнение номенклатуры. Создавать заказ можно только с видом номенклатуры Товар"
Пример 6: Проверка кода агентом новое
Агент пишет код, вызывает bslcheck_code и получает замечания:
# Проверка кода BSL
Замечаний: 2 (b88;A039; Warning: 2)
b88;A039; 2:18 [std:GetObjectForAttribute] Объект читается целиком ради одного реквизита.
Используйте ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Реквизит") ...
> Вид = Номенклатура.ПолучитьОбъект().ВидНоменклатуры;
b88;A039; 5:5 [CreateQueryInCycle] Выполнение запроса в цикле
> Результат = Запрос.Выполнить();
После этого агент сам исправляет код и повторяет проверку.
Пример 7: Индексы регистров новое
Пользователь: "Проанализируй количество проиндексированных полей в регистрах сведений, выведи топ 5"
Агент вызывает search_by_structure(object_type="РегистрСведений", indexed=True) и получает регистры с перечнем индексируемых измерений и реквизитов.
Пример 8: Анализ влияния изменений новое
Пользователь: "Где используется справочник ВидыЦен?"
Агент вызывает find_object_references("Справочник", "ВидыЦен") и получает два списка: где объект встречается в метаданных (типы реквизитов, измерений, владельцы) и где к нему обращается код (объект, модуль, процедура).
Ключевые особенности
🎯 Семантический поиск
Поиск по смыслу, а не только по ключевым словам. 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, что упрощает развёртывание и использование.
Вступайте в нашу телеграмм-группу Инфостарт






