MCP-сервера для программирования на 1С с LLM

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.
Далее в публикации:
MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

Арт.: 2460659

Лицензии

9900 руб.

Техподдержка

5900 руб.

Представляем развитие проекта MCP-сервера для поиска метаданных 1С для программирования с LLM.

  • check Ускорение разработки
  • check Быстрое и простое развертывание в контейнерах
  • check Уменьшение затрат на LLM

 

В новой версии ряд важных изменений

Выдача результатов поиска теперь максимально компактная

  • только идентификаторы и наименования объектов метаданных (внутреннее наименование и синоним).
  • Результаты возвращаются в двух форматах: и в структурированном json'е и плоским текстом.
  • Первый хорошо понимают современные клиенты типа cursor'а, а обычный текст пока оставлен для обратной совместимости с mcp-клиентами, которые не поддерживают структурированный ответ.
  • На моем опыте - современные llm'ки отлично сами понимают какой из результатов поиска наиболее релевантный, без необходимости подключать реранкер. Такой подход дает лучшую предсказуемость и, самое главное, - не засоряет контекстное окно лишними данными.

Переработан гибридный поиск

  • Теперь семантический поиск по обычным векторам можно смешивать с поиском по разреженным или sparse-векторам, в которые по алгоритму bm25 кодируются ключевые слова всего тела описания объекта метаданных.
  • Для каких-то конфигураций 1С с использованием какой-то особой терминологии в названиях реквизитов - подключение поиска по разреженным векторам даст заметный прирост качества поиска.
  • Для типовых же конфигураций особого улучшения поиска не будет, потому что "специфичные" ключевые слова и так обычно фигурирую в наименовании объекта. Например, если нужно найти документ или справочник связанный с работой с ЕГАИС, то слово ЕГАИС и так присутствует в названии.

Бонусом добавил mcp для проверки синтаксиса и поиска по справке синтакс-помощника

  • Бонусом, потому что эти mcp основаны на чужих решениях (в частности справка по синтаксису от Алексея Корякина), я же оборачиваю это в удобный запуск в docker-контейнерах.
  • Для проверки синтаксиса сделал так, чтобы BSL Language Server запускался в websocket-режиме, чтобы каждое обращение mcp на проверку синтаксиса не переподнимало каждый раз java-приложение (это не мгновенно).

 

Общая схема работы


Если детализировать схему до конкретных контейнеров, то получается такая схема:
Схема работы на уровне docker-контейнеров

Именно mcp тут три контейнера, остальные вспомогательные.
Может возникнуть резонный вопрос: зачем такая фрагментация?
Потому что микросервисную архитектуру проще разрабатывать, тестировать и, самое главное, эти сервисы можно переиспользовать.

 

Достоинства и преимущества решения

1

Компактный вывод результатов

Минимизирует нагрузку на контекстное окно LLM, ускоряя обработку запросов и снижая затраты на API.

2

Гибридный поиск

Семантический + BM25 повышает точность для нестандартных конфигураций 1С, где ключевые слова в описаниях не совпадают с названиями.

3

Выбор моделей векторизации

Включая легковесные, обеспечивая быстрый отклик — идеально для локального развертывания без облачных затрат.

4

Поддержка нескольких конфигураций 1С

В одной БД позволяет работать с разными проектами одновременно, без переключений.

5

Микросервисная архитектура

Упрощает масштабирование и интеграцию: каждый компонент можно использовать отдельно в других проектах.

Переработанный с нуля MCP для проверки синтаксиса

LLM-агенты IDE общаются с MCP только текстом. Из-за этого наивный подход к проверке синтаксиса работает плохо, потому что LLM'ке нужно сформировать для MCP запрос с текстом модуля, а модули в 1С бывают гигантские. Да, LLM-агенты умеют сами понять, что можно проверять только одну процедуру/функцию, но это все равно дорогие выходные (output) токены.

Намного экономнее, быстрее и правильнее передавать для проверки в MCP имя файла. Это потребует сделать для MCP-сервера "видимой" папку с исходниками 1С, но при работе с docker это не проблема. При таком подходе практически не тратятся output токены.

Кроме этого получились дополнительные преимущества:

  • Для bsl language server можно указать configurationRoot и инициализировать рабочее пространство. Да, первый запуск будет долгим, но последующие проверки быстрыми с более глубокими с анализом (с учетом общих модулей).
  • Включена по умолчанию опция выводить результаты проверки только с ошибками, скрывая предупреждения и рекомендации. Это сильно уменьшает засорение контекста (услышал недавно красивый термин "context poisoning" или отравление контекста).
  • Сокращен формат ответа, сохраняя структурность. Опять же - ради экономии окна контекста.
  • Разные LLM-агенты по разному передают имя файла, некоторые полный путь, некоторые относительный. MCP автоматически понимает оба варианта.
  • MCP можно запустить с выбором транспортного протокола: Streamable HTTP или SSE. Ранее казалось, что уже все поддерживают Streamable HTTP, но нет, тот же Gemini CLI работает только по SSE, хотя бы ради него добавлена совместимость с SSE.
  • Для больших кодовых баз, типа ERP можно опционально указать параметры памяти Java (Xms/Xmx) для bsl language server.

Остался для меня открытым вопрос, а кто экранирует текст модулей для JSON-RPC вызова? Не смог найти убедительной информации о логике работы агентов типа Cline, RooCode или Copilot, скорее всего экранирование делает фреймворк агента (не тратя токены).

Пример работы:

Схема работы:

Пример результатов проверки:

{
  "ok": true,
  "file": "/src/DataProcessors/СинхронизацияЭДО/Ext/ManagerModule.bsl",
  "count": 1,
  "summary": {"errors": 1, "warnings": 0, "information": 0, "hints": 0 },
  "diagnostics": [
    {
      "range": [[34,7], [34,43]],
      "severity": "error",
      "code": "IdenticalExpressions",
      "msg": "Слева и справа от оператора \"<>\" находятся одинаковые подвыражения: \"ИдентификаторЭДО\""
    }
  ],
  "elapsed_ms": 61,
  "source": "mcp"
}
 
 Как установить и запустить обновление?
  1. Останавливаем предыдущие два контейнера:
    docker compose stop mcp-bsl-check
    docker compose stop bsl-language-server
  2. Скачиваем новую версию файлов.
  3. Для нового docker-compose.yaml указываем свои настройки проекта:
    • volumes — папка исходников 1С с хоста в контейнер
    • BSL_ONLY_ERRORS — выводить ли все диагностики или только ошибки
    • HOST_WORKSPACE_DIR — путь к папке исходников 1С на хосте, для правильной обработки в MCP как абсолютных так и относительных путей
    • BSL_SKIP_WORKSPACE_INIT — пропускать или нет инициализацию рабочего пространства
    • MCP_TRANSPORT — вариант транспортного протокола для MCP (sse или http)
    ...
      mcp-bsl-checker:
        image: ghcr.io/fserg/mcp-bsl-checker:v1.1
        container_name: mcp-bsl-checker
        ports:
          - "9004:8000"
        volumes:
          # Проброс папки исходников 1С в контейнер
          - C:/1C_Base/vs-test/1c-src-ut:/src:ro
          # Проброс файла конфигурации bsl language server
          - ./bsl-ls/.bsl-language-server.json:/config/.bsl-language-server.json:ro
        environment:
          # --- Core settings ---
          BSL_JAR_PATH: "bsl-ls/bsl-language-server-0.24.2-exec.jar" 
          BSL_ONLY_ERRORS: 1 # "0" или "1" - показывать только ошибки или включая предупреждения и рекомендации
          ...
          # --- Workspace / paths ---
          HOST_WORKSPACE_DIR: "C:/1C_Base/vs-test/1c-src-ut" # Путь к папке исходников 1С на хосте
          BSL_LS_WORKSPACE_DIR: "/src"
          # Выполнять ли инициализацию рабочего пространства (долгий запуск, но более глубокие проверки)
          BSL_SKIP_WORKSPACE_INIT: 0 # "1" - пропустить инициализацию, "0" - выполнять инициализацию
    
          # --- MCP ---
          MCP_TRANSPORT: "http" # "sse" или "http" для Streamable HTTP
    ...
    # в файле .bsl-language-server.json все так же можно выключить или поменять настройки каких-либо диагностик
    
  4. Запускаем новый вариант проверки синтаксиса: docker compose up -d mcp-bsl-checker

🧾 Активация лицензии

  1. Для использования решения вам потребуется персональный токен.
  2. Для его активации необходимо обратиться в техническую поддержку.
  3. Активация происходит в течение 1 рабочего дня после обращения.

Техподдержка
 

 

Комплект поставки

Решение поставляется в виде нескольких файлов:

  1. Docker-compose файл описывающего запуск всех контейнеров
    • Большинство настроек задаются в нем же. Пояснения к настройкам будут в текстовой версии публикации.
    • В отдельный файлик вынесены настройки сервера, чтобы можно было выключать/выключать опции проверок, например оставить только критичные тем самым сэкономив еще немного контекста.
  2. Обработка выгрузки описания метаданных
  3. Примеров файлов конфигурации mcp для cursor и vs code (для других IDE конфигурации аналогичны)

Под вопросом доступ к исходникам. Мне кажется, их глупо скрывать - они доступны внутри контенейров. Но и просто публично размещать их на гитхабе не хочется - тогда теряется мотивация к покупке.

Запуск

Копируете файлы поставки в любую удобную папку, например: C:\mcp\
В консоли выполняете:

cd C:\mcp
docker compose up -d

Дольше всего будет запускаться контейнер embedding-service, он объемные (4+Гб) и при первом запуске будет скачивать модель векторизации.
Проверить запуск можно в логах контейнера:

docker compose logs embedding-service -f

После запуска можно переходить к выгрузке / загрузке метаданных:

  1. Внешней обработкой выгружаем описания из 1С.
  2. Открываем веб-страничку сервиса загрузки описаний в векторную БД http://localhost:8501. При загрузке указываем название коллекции в БД. Это позволяет одним mcp одновременно работать с описаниями метаданных нескольких разных конфигураций 1С.

Все. Можем открывать IDE и прописывать параметры подключения mcp.

Пример для Cursor:

"mcpServers": {
    "1c-metadata": {
      "timeout": 60,
      "headers": {
        "x-collection-name": "1c_ut"
      },
      "url": "http://172.25.48.1:9001/mcp",
      "disabled": false
    },
    "1c-check": {
      "timeout": 60,
      "url": "http://172.25.48.1:9002/mcp",
      "disabled": false
    },
    "bsl-context": {
      "command": "docker",
      "args": [
        "exec",
        "-i",
        "mcp-bsl-context-stdio",
        "java",
        "-jar",
        "/app/mcp-bsl-context.jar",
        "--mode",
        "stdio",
        "--platform-path",
        "/app/1c-platform"
      ]
    }
  }

x-collection-name меняете на название коллекции, которое указали при первичной загрузки в векторную БД.

 

Доступные настройки
 

Через переменные окружения можно указать модель и размерность ее векторов:

  • MODEL_NAME=sergeyzh/BERTA - модель по умолчанию
  • VEC_DIM=768 - размерность векторов

По умолчанию указана sergeyzh/BERTA - она маленькая, быстрая и при этом дает хорошие результаты. Контейнер с ней утилизирует буквально 400Мб RAM.

Можно пробовать и другие модели:

  • intfloat/multilingual-e5-base | 768
  • intfloat/multilingual-e5-small | 384
  • Alibaba-NLP/gte-multilingual-base | 768
  • Qwen/Qwen3-Embedding-0.6B | 1024
  • ai-forever/FRIDA | 1536

Qwen/Qwen3-Embedding-0.6B - дает отличные результаты, но это уже 1,5-2Гб RAM и в несколько раз медленнее.

Доступные настройки:

  • ROW_BATCH_SIZE - количество объектов метаданных обрабатывать за итерацию
  • EMBEDDING_BATCH_SIZE - размер батча векторизации, сколько одним запросом получать векторов от сервиса векторизации

Доступные настройки:

  • TOPK_LITE_SEARCH_LIMIT - количество объектов в результатах поиска
  • USE_HYBRID_SEARCH - использовать ли гибридный поиск (добавлять ли поиск по ключевым словам)

В блоке подключения томов volumes нужно указать путь к папке с платформой 1С, например:

  • C:/Program Files/1cv8/8.3.27.1644/bin

 

Техническая поддержка

В случае возникновения ошибок рекомендуем ознакомиться с описанием и документацией программы. Если не нашли решения своей проблемы в документации или решение не помогает - тогда создайте обращение по инструкции ниже:

1

Создать обращение (тикет)

Создать тикет

2

Заполнить данные

Контакты, номер заказа, подробное описание вопроса
Напишите порядок ваших действий с программой, приложите видео/скриншоты/отчеты об ошибке
Точную конфигурацию 1С, версии платформы, инструмента, СУБД

3

Дождаться ответа

Время ответа до 24 часов в рабочее время

Внимание! Бесплатный период техподдержки составляет 1 месяц со дня покупки. Также после приобретения вы получаете 6 месяцев бесплатных обновлений.

Техническая поддержка предоставляется исключительно в рамках переписки по обращению. В некоторых случаях для диагностики ошибок и/или вопросов, связанных с особенностями использования продукта в информационных базах покупателя, может потребоваться дополнительная платная диагностика с организацией удаленного доступа к информационной базе. Стоимость уточняется индивидуально.

Остались вопросы?

Для получения дополнительной информации и помощи в настройке модуля под нужды вашего бизнеса — оставьте заявку

Демоверсия Feedback Pro
Статистика:
Просмотры 4019
Загрузки 8
Рейтинг 14
Создание 25.08.25 09:20
Обновление 09.09.25 08:03
№ Публикации 2460659
Характеристики:
Теги

программирование разработка LLM вайбкодинг vibecoding mcp rag языковая модель chatgpt claude sonnet gemini grok deepseek qwen openai Anthropic qdrant embeddings векторный поиск

Рубрики Инструментарий разработчика Нейросети
Кому Для всех
Тип файла Архив с данными
Платформа Не имеет значения
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Платные (руб)
Код открыт Да
1. rozer 26.08.25 18:28 Сейчас в теме
Добрый день.
Использую связку kilo code+qwen code.
Использование этого mcp сервера возможно будет?
Эта эта связка "сильно поумнеет"? Спасибо.
2. Техподдержка 26.08.25 19:02
(1) Трудно уверенно ответить, потому что разные LLM'ки по-разному формулируют запрос к MCP. Топовые (проприетарные) модели от Open AI, Google, Anthropic - хорошо понимают описание tool'ов, хорошо сами определяют вид объекта (справочник, документ и т.п.). А вот с небольшими LLM может быть проблема. Если речь про большой qwen code, то скорее всего будет нормально.
3. Техподдержка 26.08.25 19:48
(1) Проверили в VSCode Copilot через OpenRouter Qwen3 235B, справляется с вызовом MCP и анализом ответа.
Прикрепленные файлы:
4. Техподдержка 26.08.25 19:57
(1) И Qwen3 Coder проверили: связка с mcp делает его умнее.
Прикрепленные файлы:
5. rozer 27.08.25 18:37 Сейчас в теме
Ребят, тут Олег (comol) утверждает в своем канале что это плагиат его оригинального решения https://infostart.ru/marketplace/2405549/. Кста я удивился когда увидел меньший ценник. Это так?
6. Техподдержка 27.08.25 19:16
(5) Нет, это оригинальное решение. Просто похожие идеи.
7. artbear 28.08.25 12:13 Сейчас в теме
(5) Мы, Инфостарт, проанализировали оба варианта на предмет «плагиата».
Наши выводы
* продукт one - https://infostart.ru/marketplace/2405549/
* продукт two - https://infostart.ru/marketplace/2460659/

Сходство между продуктами действительно есть, но оно ограничивается предметной областью: обе системы реализуют MCP-серверы для 1С (поиск по метаданным, коду и справке, а также синтакс-проверку).

Архитектура и технологии:

* Первый — монолитные образы с локальной моделью и БД, а также внутренним кодом.
* Второй — модульная микросервисная архитектура, включающая Qdrant, внешний сервис эмбеддингов, отдельный загрузчик, LSP-сервер и инспектор.

Кодовая база:

* В two реализованы независимые компоненты (FastAPI/FastMCP, отдельные модули, публичные SDK).
* Есть интерфейсы, отсутствующие в one (например, /dense, /sparse, Inspector UI/Proxy).
* Использование Qdrant и SDK отражает самостоятельную разработку.

Вывод: по архитектурным и техническим признакам считать two «плагиатом» one нельзя. Это разные реализации одной предметной области: цели и инструменты частично совпадают, но подходы, кодовая база и структура решений существенно различаются.
iivanov1; Somebody1; Жолтокнижниг; vtretyakova; FSerg; +5 Ответить
8. Labotamy 05.09.25 17:31 Сейчас в теме
В отдельный файлик вынесены настройки langauge-сервера

А кто такой langauge? =)
9. Техподдержка 05.09.25 17:33
(8) Спасибо, исправим =)
Labotamy; +1 Ответить
10. user958854 09.09.25 10:03 Сейчас в теме
Новая версия синтаксической проверки кода, модуль в 9 тыс. строк, проверяет за 2 секунды. Это нечто!
Прикрепленные файлы:
Для отправки сообщения требуется регистрация/авторизация

См. также

Infostart Toolkit — Инструменты разработчика 1С 8.3

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

Серверы, которые обеспечивают LLM необходимым контекстом для вайб кодинга в 1С

Сервер поиска по метаданным и поиска по коду, Сервер экспорта и поиска по документации, Сервер синтаксической проверки кода

Database Compression Tool: Инструмент для свертки и сжатия баз данных 1С

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять све...

8400 руб.

Infostart DataFormWizard: Управление данными и формами 1С 8.3

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на л...

16000 руб.

Infostart PrintWizard (конструктор печатных форм)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести ...

22200 руб.

OneDebugger - инструмент для отладки кода в 1С без использования конфигуратора

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычис...

9500 руб.

Чат GPT описание товара: составить описание номенклатуры с помощью ChatGPT с ключевыми словами

Расширение для заполнения описания товара (номенклатуры) с помощью модели ИИ ChatGPT с ключевыми словами. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владе...

5000 руб.

Искусственный интеллект и нейросети в 1С: Работа с отзывами маркетплейсов

Расширение "Искусственный интеллект и нейросети в 1С: Работа с отзывами маркетплейсов" предназначено для применения искусственного интеллекта в повседневной деятельности селлеров на маркетплейсах. Среди функций - работа с отзывами...

6000 руб.

Конструктор АРМ

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.