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-1c

MCP-сервер для интеграции AI-ассистентов с 1С:Предприятие

SafeSkill 92/100 Telegram

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По умолчаниюОписание
--baseMCP_1C_BASE_URLhttp://localhost:8080/hs/mcp-1cURL HTTP-сервиса 1С
--userMCP_1C_USER-Пользователь HTTP-сервиса
--passwordMCP_1C_PASSWORD-Пароль HTTP-сервиса
--max-response-sizeMCP_1C_MAX_RESPONSE_SIZE128Максимальный размер ответа 1С в мебибайтах (MiB). Более крупный ответ отклоняется с понятной ошибкой. Увеличьте лимит для больших баз с расширениями.
--request-timeoutMCP_1C_REQUEST_TIMEOUT300Таймаут 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 --user y --password (o las variables MCP_1C_USER y MCP_1C_PASSWORD), y no dentro de la dirección. Indique ambos a la vez: --user sin --password envía HTTP Basic con contraseña vacía. La notación http://Admin:secret@сервер/база/hs/mcp-1c tambié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 redirige http a https o 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 / envDescripción
--verboseForzar la activación de stderr incluso al ejecutarse a través de un pipe. Útil para depurar la conexión del cliente MCP.
--quietForzar el silenciamiento de stderr incluso en un terminal. Anula --verbose.
MCP_1C_NO_TTY=1Equivalente 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.
--debugRegistros 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 localesOllama, LM Studio, llama.cpp y cualquier cliente compatible con MCP
Servicios en la nubeClaude Desktop, Claude Code, GPT (a través de cliente MCP), YandexGPT, GigaChat
IDECursor, 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 1CEstado
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

SOServidor MCPInstalación automáticaServicio HTTP 1C
Windowssí (Apache o IIS)
macOSno (limitación de la plataforma 1C), use una VM de Windows
Linuxsí (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 .cfe listo 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

Infostart

Licencia

MIT