> 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/syntax-check-server.md).

# SyntaxCheckServer

Проверка синтаксиса кода 1С через BSL Language Server.

## Назначение

SyntaxCheckServer проверяет код 1С на синтаксические ошибки, используя BSL Language Server. Это самый простой в установке MCP-сервер — он не требует данных конфигурации или embedding модели.

Сервер поддерживает два режима проверки:

* `syntaxcheck` — проверка текста BSL, переданного прямо в MCP-вызове.
* `syntaxcheck_file` — проверка файла из подключённого каталога. Инструмент регистрируется только если задана переменная `FILES_DIR` и каталог существует внутри контейнера.

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

ИИ получает следующие инструменты:

| Инструмент         | Описание                                                                      |
| ------------------ | ----------------------------------------------------------------------------- |
| `syntaxcheck`      | Проверка синтаксиса кода 1С через BSL Language Server                         |
| `syntaxcheck_file` | Проверка BSL-файла из подключённого каталога; доступен только при `FILES_DIR` |

### syntaxcheck

Анализирует BSL-код на синтаксические ошибки с помощью bsl-language-server. Код сохраняется во временный файл, передаётся на анализ, результат возвращается в формате JSON.

| Параметр | Тип    | Описание                          |
| -------- | ------ | --------------------------------- |
| `code`   | string | Код на языке 1С (BSL) для анализа |

**Возврат**: Строка с отчётом анализа от bsl-language-server (JSON с диагностиками) или сообщение об ошибке.

### syntaxcheck\_file

Анализирует файл из каталога, указанного в `FILES_DIR`. Путь передаётся относительно этого каталога. Можно ограничить выдачу диагностик конкретными строками.

| Параметр    | Тип    | По умолчанию | Описание                                                                                               |
| ----------- | ------ | ------------ | ------------------------------------------------------------------------------------------------------ |
| `file_path` | string | —            | Относительный путь к `.bsl`-файлу внутри `FILES_DIR`                                                   |
| `lines`     | string | `""`         | Необязательный список строк и диапазонов, например `5, 10-20, 35`. Пустое значение проверяет весь файл |

**Возврат**: JSONL-отчёт bsl-analyzer по всему файлу или только по указанным строкам.

## Возможности

ИИ получает инструменты для:

* Проверки синтаксиса кода 1С
* Проверки файлов конфигурации из подключённого каталога
* Обнаружения ошибок до выполнения
* Анализа конструкций языка

## Примеры использования

ИИ может проверить код перед предложением:

* "Проверь синтаксис этой процедуры"
* "Есть ли ошибки в этом коде?"
* "Проанализируй этот модуль на ошибки"

## Требования

* Docker Desktop с WSL2
* Лицензионный ключ

{% hint style="success" %}
Этот сервер можно запустить сразу — он не требует подготовки данных или настройки embedding.
{% endhint %}

## Порт

**8002**

## Образ Docker

```
comol/1c_syntaxcheck_mcp:latest
```

## Быстрый старт

```powershell
docker run -d -p 8002:8002 `
  --name 1c_syntaxcheck_mcp `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  comol/1c_syntaxcheck_mcp:latest
```

### Проверка файлов

```powershell
docker run -d -p 8002:8002 `
  --name 1c_syntaxcheck_mcp `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e FILES_DIR=/app/files `
  -v "E:/1C_Export/Files:/app/files" `
  comol/1c_syntaxcheck_mcp:latest
```

По умолчанию используется `streamable-http` на `/mcp`. Для SSE включите `-e USESSE=true`.

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

```json
{
  "mcpServers": {
    "1c-syntax-checker-mcp": {
      "url": "http://localhost:8002/mcp",
      "connection_id": "1c_lsp_service_001"
    }
  }
}
```

## Структура раздела

* [Установка](/mcp-servery-1c/servery/syntax-check-server/ustanovka.md) — команды запуска
