Каталог решений - MCP-сервер для доступа к текстам модулей 1С: простая реализация на Node.js

MCP-сервер для доступа к текстам модулей 1С: простая реализация на Node.js

MCP-сервер для доступа к текстам модулей 1С: простая реализация на Node.js

В наличии

В эпоху ИИ-инструментов, таких как Cursor (IDE на базе VS Code с встроенным AI), важно иметь доступ к контексту кода. Model Context Protocol (MCP) — это стандарт, позволяющий AI-моделям безопасно взаимодействовать с инструментами, включая чтение файлов и поиск по коду. В этой статье я расскажу, как создать минимальный MCP-сервер на Node.js, который предоставляет доступ к текстам модулей 1С из выгрузки конфигурации. Это позволит вашему AI-ассистенту в Cursor «видеть» код модулей, искать по ним и анализировать.
Сервер работает в режиме STDIO (без HTTP), что упрощает запуск и интеграцию. Я опишу всё шаг за шагом, с примерами кода и настройками.

Категория:

Описание

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).

     

Установка сервера

  1. Создайте проект: В любом каталоге и загрузите файлы из репозитария
  2. Установите зависимости:  
    npm install

     

  3. Выгрузите конфигурацию 1С в файлы (пример для файловой базы):
     1cv8.exe DESIGNER /F "~ВАША БАЗА~" /DumpConfigToFiles "~КАТАЛОГ ВЫГРУЗКИ~" /Out "~КАТАЛОГ ЛОГИРОВАНИЯ~"
  4.  Настройка в Cursor IDE (В файле ~/.cursor/mcp.json добавьте:)
    {
      "mcpServers": {
        "1c-modules-stdio": {
          "command": "node",
          "args": ["~ПУТЬ ДО ПРОЕКТА~"],
          "env": {
            "MODULES_DIR": "~ПУТЬ ДО ПАПКИ С ВЫГРУЖЕННЫМИ ФАЙЛАМИ КОНФИГУРАЦИИ~"
          }
        }
      }
    }
    Перезапустите Cursor. В панели MCP Tools появится сервер с 3 инструментами.

     

    Доступные инструменты

    1. list_module_files — Список файлов по glob-шаблону (по умолчанию **/*.{bsl,txt,1c,os,md}).
    1. read_module_text — Чтение текста файла по пути (с опцией maxBytes для ограничения размера).
    1. 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), который и помог собрать этот сервер. 😊

has been added to your cart:
Оформление заказа