mcp-1c
MCP server for 1С:Enterprise — AI assistant sees your configuration and generates accurate BSL code. One binary, zero dependencies, 11 tools.
Links
README
From the repo.
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.8 или новее. Более старое запуску не мешает: сервер работает, но пишет в журнал
Extension is OLDER than this build requires, и часть инструментов будет отвечать ошибкой.
3. Запустить HTTP-сервис 1С
Опубликуйте HTTP-сервис 1С через Apache или IIS (Конфигуратор → Администрирование → Публикация на веб-сервере). Работает на Windows и Linux. Подробности в пошаговой инструкции.
4. Настроить AI-клиент
Конфигурация MCP-сервера:
{
"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, Codex, 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) |
Логин и пароль передавайте флагами
--userи--password(или переменнымиMCP_1C_USERиMCP_1C_PASSWORD), а не внутри адреса. Указывайте оба сразу:--userбез--passwordотправляет HTTP Basic с пустым паролем. Записьhttp://Admin:secret@сервер/база/hs/mcp-1cтоже работает, mcp-1c снимает учётные данные с адреса при запуске и в тексты ошибок и журнала они не попадают, но часть таких адресов отклоняется при старте: с?или#, с русскими буквами в логине или пароле, а также с@в пути при явном порте. Полный разбор: Адрес HTTP-сервиса в --base.Перенаправления mcp-1c выполняет только в пределах адреса из
--base: та же схема, тот же хост, тот же порт. Если веб-сервер переадресуетhttpнаhttpsили на другой порт, укажите в--baseконечный адрес.
Логирование и вывод
По умолчанию поведение зависит от того, запущен ли сервер в терминале или через MCP-клиент:
- В терминале (stdin подключён к tty): прогресс индексации, информационные сообщения и ошибки пишутся в stderr как обычно.
- Через MCP-клиент (Kilo Code, OpenCode, Claude Desktop, Cursor и др., когда stdin это pipe): stderr пустой, случайный вывод сторонних библиотек перенаправляется в
~/.cache/mcp-1c/stderr.log. Это защищает клиентов, которые трактуют любой stderr-вывод как фатальную ошибку (Issue #14).
Флаги и переменные окружения
| Флаг / env | Описание |
|---|---|
--verbose | Принудительно включить stderr даже при запуске через pipe. Удобно для отладки подключения MCP-клиента. |
--quiet | Принудительно заглушить stderr даже в терминале. Переопределяет --verbose. |
MCP_1C_NO_TTY=1 | Эквивалент --quiet. Удобнее CLI-флага при запуске в Docker / systemd, где аргументы командной строки менее гибкие. |
--debug | Подробные логи в файл ~/.cache/mcp-1c/server.log. В терминале также отключает индикатор прогресса. |
Git Bash / MSYS2 / MinTTY на Windows
Эти оболочки подключают stdin через именованные pipes, а не через обычный console handle. Автодетект считает их не-TTY, поэтому прогресс индексации по умолчанию не выводится. Для ручной диагностики используйте флаг --verbose или полноценный cmd.exe / Windows Terminal.
Разработка
go build -o mcp-1c ./cmd/mcp-1c # сборка
go test ./... -v -race # тесты
go run ./cmd/mock-1c -port 9191 # mock-сервер 1С
Расширение 1С
Исходники расширения хранятся в extension/src/ в формате XML-выгрузки конфигурации. При --install они встроены в бинарник через go:embed и загружаются напрямую через DESIGNER /LoadConfigFromFiles. Готовый .cfe файл для сборки не требуется.
Готовый MCP_HTTPService.cfe доступен в Releases - это самый простой путь установки, если у вас нет доступа к командной строке на сервере 1С (например, при работе через RDP). Подробнее: docs/1c-setup.md.
Для ручной сборки .cfe из исходников:
# macOS / Linux (требуется установленная платформа 1С)
./scripts/build-extension.sh ~/Documents/InfoBase
# Windows
scripts\build-extension.cmd C:\Users\User\Documents\InfoBase
Совместимость
| AI-клиенты | |
|---|---|
| Локальные модели | Ollama, LM Studio, llama.cpp и любые MCP-совместимые клиенты |
| Облачные сервисы | Claude Desktop, Claude Code, Codex, GPT (через MCP-клиент), YandexGPT, GigaChat |
| IDE | Cursor, VS Code (Continue, Cline, Copilot), Windsurf, JetBrains IDEs |
MCP-1C не знает и не определяет, какая модель работает на стороне клиента.
| Платформа 1С | Статус |
|---|---|
| 8.3.10 и выше (коммерческая) | Поддерживается |
| 8.5.x (коммерческая) | Поддерживается |
| 8.3.10+ / 8.5.x (учебная) | Поддерживается |
Минимальная поддерживаемая версия платформы: 8.3.10
| ОС | MCP-сервер | Автоустановка | HTTP-сервис 1С |
|---|---|---|---|
| Windows | да | да | да (Apache или IIS) |
| macOS | да | да | нет (ограничение платформы 1С), используйте Windows-VM |
| Linux | да | да | да (Apache или ibsrv) |
Системные требования
Сам сервер нетребователен к ресурсам. Тяжёлое железо нужно только если вы поднимаете локальную модель, и эти требования задаёт сама модель, а не MCP-1C.
Сервер MCP-1C:
- Бинарник. Один статичный исполняемый файл без зависимостей (не нужны Python, Node.js, JVM или EDT). Размер порядка 25-40 МБ.
- ОС и архитектуры. Windows, macOS, Linux; amd64 и arm64.
- Платформа 1С. Минимальная поддерживаемая версия 8.3.10. Для ручной установки готового
.cfeнужна версия 8.3.14 или выше. - Доступ к данным. HTTP-сервис 1С или офлайн-выгрузка конфигурации (
--dump). - CPU и RAM. Требования минимальны, фиксированного минимума нет. При построении поискового индекса память ограничена по архитектуре: данные обрабатываются батчами и стримятся на диск.
- Диск. Кеш поискового индекса порядка 100-200 МБ для крупных конфигураций (БСП, ERP, УТ). Сборка занимает порядка 7 секунд на 13 000+ модулей, повторный запуск использует кеш.
Модель (LLM):
MCP-1C не запускает и не размещает никакую модель. Он работает с любой моделью на стороне клиента, поэтому требования к железу для модели зависят от вашего выбора:
- Облачная модель (Claude, GPT, YandexGPT, GigaChat): локальных требований к железу нет.
- Локальная модель (Ollama, LM Studio, llama.cpp): требования к RAM, VRAM и диску задаёт выбранная модель, а не MCP-1C.
Публикации
Лицензия
MIT
Collected info
- ★ 233 stars
- ⎇ 43 forks
- Language: Go
- Source updated: 9/27/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.