# Установка

## Предварительные требования

1. Docker Desktop запущен
2. LM Studio запущен с моделью Qwen3-Embedding (рекомендуется)
3. Установлена платформа 1С:Предприятие

## Определение пути к справке

### Поиск папки bin

Справка платформы находится в папке `bin` установленной версии 1С.

Типичные пути:

* `C:\Program Files\1cv8\8.3.23.1997\bin`
* `C:\Program Files (x86)\1cv8\8.3.23.1997\bin`

## Создание папки для индекса

```powershell
New-Item -ItemType Directory -Force -Path "E:\bases\mcp_docs"
```

{% hint style="info" %}
Путь `E:\bases\mcp_docs` — это **пример**. Используйте любой удобный путь на вашем компьютере.
{% endhint %}

{% hint style="danger" %}
**КРИТИЧЕСКИ ВАЖНО!** Обязательно монтируйте папку для векторной БД (`-v "...:/app/chroma_db"`). Без этого при каждом перезапуске контейнера индексация будет начинаться заново, что может занять от нескольких часов до суток!
{% endhint %}

## Команды запуска

### С LM Studio (рекомендуется)

```powershell
docker run -d -p 8003:8003 `
  --name 1c_help_mcp `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e 1C_BIN_PATH=/1c_docs `
  -e RESET_CACHE=false `
  -e RESET_DATABASE=false `
  -e OPENAI_API_BASE=http://host.docker.internal:1234/v1 `
  -e OPENAI_API_KEY=lm-studio `
  -e OPENAI_MODEL=Qwen3-Embedding-4B `
  -v "C:/Program Files/1cv8/8.3.23.1997/bin:/1c_docs" `
  -v "E:/bases/mcp_docs:/app/chroma_db" `
  -v "E:/bases/mcp_model_cache:/app/model_cache" `
  comol/1c_help_mcp:latest
```

{% hint style="success" %}
Если LM Studio запущен локально на порту 1234 (по умолчанию), параметры `OPENAI_API_BASE` и `OPENAI_API_KEY` можно не указывать — сервер подключится автоматически.
{% endhint %}

### С CPU (без GPU)

```powershell
docker run -d -p 8003:8003 `
  --name 1c_help_mcp `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e 1C_BIN_PATH=/1c_docs `
  -e RESET_CACHE=false `
  -e RESET_DATABASE=false `
  -v "C:/Program Files/1cv8/8.3.23.1997/bin:/1c_docs" `
  -v "E:/bases/mcp_docs:/app/chroma_db" `
  -v "E:/bases/mcp_model_cache:/app/model_cache" `
  comol/1c_help_mcp:latest
```

{% hint style="warning" %}
Замените `8.3.23.1997` на вашу версию платформы!
{% endhint %}

## Первый запуск

### Процесс индексации

При первом запуске происходит:

1. **Скачивание образа** (\~2-3 ГБ)
2. **Загрузка embedding модели** (если CPU режим)
3. **Индексация справки** (см. таблицу ниже)

### Ожидаемое время индексации

| Режим                         | Время индексации |
| ----------------------------- | ---------------- |
| CPU (e5-small)                | 10-20 часов      |
| CPU (e5-base)                 | 15-30 часов      |
| GPU (Qwen-4B через LM Studio) | 2-4 часа         |

{% hint style="warning" %}
Планируйте первую индексацию заранее — запустите контейнер на ночь или на выходных. После завершения индекс сохранится в томе и повторная индексация не потребуется.
{% endhint %}

### Мониторинг прогресса

```powershell
# Просмотр логов в реальном времени
docker logs -f 1c_help_mcp
```

Пример вывода:

```
Starting HelpSearchServer...
Loading embedding model...
Indexing documentation from /1c_docs...
Indexed 1000/5432 documents...
Indexed 2000/5432 documents...
...
Indexing complete! Starting MCP server on port 8003
```

### Проверка готовности

```powershell
# Проверить статус контейнера
docker ps --filter name=1c_help_mcp

# Проверить доступность
curl http://localhost:8003/health
```

## Последующие запуски

После первой индексации используйте `RESET_DATABASE=false`:

```powershell
# Остановка
docker stop 1c_help_mcp

# Запуск (индекс сохранён)
docker start 1c_help_mcp
```

## Обновление справки

При обновлении версии платформы 1С:

1. Остановите контейнер
2. Измените путь к новой версии
3. Установите `RESET_DATABASE=true`
4. Запустите контейнер

```powershell
docker stop 1c_help_mcp
docker rm 1c_help_mcp

docker run -d -p 8003:8003 `
  --name 1c_help_mcp `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e RESET_DATABASE=true `
  -v "C:/Program Files/1cv8/8.3.24.1234/bin:/1c_docs" `
  -v "E:/bases/mcp_docs:/app/chroma_db" `
  comol/1c_help_mcp:latest
```

## Проверка работы

### Тест MCP endpoint

```powershell
# Простая проверка доступности
Invoke-RestMethod -Uri "http://localhost:8003/health"
```

### Настройка Cursor

1. Откройте `%APPDATA%\Cursor\User\globalStorage\mcp.json`
2. Добавьте конфигурацию сервера
3. Перезапустите Cursor
4. Задайте вопрос о методах 1С

## Устранение проблем

### Контейнер не запускается

```powershell
# Проверить логи
docker logs 1c_help_mcp
```

### Ошибка "path not found"

Проверьте путь к папке bin:

```powershell
Test-Path "C:\Program Files\1cv8\8.3.23.1997\bin"
```

### Ошибка подключения к LM Studio

1. Убедитесь, что LM Studio Server запущен
2. Проверьте порт 1234
3. Используйте `host.docker.internal` вместо `localhost`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onerpa.ru/mcp-servery-1c/servery/help-search-server/ustanovka.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
