Документация MCP-1C
Полное руководство по установке, настройке и использованию
Быстрый старт
Установка
Скачайте готовый бинарник для вашей операционной системы со страницы Releases на GitHub, или установите одной командой:
# Linux / macOS
curl -fsSL https://feenlace.ru/install.sh | sh
# Windows (PowerShell)
irm https://feenlace.ru/install.ps1 | iex
Подключение базы 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С загрузится расширение "MCP" (~50 КБ)
- Расширение добавит HTTP-сервис для обмена данными с AI
- Расширение Открытой версии работает только на чтение, не изменяет данные и конфигурацию
- Расширенная версия добавляет возможность выполнения кода через sandbox с подтверждением и аудит-логом
- Расширение можно отключить или удалить в любой момент через Конфигуратор
Затем запустите 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С загрузится расширение "MCPPolling" (~30 КБ)
- Расширение добавит регламентное задание для связи с Go-сервером
- 1С будет периодически опрашивать Go-сервер на наличие задач
- Не требует 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.Флаги CLI:
--userи--password(или--auth NAME=USER:PASSв мультибазовом режиме) - 2.Переменные окружения:
MCP_1C_USERиMCP_1C_PASSWORD - 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С автоматически
- 2.Устанавливает расширение
MCP_Pollingчерез DESIGNER (без GUI) - 3.Расширение содержит модуль
MCP_PollingClientи регламентное заданиеMCP_PollingJob - 4.Авторестарт при сбое: 3 попытки, интервал 60 секунд
- 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.Запустите AI-клиент - MCP-сервер стартует и слушает
:9090 - 2.Регламентное задание автоматически начинает polling
- 3.В журнале регистрации 1С:
"MCP.Polling: polling loop started" - 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С на вашей машине
- Распарсит файлы справки (.hbk) вашей версии платформы
- Сохранит данные в кэш (~/.cache/mcp-1c/syntax/ или %LocalAppData%)
- При следующем запуске инструмент bsl_syntax_help будет использовать справку именно вашей версии
Часто задаваемые вопросы
--base NAME=URL (повторяемый флаг). AI-ассистент сам выбирает нужную базу.
--base.
search_code -- инструмент полнотекстового поиска по всему коду модулей конфигурации. Для его работы необходима выгрузка конфигурации в файлы (Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы). Путь указывается через --dump. Индекс строится в фоне (~7 сек для 13 000+ модулей) и кэшируется на диске.
Расширенная -- платная версия, включающая все инструменты Открытой версии плюс: оптимизатор запросов (15 антипаттернов), глубокий анализ кода (6 анализаторов), расширенный синтакс-помощник (.hbk), проверку совместимости версий, мультибазовость, поддержку расширений .cfe, long polling и другое.
Сравнение тарифов →
mcp-1c-advanced --deactivate на старой машине, затем mcp-1c-advanced --activate "ваш-ключ" на новой. Деактивация освобождает слот устройства.
Остались вопросы?
Напишите нам или загляните в репозиторий на GitHub