> For the complete documentation index, see [llms.txt](https://docs.onerpa.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onerpa.ru/mcp-servery-1c/servery/help-search-server/ispolzovanie.md).

# Использование

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

### Статус контейнера

```powershell
docker ps --filter name=1c_help_mcp
```

### Health check

```powershell
# Живость процесса и счётчики HTTP-сессий
Invoke-RestMethod -Uri "http://localhost:8003/health"

# Готовность отвечать на поиск и состав обслуживающего поколения индекса
Invoke-RestMethod -Uri "http://localhost:8003/ready"
```

`/health` отвечает всегда, пока жив процесс, и ничего не говорит об индексе. `/ready` возвращает `starting`, `indexing`, `ready` или `degraded`, перечисляет корпуса в обслуживающем поколении и отдаёт `200` только тогда, когда есть чем отвечать.

### Просмотр логов

```powershell
docker logs -f 1c_help_mcp
```

## Работа через Cursor

После настройки `mcp.json` ИИ в Cursor автоматически использует HelpSearchServer для ответов на вопросы о платформе 1С.

### Когда какой инструмент использовать

| Ситуация                              | Инструмент   | Пример                                   |
| ------------------------------------- | ------------ | ---------------------------------------- |
| Знаете точное имя объекта или метода  | `docinfo`    | "ТаблицаЗначений", "Массив.Найти"        |
| Ищете по описанию или вопросу         | `docsearch`  | "Как получить остатки на регистре?"      |
| `docinfo` не нашёл результат          | `docsearch`  | Попробуйте описать функциональность      |
| Нужен формат XML объекта конфигурации | `formatspec` | "Спецификация формата управляемой формы" |
| Нужны правила написания и ревью кода  | `standards`  | "Стандарты именования переменных"        |

{% hint style="info" %}
Спецификации форматов и стандарты читаются целиком, поэтому у них отдельные инструменты: вызов без параметров отдаёт каталог, `name` — документ целиком, `query` — поиск внутри этого корпуса.
{% endhint %}

### Примеры запросов

#### Получение документации по имени (docinfo)

> "Покажи документацию по ТаблицаЗначений"

ИИ использует `docinfo` с параметром `ТаблицаЗначений` и вернёт полное описание объекта.

> "Какие параметры у Массив.Найти?"

ИИ использует `docinfo` с параметром `Массив.Найти` и вернёт описание метода.

> "Документация по HTTPЗапрос"

ИИ использует `docinfo` для точного поиска объекта `HTTPЗапрос`.

#### Поиск методов (docsearch)

> "Какие параметры у метода Запрос.Выполнить()?"

ИИ найдёт в справке описание метода `Выполнить` объекта `Запрос` и вернёт информацию о параметрах.

#### Поиск по функциональности (docsearch)

> "Как получить остатки на регистре накопления?"

ИИ найдёт разделы справки о виртуальных таблицах регистров накопления.

#### Синтаксис конструкций (docsearch)

> "Как написать условие ВЫБОР в запросе?"

ИИ найдёт описание конструкции ВЫБОР КОГДА в языке запросов.

#### Примеры кода (docsearch)

> "Покажи пример работы с транзакциями"

ИИ найдёт разделы справки с примерами НачатьТранзакцию/ЗафиксироватьТранзакцию.

#### Спецификации форматов (formatspec)

> "Какие есть спецификации форматов файлов 1С?"

ИИ вызовет `formatspec()` без параметров и получит каталог: имя каждой спецификации и начало её текста.

> "Дай спецификацию формата XML управляемой формы целиком"

ИИ вызовет `formatspec(name="1c-form-spec")`. Документ больше бюджета ответа приходит частями по порядку — ИИ дочитывает его по `next_cursor`, ничего не теряя.

#### Стандарты разработки (standards)

> "Проверь этот код на соответствие стандартам 1С"

ИИ загрузит нужное правило целиком через `standards(name=...)` — стандарты написаны, чтобы читаться перед работой, а не выборками.

> "Как по стандартам называть общие модули?"

ИИ вызовет `standards(query="именование общих модулей")` и найдёт правило внутри корпуса стандартов.

## Типичные сценарии

### Быстрый поиск по имени

1. Спросите: "Документация по СписокЗначений"
2. ИИ вызовет `docinfo` и вернёт полное описание объекта
3. Попросите уточнить: "А метод НайтиПоЗначению?"

### Изучение нового метода

1. Спросите: "Что делает метод ВыполнитьПакет объекта Запрос?"
2. ИИ найдёт справку и объяснит назначение
3. Попросите пример: "Покажи пример использования"

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

1. Спросите: "Какие есть способы чтения файлов в 1С?"
2. ИИ найдёт все связанные методы и объекты
3. Сравните подходы для вашей задачи

### Уточнение синтаксиса

1. Напишите код с ошибкой
2. Спросите: "Правильно ли я использую этот метод?"
3. ИИ проверит по справке и укажет на ошибки

## Интеграция с другими серверами

HelpSearchServer отлично работает вместе с:

### SyntaxCheckServer

1. HelpSearchServer — объясняет, как правильно
2. SyntaxCheckServer — проверяет синтаксис написанного

### SSLSearchServer

1. HelpSearchServer — справка по платформе
2. SSLSearchServer — справка по БСП

Пример комбинированного запроса:

> "Как в БСП реализована работа с версиями объектов? Какие методы платформы при этом используются?"

## Качество поиска

### От чего зависит

1. **Embedding модель** — Qwen лучше находит по смыслу
2. **Версия платформы** — справка должна соответствовать вашей версии
3. **Формулировка запроса** — конкретные вопросы дают лучшие результаты

### Советы по запросам

**Хорошо:**

* "Какие параметры у метода СформироватьПечатнуюФорму?"
* "Как работает виртуальная таблица ОстаткиИОбороты?"
* "Документация по Запрос" — точный поиск через `docinfo`

**Плохо:**

* "Как работать с 1С?" — слишком общий вопрос
* "Метод" — недостаточно информации

## Ограничения

* Поиск по платформе, руководствам, спецификациям форматов и стандартам — но не по БСП (для неё есть [SSLSearchServer](/mcp-servery-1c/servery/ssl-search-server.md))
* Нет доступа к справке и коду вашей конфигурации (для этого — [CodeMetadataSearchServer](/mcp-servery-1c/servery/code-metadata-search.md))
* Качество зависит от embedding модели

## Мониторинг использования

### Логи запросов

```powershell
docker logs 1c_help_mcp | Select-String "query"
```

{% hint style="info" %}
На уровне журналирования по умолчанию текста запросов в логе нет: запрос записывается длиной и коротким хешем. Полный текст добавляет `LOG_LEVEL=DEBUG` — это осознанное действие на время отладки.
{% endhint %}

### Состояние индекса

```powershell
# Обслуживающее поколение и состав корпусов
Invoke-RestMethod -Uri "http://localhost:8003/ready"

# Прогресс сборки в логе
docker logs 1c_help_mcp | Select-String "Indexed"
```

### Плагины

```powershell
# Что загружено, какие hooks активны, что отключено и почему
Invoke-RestMethod -Uri "http://localhost:8003/plugins"

# Перечитать каталог плагинов без перезапуска
Invoke-RestMethod -Method Post -Uri "http://localhost:8003/plugins/reload"
```
