mcp-1c
Integración con 1C:Enterprise — metadatos, búsqueda de código BSL, consultas, registro de eventos, referencia de sintaxis. Un binario Go, cero dependencias.
Documentación
mcp-1c
MCP-сервер для интеграции AI-ассистентов с 1С:Предприятие
AI видит метаданные вашей конфигурации 1С и генерирует точный код на BSL. Работает с любым MCP-совместимым клиентом.
Работает с локальными моделями
MCP-1C не привязан к конкретной нейросети. Работает с любым MCP-совместимым клиентом:
- Локальные модели (Ollama, LM Studio, llama.cpp) - данные не покидают вашу сеть
- Облачные сервисы (Claude, GPT, YandexGPT, GigaChat) - через соответствующие MCP-клиенты
- IDE с AI (Cursor, VS Code + Continue/Cline, JetBrains)
Ваш код и данные 1С остаются у вас. MCP-1C - это локальный процесс, который общается только с вашей базой.
Платные версии
Помимо бесплатной Открытой версии, доступны платные редакции с расширенными возможностями:
- Расширенная (1 990 ₽/мес). Восемь консолидированных инструментов (модель с параметром
action): чтение исходного кода модулей, работа со схемами XSD и проверка XML, оптимизатор запросов, линтер BSL, синтакс-помощник, мультибазовость, расширения .cfe, песочница кода, память проекта и шаблоны - Профессиональная (4 990 ₽/мес). Всё из Расширенной, плюс глубокий анализ всей кодовой базы, навигация по коду и граф зависимостей, семантический поиск, архитектурная визуализация, автодокументация, генерация тестов и .epf-обработок, навигация по типовым конфигурациям, сравнение базы и расширений, проверка запросов и API платформы, разбор прав RLS и планов обмена
При регистрации вы получаете 14 дней Профессиональной версии бесплатно.
→ Подробнее о тарифах → Документация
[!TIP] Бета-тест Профессиональной версии. Мы запустили Профессиональную редакцию для глубокого анализа всей кодовой базы: массовый анализ (антипаттерны, дубли, мёртвый код, аудит безопасности, метрики качества), навигация по коду и граф зависимостей, семантический поиск, архитектурная визуализация, автодокументация, генерация тестов (YAxUnit, Vanessa-Automation) и .epf-обработок, навигация по типовым конфигурациям, сравнение базы и расширений, проверка запросов и API платформы, разбор прав RLS и планов обмена.
Зарегистрируйтесь и получите 14 дней бесплатно. Активным бета-тестерам, которые делятся полезной обратной связью и хотят продолжить тестирование, продлеваем пробный период. Топ-5 бета-тестеров получат бесплатную подписку навсегда на Профессиональную версию.
→ Зарегистрироваться | Документация Pro | Сообщить о проблеме
Сравнение версий
| Открытая | Расширенная | Профессиональная | |
|---|---|---|---|
| Инструменты | 11 отдельных | 8 консолидированных | 8 + инструменты Pro |
| Цена | Бесплатно | 1 990 ₽/мес | 4 990 ₽/мес |
| Пробный период | - | - | 14 дней |
| Лицензия | MIT | Подписка | Подписка |
Расширенная добавляет (8 консолидированных инструментов):
- Чтение исходного кода модулей: объекты, формы, общие модули, расширения
- Сжатый контекст метаданных и резолв имён объектов по индексу выгрузки
- Работа со схемами XSD и структурная проверка XML по реальной выгрузке
- Оптимизатор запросов (15 антипаттернов) и линтер BSL (30+ диагностик)
- Синтакс-помощник (10 000+ определений) и проверка совместимости версий
- Генераторы запросов и печатных форм, конвертер модальных вызовов в асинхронные
- Песочница кода с подтверждением и аудит-логом
- Мультибазовость и работа с расширениями .cfe (чтение, поиск)
- Память проекта (memory) и библиотека шаблонов кода (templates)
- Работа через реверс-опрос (long polling): фоновое регламентное задание в 1С само опрашивает сервер, публиковать HTTP-сервис на веб-сервере не нужно
Профессиональная добавляет:
- Массовый анализ всей кодовой базы (bulk_analyze): антипаттерны, дубли, мёртвый код, аудит безопасности BSL, метрики качества, тренды
- Семантический поиск по коду (LSA + Randomized SVD) и гибридный режим
- Навигация по коду и граф зависимостей: иерархия вызовов, переход к объявлению, поиск мест вызова, анализ архитектурных границ, структурные запросы к графу
- Досье объекта и чтение схем компоновки данных (СКД) отчётов
- Архитектурная визуализация (диаграммы) и автогенерация документации
- Генерация тестов (YAxUnit, Vanessa-Automation) и .epf-обработок
- Навигация по типовым конфигурациям (БП, ЗУП, УТ, Розница, КА, ERP)
- Структурный diff расширений .cfe и сверка основной конфигурации с расширением (code_review)
- Помощник по обновлению типовых конфигураций
- Семантическая проверка запросов по метаданным и проверка API платформы в коде BSL
- Разбор прав и RLS ролей, а также планов обмена (офлайн, по выгрузке)
- CI/CD интеграция (--ci, --json, quality gates), отчёты HTML/PDF/SARIF
Почему mcp-1c
- Один бинарник, ноль зависимостей. Написан на Go - не нужен Python, Node.js, JVM или EDT. Скачал, запустил, работает.
- 11 инструментов для работы с живой базой. Метаданные, информация о конфигурации, формы, запросы к данным (с параметрами), поиск по коду, перечитывание выгрузки, валидация, журнал регистрации, справка BSL, анализ подсистем.
- Полнотекстовый поиск по коду (
search_code). Три режима: smart (BM25-ранжирование), regex, exact. Встроенные BSL-синонимы - поиск поStrFindнаходитСтрНайтии наоборот. - Шардированная индексация. Параллельная сборка индекса по числу ядер. ~7 сек для 13 000+ модулей. Дисковый кеш - повторный запуск мгновенный.
- Неблокирующий старт. Индекс строится в фоне, MCP-сервер доступен сразу. Поиск заработает после завершения индексации.
- Работает с вашей базой. AI видит реальную конфигурацию и реальные данные - не абстрактную справку, а именно вашу базу.
- Не привязан к IDE и нейросети. Работает с Конфигуратором, EDT, или вообще без IDE. Работает с любой моделью, включая локальные (Ollama, LM Studio). Нужен только HTTP-сервис 1С.
- Автоустановка.
mcp-1c --install "C:\путь\к\базе"- сам найдёт платформу, поставит расширение, обновит конфигурацию БД. - Встроенная справка BSL. Синтаксис функций платформы доступен без внешних сервисов и без запущенной 1С.
Быстрый старт
Впервые слышите про MCP? Читайте пошаговую инструкцию - там всё с нуля, включая объяснение что такое MCP.
1. Скачать
Бинарник для вашей ОС - в Releases. Или: go build -o mcp-1c ./cmd/mcp-1c/
2. Установить расширение в 1С
# Windows
mcp-1c --install "C:\путь\к\базе"
# macOS / Linux
mcp-1c --install ~/Documents/InfoBase
# Клиент-серверная база (MS SQL, PostgreSQL)
mcp-1c --install "srv-1c\buh_prod" --server --db-user Admin --db-password pass
Если платформа установлена в нестандартную папку:
mcp-1c --install "путь" --platform "/custom/path/to/1cv8"Если версия платформы не определяется автоматически (нестандартный путь без номера версии), укажите её явно:
mcp-1c --install "путь" --platform "/custom/path/to/1cv8" --platform-version 8.3.13Этой сборке нужно расширение версии 0.4.7 или новее. Более старое запуску не мешает: сервер работает, но пишет в журнал
Extension is OLDER than this build requires, и часть инструментов будет отвечать ошибкой.
3. Запустить HTTP-сервис 1С
Опубликуйте HTTP-сервис 1С через Apache или IIS (Конфигуратор → Администрирование → Публикация на веб-сервере). Работает на Windows и Linux. Подробности в пошаговой инструкции.
4. Настроить AI-клиент
Конфигурация MCP-сервера одинакова для любого клиента и любой модели. Не важно, используете вы Claude, Ollama или LM Studio, настройка MCP-1C не меняется:
{
"mcpServers": {
"1c": {
"command": "/path/to/mcp-1c",
"args": ["--base", "http://localhost:8080/hs/mcp-1c"]
}
}
}
На Windows пути с обратными слешами:
"command": "C:\\путь\\к\\mcp-1c.exe"
Перезапустите AI-клиент. В Claude Desktop рекомендуем: «+» → Connectors → Tool access → Always available.
Также поддерживаются: Claude Code, Cursor, Windsurf, VS Code + Copilot, VS Code + Continue, JetBrains IDE, а также любые клиенты для локальных моделей с поддержкой MCP. Настройка каждого - в пошаговой инструкции.
Спросите: «Покажи структуру конфигурации моей базы 1С»
Доступные инструменты
| Инструмент | Описание |
|---|---|
get_metadata_tree | Дерево метаданных: справочники, документы, регистры, определяемые типы, общие модули и др. |
get_object_structure | Реквизиты, табличные части, измерения, ресурсы и структура подсистемы (object_type=Subsystem) конкретного объекта |
get_form_structure | Структура формы: элементы, команды, обработчики событий. Полный состав читается из выгрузки, поэтому нужен запуск с --dump; без него возвращается только то, что отдал HTTP-сервис 1С, и форму он выбирает сам |
get_configuration_info | Имя конфигурации, версия, поставщик, версия платформы, режим работы |
search_code | Полнотекстовый поиск по коду модулей: smart (BM25), regex, exact. BSL-синонимы (рус↔англ). Фильтрация по типу метаданных и модуля |
reload_dump | Перечитать выгрузку без перезапуска сервера: после повторной выгрузки конфигурации search_code начинает искать по новому содержимому. Доступен только с --dump |
bsl_syntax_help | Справка по 180 встроенным функциям, методам типов и паттернам BSL |
execute_query | Выполнить запрос на языке запросов 1С с параметрами (только SELECT/ВЫБРАТЬ) |
validate_query | Проверить синтаксис запроса без выполнения |
get_event_log | Чтение журнала регистрации с фильтрацией по дате, уровню и пользователю |
analyze_subsystems | Анализ распределения объектов по подсистемам: объекты вне подсистем (orphans), подсистемы указанного объекта (containing), объекты в нескольких подсистемах (intersections) |
Конфигурация
| Флаг | Env var | По умолчанию | Описание |
|---|---|---|---|
--base | MCP_1C_BASE_URL | http://localhost:8080/hs/mcp-1c | URL HTTP-сервиса 1С |
--user | MCP_1C_USER | - | Пользователь HTTP-сервиса |
--password | MCP_1C_PASSWORD | - | Пароль HTTP-сервиса |
--max-response-size | MCP_1C_MAX_RESPONSE_SIZE | 128 | Максимальный размер ответа 1С в мебибайтах (MiB). Более крупный ответ отклоняется с понятной ошибкой. Увеличьте лимит для больших баз с расширениями. |
--request-timeout | MCP_1C_REQUEST_TIMEOUT | 300 | Таймаут HTTP-запроса к 1С в секундах. Увеличьте, если передача очень большого ответа (например, расширений крупной базы) не успевает завершиться. |
--dump | - | - | Путь к выгрузке конфигурации (DumpConfigToFiles), включает инструменты search_code и reload_dump |
--reindex | - | - | Принудительная перестройка поискового индекса (игнорирует кеш) |
--install | - | - | Установить расширение в базу 1С по указанному пути |
--server | - | - | Режим клиент-серверной базы: --install принимает строку подключения сервер\база (например srv-1c\buh_prod) |
--platform | - | - | Путь к бинарнику 1С (автоопределение, если не указан) |
--platform-version | - | - | Версия платформы 1С (например 8.3.13). Определяется автоматически из пути к платформе. Укажите вручную, если платформа установлена в нестандартный путь без информации о версии. Минимальная поддерживаемая версия: 8.3.10 |
--db-user | - | - | Пользователь базы 1С для DESIGNER (режим --install) |
--db-password | - | - | Пароль базы 1С для DESIGNER (режим --install) |
El login y la contraseña se pasan con los flags
--usery--password(o las variablesMCP_1C_USERyMCP_1C_PASSWORD), y no dentro de la dirección. Indique ambos a la vez:--usersin--passwordenvía HTTP Basic con contraseña vacía. La notaciónhttp://Admin:secret@сервер/база/hs/mcp-1ctambién funciona, mcp-1c extrae las credenciales de la dirección al iniciar y no aparecen en los textos de error ni en el registro, pero parte de esas direcciones se rechazan al arrancar: con?o#, con letras rusas en el login o la contraseña, y también con@en la ruta cuando hay un puerto explícito. Análisis completo: Dirección del servicio HTTP en --base.mcp-1c solo sigue redirecciones dentro de la dirección de
--base: mismo esquema, mismo host, mismo puerto. Si el servidor web redirigehttpahttpso a otro puerto, indique la dirección final en--base.
Registro y salida
Por defecto, el comportamiento depende de si el servidor se ejecuta en un terminal o a través de un cliente MCP:
- En un terminal (stdin conectado a tty): el progreso de indexación, los mensajes informativos y los errores se escriben en stderr como es habitual.
- A través de un cliente MCP (Kilo Code, OpenCode, Claude Desktop, Cursor, etc., cuando stdin es un pipe): stderr está vacío, la salida aleatoria de bibliotecas de terceros se redirige a
~/.cache/mcp-1c/stderr.log. Esto protege a los clientes que interpretan cualquier salida de stderr como un error fatal (Issue #14).
Flags y variables de entorno
| Flag / env | Descripción |
|---|---|
--verbose | Forzar la activación de stderr incluso al ejecutarse a través de un pipe. Útil para depurar la conexión del cliente MCP. |
--quiet | Forzar el silenciamiento de stderr incluso en un terminal. Anula --verbose. |
MCP_1C_NO_TTY=1 | Equivalente a --quiet. Más cómodo que el flag CLI al ejecutarse en Docker / systemd, donde los argumentos de línea de comandos son menos flexibles. |
--debug | Registros detallados en el archivo ~/.cache/mcp-1c/server.log. En un terminal también desactiva el indicador de progreso. |
Git Bash / MSYS2 / MinTTY en Windows
Estas shells conectan stdin a través de named pipes, no mediante un console handle normal. La autodetección las considera no-TTY, por lo que el progreso de indexación no se muestra por defecto. Para diagnóstico manual, use el flag --verbose o un cmd.exe completo / Windows Terminal.
Desarrollo
go build -o mcp-1c ./cmd/mcp-1c # сборка
go test ./... -v -race # тесты
go run ./cmd/mock-1c -port 9191 # mock-сервер 1С
Extensión 1C
Los fuentes de la extensión se almacenan en extension/src/ en formato de exportación XML de configuración. Al --install se integran en el binario mediante go:embed y se cargan directamente a través de DESIGNER /LoadConfigFromFiles. No se necesita un archivo .cfe listo para la compilación.
El MCP_HTTPService.cfe listo está disponible en Releases: es la forma más sencilla de instalación si no tiene acceso a la línea de comandos en el servidor 1C (por ejemplo, al trabajar por RDP). Más detalles: docs/1c-setup.md.
Para compilar manualmente el .cfe desde los fuentes:
# macOS / Linux (требуется установленная платформа 1С)
./scripts/build-extension.sh ~/Documents/InfoBase
# Windows
scripts\build-extension.cmd C:\Users\User\Documents\InfoBase
Compatibilidad
| Clientes de IA | |
|---|---|
| Modelos locales | Ollama, LM Studio, llama.cpp y cualquier cliente compatible con MCP |
| Servicios en la nube | Claude Desktop, Claude Code, GPT (a través de cliente MCP), YandexGPT, GigaChat |
| IDE | Cursor, VS Code (Continue, Cline, Copilot), Windsurf, IDEs de JetBrains |
MCP-1C no conoce ni determina qué modelo se ejecuta en el lado del cliente. La configuración es la misma.
| Plataforma 1C | Estado |
|---|---|
| 8.3.10 y superior (comercial) | Compatible |
| 8.5.x (comercial) | Compatible |
| 8.3.10+ / 8.5.x (educativa) | Compatible |
Versión mínima compatible de la plataforma: 8.3.10
| SO | Servidor MCP | Instalación automática | Servicio HTTP 1C |
|---|---|---|---|
| Windows | sí | sí | sí (Apache o IIS) |
| macOS | sí | sí | no (limitación de la plataforma 1C), use una VM de Windows |
| Linux | sí | sí | sí (Apache o ibsrv) |
Requisitos del sistema
El servidor en sí no exige muchos recursos. Se necesita hardware potente solo si levanta un modelo local, y esos requisitos los define el propio modelo, no MCP-1C.
Servidor MCP-1C:
- Binario. Un único archivo ejecutable estático sin dependencias (no se necesitan Python, Node.js, JVM ni EDT). Tamaño aproximado de 25-40 MB.
- SO y arquitecturas. Windows, macOS, Linux; amd64 y arm64.
- Plataforma 1C. Versión mínima compatible 8.3.10. Para la instalación manual del
.cfelisto se necesita la versión 8.3.14 o superior. - Acceso a datos. Servicio HTTP de 1C o exportación offline de configuración (
--dump). - CPU y RAM. Los requisitos son mínimos, no hay un mínimo fijo. Al construir el índice de búsqueda, la memoria está limitada por arquitectura: los datos se procesan por lotes y se transmiten al disco.
- Disco. Caché del índice de búsqueda de unos 100-200 MB para configuraciones grandes (BSP, ERP, UT). La compilación tarda unos 7 segundos en 13 000+ módulos; la ejecución posterior usa la caché.
Modelo (LLM):
MCP-1C no ejecuta ni aloja ningún modelo. Funciona con cualquier modelo en el lado del cliente, por lo que los requisitos de hardware para el modelo dependen de su elección:
- Modelo en la nube (Claude, GPT, YandexGPT, GigaChat): no hay requisitos locales de hardware.
- Modelo local (Ollama, LM Studio, llama.cpp): los requisitos de RAM, VRAM y disco los define el modelo elegido, no MCP-1C.
Publicaciones
Licencia
MIT