GitHub
Зачем это нужно?
В 1С мы часто работаем с конфигурациями, где код разбросан по модулям (общие модули, модули объектов, форм и т.д.). Стандартные MCP-серверы для 1С (как 1C_MCP_metadata) дают доступ к метаданным, но не к текстам кода. Этот сервер решает проблему: он читает файлы из выгрузки конфигурации (BSL, TXT и т.п.), позволяя AI искать строки, читать процедуры и анализировать логику.
Преимущества:
- Доступ к тексту модулей: Поиск по regex, список файлов, чтение содержимого.
- Локальность: Всё работает локально, без облака.
- Интеграция с Cursor: AI может вызывать инструменты прямо из чата.
- Простота: Минимум кода, легко расширяемо (добавьте инструменты для 1С-метаданных или OData).
Требования
- Node.js >= 18 (установите с nodejs.org).
- Каталог с выгруженной конфигурацией 1С (используйте команду DESIGNER /DumpConfigToFiles для экспорта в файлы).
- IDE Cursor с поддержкой MCP (настройте mcp.json в ~/.cursor).
- Зависимости: @modelcontextprotocol/sdk, globby, zod (устанавливаются через npm).
Установка сервера
- Создайте проект: В любом каталоге и загрузите файлы из репозитария
- Установите зависимости:
npm install
- Выгрузите конфигурацию 1С в файлы (пример для файловой базы):
1cv8.exe DESIGNER /F "~ВАША БАЗА~" /DumpConfigToFiles "~КАТАЛОГ ВЫГРУЗКИ~" /Out "~КАТАЛОГ ЛОГИРОВАНИЯ~"
- Настройка в Cursor IDE (В файле ~/.cursor/mcp.json добавьте:)
{ "mcpServers": { "1c-modules-stdio": { "command": "node", "args": ["~ПУТЬ ДО ПРОЕКТА~"], "env": { "MODULES_DIR": "~ПУТЬ ДО ПАПКИ С ВЫГРУЖЕННЫМИ ФАЙЛАМИ КОНФИГУРАЦИИ~" } } } }
Перезапустите Cursor. В панели MCP Tools появится сервер с 3 инструментами. Доступные инструменты
- list_module_files — Список файлов по glob-шаблону (по умолчанию **/*.{bsl,txt,1c,os,md}).
- read_module_text — Чтение текста файла по пути (с опцией maxBytes для ограничения размера).
- grep_modules — Поиск по regex в файлах (глоб по умолчанию **/*.bsl).
Примеры использования в Cursor
В чате AI:
- "Покажи список модулей BSL": Вызовет list_module_files({ pattern: "**/*.bsl" }).
- "Выведи текст модуля CommonModules/МойМодуль/Ext/Module.bsl": read_module_text({ file: "CommonModules/МойМодуль/Ext/Module.bsl" }).
- "Найди 'Процедура Обработка' в модулях": grep_modules({ query: "Процедура Обработка", glob: "**/*.bsl" }).
Это позволит AI анализировать код, предлагать правки или искать ошибки.
Преимущества и расширения
- Безопасность: Доступ ограничен каталогом MODULES_DIR.
- Расширяемость: Добавьте инструменты для вызова 1С-методов через HTTP или COM.
- Автоматизация: Настройте регламентное задание в 1С для периодической выгрузки.
Если добавите интеграцию с метаданными (через OData), сервер станет полноценным мостом между 1С и AI.
Заключение
Этот MCP-сервер — простой способ сделать тексты модулей 1С доступными для AI в Cursor. Он решает проблему "слепоты" ИИ к коду, ускоряя разработку. Код открыт для доработок — скачайте с [GitHub/ваш репозиторий] и адаптируйте под себя. Если есть вопросы, пишите в комментариях!
P.S. Статья написана с помощью Grok (xAI), который и помог собрать этот сервер. 😊
Вступайте в нашу телеграмм-группу Инфостарт