> 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/code-checker/ustanovka.md).

# Установка

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

1. Docker Desktop запущен
2. Токен 1С:Напарник (см. [Получение токена](/mcp-servery-1c/servery/code-checker/poluchenie-tokena.md))
3. Доступ в интернет к code.1c.ai

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

### Минимальная (обязательные переменные)

```powershell
docker run -d -p 8007:8007 `
  --name 1c_code_checker `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e ONEC_AI_TOKEN=YOUR_NAPARNIR_TOKEN `
  comol/1c-code-checker:latest
```

### Расширенная (с дополнительными настройками)

```powershell
docker run -d -p 8007:8007 `
  --name 1c_code_checker `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e ONEC_AI_TOKEN=YOUR_NAPARNIR_TOKEN `
  -e ONEC_CONFIG_NAME="Бухгалтерия предприятия" `
  comol/1c-code-checker:latest
```

Полный список переменных окружения — в разделе [Конфигурация](/mcp-servery-1c/servery/code-checker/konfiguraciya.md).

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

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

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

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

```powershell
docker logs 1c_code_checker
```

При успешном запуске в логах будет:

```
License key validated successfully.
Starting 1C Code Checker MCP server on http://0.0.0.0:8007/mcp using streamable-http
```

## Конфигурация Cursor

Добавьте в `.cursor/mcp.json` вашего проекта:

```json
{
  "mcpServers": {
    "1c-code-checker-mcp": {
      "url": "http://localhost:8007/mcp",
      "connection_id": "1c_code_checker_001"
    }
  }
}
```

После добавления перезапустите Cursor или обновите MCP-подключения через настройки.

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

### Доступные инструменты

Сервер предоставляет **11 инструментов MCP**. Основные:

| Инструмент        | Что делает                                                      |
| ----------------- | --------------------------------------------------------------- |
| `check_1c_code`   | Проверка кода на ошибки (синтаксис, логика, производительность) |
| `review_1c_code`  | Code review (стиль, стандарты ИТС)                              |
| `rewrite_1c_code` | Переписывание кода ИИ с улучшениями                             |
| `modify_1c_code`  | Модификация кода по инструкции                                  |
| `onec_help`       | Поиск по документации платформы                                 |
| `its_help`        | Поиск по базе знаний ИТС                                        |
| `ask_1c_ai`       | Свободный вопрос к 1С:Напарник                                  |

Полный список — в разделе [Инструменты](/mcp-servery-1c/servery/code-checker/instrumenty.md).

### Пример в Cursor

Пользователь: "Проверь этот код на ошибки"

```bsl
Процедура ЗаполнитьТаблицу()
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Номенклатура";
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        Сообщить(Выборка.Наименование);
    КонецЦикла;
КонецПроцедуры
```

ИИ автоматически вызывает `check_1c_code` и возвращает результат анализа, включая проверку синтаксиса (через upstream syntax-checker в direct-режиме) и анализ логики/производительности.

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

### Ошибка авторизации

Проверьте токен 1С:Напарник:

* Токен действителен и не истёк
* Токен правильно указан в переменной `ONEC_AI_TOKEN`

### Нет связи с code.1c.ai

Проверьте:

* Доступ в интернет из контейнера
* Firewall не блокирует code.1c.ai (порт 443)

### Ошибка лицензии

При сообщении "Invalid license key" или "License key not provided":

* Проверьте, что `LICENSE_KEY` указан и корректен

### Ошибки direct mode

Если в ответах появляется `[DIRECT_TOOL_ERROR]`:

* Установите `MCP_TOOL_CALL_MODE=standard` для переключения на промпт-режим
* Или перезапустите контейнер — возможна временная недоступность upstream API
