Документация MCP-1C

Полное руководство по установке, настройке и использованию

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

Установка

Скачайте готовый бинарник для вашей операционной системы со страницы Releases на GitHub, или установите одной командой:

# Linux / macOS
curl -fsSL https://feenlace.ru/install.sh | sh
# Windows (PowerShell)
irm https://feenlace.ru/install.ps1 | iex
Расширенная: Скачивание бинарника Расширенной версии доступно в личном кабинете после регистрации. 14 дней пробного периода - бесплатно, без привязки карты.

Подключение базы 1С

MCP-1C использует расширение конфигурации для чтения метаданных. Установите его автоматически:

# Файловая база - Windows
mcp-1c --install "C:\Users\Dev\InfoBases\ERP"

# Файловая база - Linux / macOS
mcp-1c --install ~/Documents/InfoBase

# Клиент-серверная база (MS SQL, PostgreSQL)
mcp-1c --install "srv-1c\buh_prod" --server --db-user Admin --db-password pass
Что произойдёт при установке
  1. В базу 1С загрузится расширение "MCP" (~50 КБ)
  2. Расширение добавит HTTP-сервис для обмена данными с AI
  3. Расширение Открытой версии работает только на чтение, не изменяет данные и конфигурацию
  4. Расширенная версия добавляет возможность выполнения кода через sandbox с подтверждением и аудит-логом
  5. Расширение можно отключить или удалить в любой момент через Конфигуратор

Затем запустите HTTP-сервис 1С. Рекомендуемый способ -- публикация через Apache или IIS:

Конфигуратор → Администрирование → Публикация на веб-сервере

# Быстрый запуск для разработки (только Windows)
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "C:\путь\к\базе" /HTTPPort 8080

Параметр /HTTPPort -- недокументированный, работает только на Windows. На Linux используйте Apache или ibsrv.

Удалённая установка (клиент-серверная база)

Расширение MCP-1C можно установить как в файловые, так и в клиент-серверные базы данных. Способ установки зависит от типа информационной базы.

Файловая база (локальный путь)

Для файловой базы укажите локальный путь к каталогу информационной базы:

# Файловая база (локальный путь)
# Windows
mcp-1c --install "C:\Users\Dev\InfoBases\ERP"
# Linux / macOS
mcp-1c --install "/home/dev/bases/erp"

Клиент-серверная база (удалённо через сеть)

Для клиент-серверной базы используйте флаг --server. Установка выполняется удалённо, прямой доступ к серверу СУБД не требуется:

# Клиент-серверная база (удалённо через сеть)
mcp-1c --install "server-1c\erp" --server --db-user Admin --db-password pass

Удалённая установка polling-клиента Расширенная

В Расширенной версии polling-клиент устанавливается аналогично, с флагом --install-polling:

# Удалённая установка polling-клиента
mcp-1c-advanced --install-polling "server-1c\erp" --server --db-user Admin --db-password pass
Что произойдёт при установке polling-клиента
  1. В базу 1С загрузится расширение "MCPPolling" (~30 КБ)
  2. Расширение добавит регламентное задание для связи с Go-сервером
  3. 1С будет периодически опрашивать Go-сервер на наличие задач
  4. Не требует Apache/IIS, 1С сама инициирует подключение

Формат строки подключения

  • server-name\database-name - стандартный формат
  • server-name:port\database-name - с нестандартным портом (по умолчанию 1541)
  • Требуется сетевой доступ к серверу приложений 1С
Важно: На машине, где выполняется команда --install или --install-polling, должна быть установлена платформа 1С (Конфигуратор / Designer). Если платформа не определяется автоматически, укажите путь к 1cv8.exe вручную через флаг --platform:
mcp-1c --install "server-1c\erp" --server \
  --platform "C:\Program Files\1cv8\8.3.25.1000\bin\1cv8.exe" \
  --db-user Admin --db-password pass

Настройка AI-клиента

Добавьте MCP-1C в конфигурацию вашего AI-клиента.

Claude Desktop

Файл: %APPDATA%\Claude\claude_desktop_config.json (Windows) или ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

{
  "mcpServers": {
    "1c": {
      "command": "C:\\path\\to\\mcp-1c.exe",
      "args": ["--base", "http://localhost:8080/hs/mcp"]
    }
  }
}

Cursor

Settings → MCP → Add Server

{
  "mcpServers": {
    "1c": {
      "command": "mcp-1c",
      "args": ["--base", "http://localhost:8080/hs/mcp"]
    }
  }
}

VS Code + Copilot

Файл: .vscode/mcp.json в корне проекта

{
  "servers": {
    "1c": {
      "command": "mcp-1c",
      "args": ["--base", "http://localhost:8080/hs/mcp"]
    }
  }
}

JetBrains IDE

Settings → Tools → AI Assistant → MCP Servers → Add

{
  "servers": {
    "1c": {
      "command": "mcp-1c",
      "args": ["--base", "http://localhost:8080/hs/mcp"]
    }
  }
}

Первый запрос

Перезапустите AI-клиент и задайте вопрос о вашей конфигурации 1С. Примеры:

  • «Покажи структуру конфигурации моей базы 1С»
  • «Покажи все документы с реквизитом Организация»
  • «Напиши запрос: остатки товаров по складам за текущий месяц»
  • «Найди все использования регистра ТоварыНаСкладах»
  • «Объясни модуль менеджера документа РеализацияТоваровУслуг»

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

MCP-1C поддерживает два режима подключения к базе 1С:

Файловая база

Прямое подключение к .1CD файлу через HTTP-сервис 1С.

mcp-1c --base http://localhost:8080/hs/mcp

Клиент-серверная база

Через HTTP-сервис, опубликованный на сервере 1С (Apache/IIS).

mcp-1c --base http://server:8080/erp/hs/mcp \
  --user Admin --password secret

Мультибазовость Расширенная

Расширенная версия позволяет подключить несколько баз 1С одновременно. Каждая база получает имя, по которому AI-ассистент выбирает нужную:

mcp-1c-advanced \
  --base dev=http://localhost:8080/hs/mcp \
  --base prod=http://prod-server:8080/erp/hs/mcp \
  --auth dev=Admin:pass123 \
  --auth prod=ReadOnly:readonly \
  --dump dev=/path/to/dev/dump \
  --default-base dev
Совет: Флаг --default-base задает базу по умолчанию. Если не указан, используется первая.

Аутентификация

Три способа задать учетные данные (по приоритету):

  1. 1.Флаги CLI: --user и --password (или --auth NAME=USER:PASS в мультибазовом режиме)
  2. 2.Переменные окружения: MCP_1C_USER и MCP_1C_PASSWORD
  3. 3.Без аутентификации (если HTTP-сервис 1С не требует авторизации)

Выгрузка конфигурации (--dump)

Для полнотекстового поиска по коду модулей (search_code) необходима выгрузка конфигурации в файлы:

# 1. Выгрузите конфигурацию из Конфигуратора:
# Конфигурация → Выгрузить конфигурацию в файлы...

# 2. Укажите путь при запуске:
mcp-1c --base http://localhost:8080/hs/mcp \
  --dump "C:\dumps\erp"

# Принудительная перестройка индекса (игнорирует кэш):
mcp-1c --base http://localhost:8080/hs/mcp \
  --dump "C:\dumps\erp" --reindex

Индекс строится в фоне (неблокирующий старт). MCP-сервер доступен сразу, поиск заработает после завершения индексации. Дисковый кэш ускоряет повторные запуски.

Long Polling Расширенная

Long polling позволяет подключить базу 1С без Apache/IIS. Go-сервер поднимает HTTP-эндпоинт, а 1С сама ходит за задачами через регламентное задание.

[Claude/Cursor] --stdio--> [mcp-1c-advanced] --HTTP :9090--> [1С polling client]
                                ^                                    |
                                |                                    v
                            TaskQueue <--- POST /result/{id} --- [Обработка запроса]
                                |
                            GET /poll (long poll, 25 сек)
Требования:
  • Платформа 1С 8.3.23+ (регламентные задания в расширениях)
  • Для автозапуска: клиент-серверный режим (1С Сервер + PostgreSQL/MS SQL)
  • В файловом режиме регламентные задания работают только при открытом клиенте 1С

Шаг 1. Установка расширения

Файловая база:

mcp-1c-advanced --install-polling /path/to/database \
  --poll-user myuser \
  --poll-password mypassword

Клиент-серверная база:

mcp-1c-advanced --install-polling "SERVER01\MyDatabase" \
  --server \
  --poll-user myuser \
  --poll-password mypassword \
  --db-user admin \
  --db-password dbpass

Что происходит при установке:

  1. 1.Находит платформу 1С автоматически
  2. 2.Устанавливает расширение MCP_Polling через DESIGNER (без GUI)
  3. 3.Расширение содержит модуль MCP_PollingClient и регламентное задание MCP_PollingJob
  4. 4.Авторестарт при сбое: 3 попытки, интервал 60 секунд
  5. 5.Настройки подключения встраиваются в код модуля
Параметр Описание
--poll-user / --poll-password Учетные данные Basic Auth между Go-сервером и 1С
--db-user / --db-password Пользователь базы 1С для DESIGNER
--server Серверный режим подключения
--platform /path Путь к платформе 1С (если не определяется автоматически)
--poll-server-url URL URL Go-сервера (по умолчанию http://localhost:9090)

Шаг 2. Настройка AI-клиента

Флаг --base объявляет базу данных в формате NAME=URL. Схема poll:// указывает MCP-серверу маршрутизировать запросы через очередь задач вместо прямого HTTP-подключения к 1С. Флаг --listen задает адрес HTTP-сервера, к которому 1С будет подключаться для получения задач. Оба флага обязательны: --base mydb=poll:// объявляет polling-базу, --listen :9090 запускает HTTP-сервер.

Файл: claude_desktop_config.json

{
  "mcpServers": {
    "mcp-1c": {
      "command": "/path/to/mcp-1c-advanced",
      "args": [
        "--base", "mydb=poll://",
        "--listen", ":9090",
        "--poll-user", "myuser",
        "--poll-password", "mypassword"
      ]
    }
  }
}

Шаг 3. Проверка

  1. 1.Запустите AI-клиент - MCP-сервер стартует и слушает :9090
  2. 2.Регламентное задание автоматически начинает polling
  3. 3.В журнале регистрации 1С: "MCP.Polling: polling loop started"
  4. 4.Проверка здоровья: curl http://localhost:9090/health

HTTP-эндпоинты

Эндпоинт Метод Описание
/poll GET Long poll, таймаут 25 сек. 200 + JSON при наличии задачи, 204 если задач нет
/result/{id} POST Результат выполнения задачи. 200 при успехе, 404 если задача не найдена
/health GET Проверка здоровья сервера. Без авторизации
Важно: /poll и /result требуют Basic Auth (--poll-user/--poll-password).

Сравнение режимов

Критерий HTTP-сервис (стандартный) Long Polling
Мин. версия платформы 8.3.14 8.3.23
Требует Apache/IIS Да Нет
Файловый режим Работает всегда Только при открытом клиенте 1С
Автоматический запуск После публикации Клиент-серверный: да, файловый: нет
Задержка ~50 мс До 25 сек на первый запрос, далее мгновенно
Настройка Сложнее (Apache/IIS + публикация) Одна команда

Отладка

  • Журнал регистрации 1С: события с источником "MCP.Polling"
  • Проверка здоровья: curl http://localhost:9090/health
  • Ручная проверка polling: curl -u user:pass http://localhost:9090/poll --max-time 30
  • Регламентное задание: Администрирование → Регламентные и фоновые задания → MCP_PollingJob
  • Файловый режим: регламентные задания работают только при открытом клиенте 1С

Инструменты Открытой версии

9 инструментов, доступных в бесплатной версии

search_code

Открытая

Полнотекстовый поиск по коду модулей

Три режима поиска: smart (BM25-ранжирование), regex (регулярные выражения), exact (точное совпадение). Встроенные BSL-синонимы: поиск по StrFind находит СтрНайти и наоборот. Фильтрация по типу метаданных и типу модуля.

Требует: --dump (путь к выгрузке конфигурации)

get_metadata

Открытая

Структура конфигурации

Дерево метаданных: справочники, документы, регистры, общие модули и другие объекты конфигурации. Реквизиты, табличные части, измерения и ресурсы конкретного объекта. Структура основной формы: элементы, команды, обработчики событий.

get_module_code

Открытая

Чтение модулей

Получение исходного кода модулей объектов: модули объектов, менеджеров, форм, общие модули и другие.

get_register_info

Открытая

Структура регистров

Детальная информация о структуре регистров: измерения, ресурсы, реквизиты, типы данных, привязка к регистраторам.

execute_query

Открытая

Выполнение запросов

Выполнение запросов на языке запросов 1С с параметрами. Только SELECT/ВЫБРАТЬ -- безопасно для рабочих баз. Поддержка параметров запроса.

validate_code

Открытая

Синтаксическая проверка

Проверка синтаксиса запросов и кода BSL без выполнения. Возвращает список ошибок с указанием строки и позиции.

get_error_log

Открытая

Журнал ошибок

Чтение журнала регистрации 1С с фильтрацией по дате, уровню важности и пользователю.

get_config_info

Открытая

Информация о конфигурации

Имя конфигурации, версия, поставщик, версия платформы, режим работы базы данных.

refresh_cache

Открытая

Обновление кэша

Принудительное обновление кэша метаданных. Используйте после изменения конфигурации 1С.

Инструменты Расширенной версии

14 инструментов (включая 9 Открытой + 5 дополнительных), доступных по подписке

optimize_query

Расширенная

Оптимизатор запросов

Статический анализ запросов на 15 антипаттернов производительности: отсутствие индексов, звездочки в SELECT, вложенные запросы, неоптимальные соединения и другое. Двуязычный анализ (русский/английский синтаксис BSL).

explain_code

Расширенная

Анализ кода

Глубокий статический анализ кода BSL с 6 встроенными анализаторами: сложность, потенциальные ошибки, стиль кода, производительность, безопасность, совместимость.

bsl_syntax_help

Расширенная

Расширенный справочник синтаксиса BSL

Справка по функциям и типам платформы 1С на основе данных из файлов синтакс-помощника (.hbk). Включает полные сигнатуры методов, описания параметров, типы возвращаемых значений. Поиск по Bleve-индексу. Обновляется командой --update-syntax.

check_compatibility

Расширенная

Проверка совместимости версий

Анализ совместимости кода с различными версиями платформы 1С. База данных breaking changes, руководства по миграции, матрица совместимости для нескольких версий.

generate_query

Расширенная

Генератор запросов

Генерация запросов на языке запросов 1С по текстовому описанию на естественном языке, с учетом структуры конкретной конфигурации.

execute_code

Расширенная

Песочница кода

Безопасное выполнение произвольного кода BSL в контексте базы 1С. Результат возвращается в структурированном виде.

convert_async

Расширенная

Конвертер в асинхронный код

Автоматическое преобразование синхронных вызовов BSL в асинхронные (ОписаниеОповещения, Обещание и т.д.).

generate_print_form

Расширенная

Генератор печатных форм

Генерация кода печатных форм по описанию макета: шапка, табличная часть, итоги, параметры оформления.

get_context

Расширенная

Умный контекст

Автоматический сбор релевантного контекста для AI-ассистента: связанные объекты, регистры, модули, подписки на события.

Расширения .cfe

Расширенная

Поиск и чтение кода расширений

Расширенная версия автоматически обнаруживает установленные расширения конфигурации (.cfe) и включает их модули в search_code и get_module_code. Результаты расширений помечаются префиксом [Расш].

Справочник CLI

Флаги Открытой версии mcp-1c

Флаг По умолчанию Описание
--base <URL> http://localhost:8080/hs/mcp URL HTTP-сервиса 1С. Env: MCP_1C_BASE_URL
--user <имя> - Пользователь HTTP-сервиса. Env: MCP_1C_USER
--password <пароль> - Пароль HTTP-сервиса. Env: MCP_1C_PASSWORD
--dump <путь> - Путь к выгрузке конфигурации (DumpConfigToFiles). Включает search_code
--reindex false Принудительная перестройка поискового индекса (игнорирует кэш)
--install <путь> - Установить расширение в базу 1С по указанному пути
--server false Режим клиент-серверной базы: --install принимает строку сервер\база
--platform <путь> авто Путь к исполняемому файлу платформы 1С (автоопределение, если не указан)
--db-user <имя> - Пользователь базы 1С для DESIGNER (режим --install)
--db-password <пароль> - Пароль базы 1С для DESIGNER (режим --install)

Флаги Расширенной версии mcp-1c-advanced

Включает все флаги Открытой версии, плюс следующие:

Флаг По умолчанию Описание
Мультибазовость
--base NAME=URL - Подключение базы с именем (повторяемый). Или просто URL для single-base режима
--auth NAME=USER:PASS - Учетные данные для именованной базы (повторяемый)
--dump NAME=PATH - Путь к выгрузке для именованной базы (повторяемый)
--reindex NAME - Перестроить индекс для именованной базы (повторяемый)
--default-base <NAME> первая Имя базы по умолчанию (если не указано -- первая --base)
Long Polling
--listen <addr> - Запустить HTTP-сервер для long polling (например, :9090)
--poll-user <имя> - Basic auth логин для polling-эндпоинта
--poll-password <пароль> - Basic auth пароль для polling-эндпоинта
--poll-timeout <dur> 30s Таймаут ожидания ответа от 1С в polling-режиме
Polling-клиент (установка в 1С)
--install-polling <путь> - Установить polling-клиент в базу 1С. С --server поддерживает удалённую установку в клиент-серверную базу
--export-polling <файл> - Экспортировать код polling-клиента в BSL-файл
--poll-server-url <URL> http://localhost:9090 URL Go-сервера для настроек polling-клиента
Лицензирование
--activate <ключ> - Активировать лицензию на данной машине
--deactivate false Деактивировать лицензию (освободить слот устройства)
--license-status false Показать статус лицензии (ключ, срок, издание)
Синтаксис
--update-syntax false Разобрать .hbk файлы платформы и сохранить данные синтаксиса в кэш JSON

Примеры команд

# Минимальный запуск (все по умолчанию)
mcp-1c

# С аутентификацией и выгрузкой
mcp-1c --base http://server:8080/erp/hs/mcp \
  --user Admin --password secret \
  --dump /dumps/erp

# Установка в клиент-серверную базу с нестандартной платформой
mcp-1c --install "srv-1c\buh_prod" --server \
  --platform "C:\Program Files\1cv8\8.3.25.1000\bin\1cv8.exe" \
  --db-user Admin --db-password pass
# Advanced: мультибазовость с polling
mcp-1c-advanced \
  --base dev=http://localhost:8080/hs/mcp \
  --base staging=poll:// \
  --auth dev=Admin:dev123 \
  --dump dev=/dumps/dev \
  --listen :9090 \
  --poll-user agent --poll-password secret \
  --default-base dev

# Advanced: обновить данные синтакс-помощника
mcp-1c-advanced --update-syntax

# Advanced: управление лицензией
mcp-1c-advanced --activate "XXXX-XXXX-XXXX-XXXX"
mcp-1c-advanced --license-status
mcp-1c-advanced --deactivate

Поддерживаемые платформы

Операционные системы

ОС MCP-сервер Автоустановка HTTP-сервис 1С
Windows (x64) Да Да Apache/IIS или /HTTPPort
macOS (x64, ARM) Да Да Нет (ограничение платформы 1С)
Linux (x64, ARM64) Да Да Apache или ibsrv

Платформы 1С: 8.3.x и 8.5.x (коммерческая и учебная).

AI-клиенты

AI-клиент Статус Примечания
Claude Desktop Полная поддержка Нативная поддержка MCP
Claude Code (CLI) Полная поддержка Терминальный клиент Anthropic
Cursor Полная поддержка Settings → MCP
Windsurf Полная поддержка MCP-совместимый
VS Code + Copilot Полная поддержка Через GitHub Copilot MCP
VS Code + Continue Полная поддержка Open Source расширение
JetBrains IDE Полная поддержка IntelliJ, GoLand и другие

Расширенная: Лицензирование

Расширенная версия требует лицензионный ключ. Лицензия привязывается к конкретной машине при активации.

Активация

mcp-1c-advanced --activate "XXXX-XXXX-XXXX-XXXX"

License activated successfully!
  Edition:  Advanced
  Expires:  2026-04-14

Ключ активируется один раз. Лицензия хранится локально и проверяется периодически.

Проверка статуса

mcp-1c-advanced --license-status

License: ACTIVE
Key: XXXX-XXXX-XXXX-XXXX
Expires: 2026-04-14
Edition: Advanced

Деактивация

mcp-1c-advanced --deactivate

License deactivated.

Деактивация освобождает слот устройства. Используйте перед переносом лицензии на другую машину.

Обновление данных синтаксиса

# Автоматически найдет платформу
mcp-1c-advanced --update-syntax

# Или укажите путь вручную
mcp-1c-advanced --update-syntax --platform /opt/1cv8/8.3.25.1000

Разбирает файлы синтакс-помощника платформы (shcntx_ru.hbk) и сохраняет в локальный кэш. После обновления перезапустите MCP-сервер.

Что произойдёт
  1. Бинарник найдёт установленную платформу 1С на вашей машине
  2. Распарсит файлы справки (.hbk) вашей версии платформы
  3. Сохранит данные в кэш (~/.cache/mcp-1c/syntax/ или %LocalAppData%)
  4. При следующем запуске инструмент bsl_syntax_help будет использовать справку именно вашей версии

Часто задаваемые вопросы

Открытая версия работает только на чтение: метаданные, код модулей, запросы (только SELECT). Расширенная версия добавляет возможность выполнения кода через sandbox (с подтверждением, аудит-логом и ограничениями безопасности). Ни одна версия не модифицирует конфигурацию.
MCP-сервер работает полностью локально и не требует интернета. Интернет нужен только AI-клиенту (Claude, Cursor и т.д.) для связи со своим облачным AI. Расширенная версия периодически проверяет лицензию через интернет.
Открытая версия поддерживает одну базу. Расширенная версия поддерживает мультибазовый режим: подключите несколько баз через --base NAME=URL (повторяемый флаг). AI-ассистент сам выбирает нужную базу.
MCP-сервер запускается на macOS, но HTTP-сервис 1С необходимо запустить на Windows или Linux (через виртуальную машину или удаленный сервер). Укажите URL удаленного HTTP-сервиса в --base.
search_code -- инструмент полнотекстового поиска по всему коду модулей конфигурации. Для его работы необходима выгрузка конфигурации в файлы (Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы). Путь указывается через --dump. Индекс строится в фоне (~7 сек для 13 000+ модулей) и кэшируется на диске.
Открытая -- бесплатная open source версия с 9 инструментами: метаданные, код модулей, выполнение запросов, поиск по коду, валидация, журнал регистрации.

Расширенная -- платная версия, включающая все инструменты Открытой версии плюс: оптимизатор запросов (15 антипаттернов), глубокий анализ кода (6 анализаторов), расширенный синтакс-помощник (.hbk), проверку совместимости версий, мультибазовость, поддержку расширений .cfe, long polling и другое.

Сравнение тарифов →
Выполните mcp-1c-advanced --deactivate на старой машине, затем mcp-1c-advanced --activate "ваш-ключ" на новой. Деактивация освобождает слот устройства.

Остались вопросы?

Напишите нам или загляните в репозиторий на GitHub