Установка
Предварительные требования
Docker Engine или Docker Desktop запущен
LM Studio запущен с моделью Qwen3-Embedding (рекомендуется; без него используется встроенная CPU-модель — если
EMBEDDING_API_BASEне задан явно или заданEMBEDDING_ALLOW_OFFLINE_FALLBACK=true)Платформа 1С:Предприятие — опционально, если нужна справка именно вашей версии
Создание папки для индекса
New-Item -ItemType Directory -Force -Path "E:\bases\mcp_docs"Команды запуска
С LM Studio (рекомендуется)
docker run -d -p 8003:8003 `
--name 1c_help_mcp `
-e LICENSE_KEY=YOUR_LICENSE_KEY `
-e EMBEDDING_API_BASE=http://host.docker.internal:1234/v1 `
-e EMBEDDING_API_KEY=lm-studio `
-e EMBEDDING_MODEL=Qwen3-Embedding-4B `
-v "E:/bases/mcp_docs:/app/index" `
-v "E:/bases/mcp_model_cache:/app/model_cache" `
comol/1c_help_mcp:latestС CPU (без GPU)
Справка своей версии платформы
Архив синтакс-помощника shcntx_ru.hbk поставляется вместе с образом, поэтому сервер работает и без установленной платформы. Чтобы индексировать справку вашей версии, смонтируйте папку bin и укажите на неё 1C_BIN_PATH.
Поиск папки bin
Типичные пути:
C:\Program Files\1cv8\8.3.23.1997\binC:\Program Files (x86)\1cv8\8.3.23.1997\bin
Запуск со своей справкой
Первый запуск
Что происходит
Скачивание образа (~3,5 ГБ для
latest, ~120 МБ дляlight)HTTP-сервер поднимается сразу —
/health,/readyиtools/listотвечают с первой секунды, холодный старт никогда не выглядит как закрытый портЗагрузка embedding-модели (в полном образе она уже внутри)
Индексация корпусов — справка платформы, руководства, спецификации форматов, стандарты (см. таблицу ниже)
Новое поколение индекса проверяется и начинает обслуживать запросы без перезапуска процесса
Пока индекс строится впервые, docsearch и docinfo отвечают статусом indexing с прогрессом — это не ошибка. Ничего не разрушается: упавшая сборка уходит в index/quarantine, а обслуживать продолжает предыдущее поколение.
Ожидаемое время индексации
CPU (e5-small)
10-20 часов
CPU (e5-base)
15-30 часов
GPU (Qwen-4B через LM Studio)
2-4 часа
Мониторинг прогресса
/ready возвращает starting, indexing, ready или degraded. 200 и ready он отдаёт, пока запросы обслуживает полное поколение индекса, — с 03.10.2026 в том числе во время пересборки и после её сбоя; что делает пересборка (indexing с прогрессом или degraded с причиной в failure), показывает поле rebuild. 503 — когда отвечать нечем (первая сборка ещё идёт или упала) или поколение потеряло документы. HEALTHCHECK образа обращается именно к нему, поэтому контейнер, который продолжает отвечать из прежнего поколения, не помечается unhealthy.
Миграция со старого индекса (chroma_db)
Сервер больше не использует ChromaDB: индекс лежит в /app/index поколениями. Если у вас том со старым индексом в chroma_db (образы до 27.09.2026), перенесите его разовой командой — переиндексация не нужна, векторы переносятся как есть:
Старый том читается через копию и остаётся байт-в-байт прежним; удалить его (флагом --remove-legacy) можно только после того, как построенное из него поколение стало обслуживающим.
Последующие запуски
RESET_DATABASE по умолчанию false — индекс при старте не разрушается. Ставьте true, только когда индекс нужно построить заново с нуля.
Обновление справки
При обновлении версии платформы 1С достаточно перемонтировать новую папку bin: сервер увидит, что содержимое корпуса изменилось, и пересоберёт индекс в staging-поколении, продолжая отвечать из текущего.
Установка в закрытом контуре
Для контура без доступа в интернет существует offline bundle — автономная поставка, где колёса Python, embedding-модель, корпус и приложение лежат в одном каталоге с манифестом контрольных сумм и SBOM. Установка и запуск не делают ни одного сетевого обращения, а отсутствующий артефакт называется по имени, а не докачивается.
Bundle разворачивается без Docker:
Требования к машине (та же ОС, архитектура и версия CPython, что записаны в manifest.json) проверяются установщиком: несовпадение отклоняется, а не обходится. Bundle предоставляется по запросу.
Проверка работы
Настройка Cursor
Откройте
%APPDATA%\Cursor\User\globalStorage\mcp.jsonДобавьте конфигурацию сервера
Перезапустите Cursor
Задайте вопрос о методах 1С
Устранение проблем
Контейнер не запускается
Самая частая причина — не задан LICENSE_KEY: без него сервер завершает работу.
/ready отвечает degraded
Отвечать нечем: первая сборка индекса упала, или обслуживающее поколение потеряло документы. Смотрите журнал: запись о падении содержит шаг, на котором сборка остановилась, и полную трассировку. Если упала пересборка, а прежнее полное поколение продолжает отвечать, /ready с 03.10.2026 отвечает 200 и ready, а сбой виден в поле rebuild ("state": "degraded" и failure).
В том числе так выглядит незагрузившаяся embedding-модель: неверен EMBEDDING_API_KEY или модель, в полном образе нет модели в кэше HF_HOME. Если EMBEDDING_API_BASE задан, но просто недоступен, сервер с 27.09.2026 не переходит в degraded, а ждёт API с повторами (строки retrying in N s в журнале). Процесс при этом не завершается; причина — в поле failure ответа /ready и в журнале на шаге «initializing the embedding model».
Ошибка подключения к LM Studio
Убедитесь, что LM Studio Server запущен
Проверьте порт 1234
Используйте
host.docker.internalвместоlocalhost
Модель скачивается заново при каждом старте
Проверьте, что не задан RESET_CACHE=true, и что смонтирован том в /app/model_cache.
Last updated