Каталог/mcp-onec-test-runner
MC

mcp-onec-test-runner

Активный
@alkoleftТестированиеДобавлен: 30 апр. 2026 г.

MCP-сервер для сборки базы 1С и запуска тестов YaXUnit из AI-ассистентов. Поддержка Docker (STDIO и SSE варианты).

3
views
0
comments
kotlindockeryaxunitтестированиеgradle

MCP tools

build 1C baserun YaXUnit tests

Описание

MCP-сервер для сборки базы 1С и запуска тестов YaXUnit из AI-ассистентов. Поддержка Docker (STDIO и SSE варианты).

README

METR - <span style="color: red">M</span>CP 1C:<span style="color: red">E</span>nterprise <span style="color: red">T</span>est <span style="color: red">R</span>unner

Release Downloads License: GPL v3 Issues PRs Last commit Stars

Top language JDK Gradle 1C:Enterprise 1C:EDT

Инструмент, который позволяет запускать тесты YaXUnit и собирать проекты 1С прямо из AI‑ассистентов (Claude, GPT, Cursor, VS Code и др.) с помощью протокола MCP (Model Context Protocol).

Описание

MCP 1C:Enterprise Test Runner — это MCP‑сервер, который подключается к вашему проекту 1С:Предприятие и предоставляет ассистенту команды для сборки (обновления базы) и запуска тестов YaXUnit.

Быстрый старт

  1. Проверьте технические требования
  2. Скачайте jar файл со страницы последнего релиза
  3. Подготовьте конфигурацию приложения.
  4. Подключите MCP‑сервер

Основные возможности

Самое важное, что умеет METR:

ВозможностьЧто дает
🔨 Сборка проекта 1САвтоматизированная сборка без ручных шагов
🚀 Запуск всех тестов и отдельных модулейПолная проверка качества или быстрые точечные проверки
🛠️ Запуск конфигуратора и предприятияУправление окружением из ассистента
Синтаксическая проверкаКонтроль качества через Конфигуратор и 1C:EDT
Быстрая конвертация EDTУскорение за счет автозапуска EDT CLI в интерактивном режиме

👉 Полное описание возможностей.

flowchart LR
    subgraph " "
        A["🚀 Запрос на<br/>выполнение тестов"]
        B["🔍 Анализ<br/>изменений"]
        C{"📊 Есть<br/>изменения?"}
        J{"🧩 Формат<br/>EDT?"}
        I["🔁 Конвертация<br/>из EDT"]
        D["🔨 Сборка<br/>проекта"]
        E["🧪 Запуск<br/>тестов"]
        F{"✅ Сборка<br/>успешна?"}
        G["❌ Ошибка<br/>сборки"]
        H["📋 Результат<br/>тестирования"]
    end
    
    A --> B
    B --> C
    C -->|Да| J
    C -->|Нет| E
    J -->|Да| I
    J -->|Нет| D
    I --> D
    D --> F
    F -->|Да| E
    F -->|Нет| G
    E --> H
    
    %% Современные стили с градиентами и тенями
    classDef startNode fill:#4FC3F7,stroke:#0277BD,stroke-width:3px,color:#fff,font-weight:bold
    classDef processNode fill:#81C784,stroke:#388E3C,stroke-width:3px,color:#fff,font-weight:bold
    classDef decisionNode fill:#FFB74D,stroke:#F57C00,stroke-width:3px,color:#fff,font-weight:bold
    classDef successNode fill:#A5D6A7,stroke:#4CAF50,stroke-width:3px,color:#fff,font-weight:bold
    classDef errorNode fill:#EF5350,stroke:#C62828,stroke-width:3px,color:#fff,font-weight:bold
    
    class A startNode
    class B,D,E,I processNode
    class C,F,J decisionNode
    class H successNode
    class G errorNode

Примечание: при формате проекта EDT и включённом автозапуске (app.tools.edt-cli.auto-start: true) EDT CLI поднимается заранее в интерактивном режиме. Это сокращает время на инициализацию и ускоряет шаг «Конвертация из EDT».

Технические требования

  • JDK 17+
  • Платформа 1С:Предприятие 8.3.10+
  • YaXUnit фреймворк
  • 1С:Enterprise Development Tools 2025.1+ (для формата EDT; см. Issue #1758)

Запуск MCP-сервера

java -jar mcp-yaxunit-runner.jar

Настройка MCP

Предварительные требования

  1. Соберите проект и создайте JAR файл
  2. Убедитесь, что JAR файл доступен для запуска
  3. Создайте файл конфигурации для вашего проекта

Создание файла конфигурации

Перед настройкой MCP сервера создайте файл конфигурации для вашего проекта. Файл src/main/resources/application-yaxunit.yml является примером — скопируйте его и настройте под свои нужды.

Полный пошаговый гид по настройке: Application Configuration.

Основные параметры для настройки:

  • app.base-path - базовый путь к вашему проекту
  • app.source-set - описание модулей проекта (пути, типы, назначение)
  • app.connection.connection-string - строка подключения к информационной базе
  • app.format - формат проекта (DESIGNER | EDT)
  • app.platform-version - версия платформы 1С (опционально)
  • app.tools.builder - тип сборщика (DESIGNER | IBCMD)
  • app.tools.edt-cli - опции EDT CLI (опционально, при app.format: EDT)
Схема настроек (кратко)
app:
  id: string?                    # опционально
  format: DESIGNER|EDT           # по умолчанию DESIGNER
  base-path: string              # абсолютный путь
  source-set:                    # >=1 элемент с type: CONFIGURATION
    - path: string               # относительный путь от base-path
      name: string               # уникальное имя
      type: CONFIGURATION|EXTENSION
      purpose: [ MAIN | TESTS | YAXUNIT ]
  connection:
    connection-string: string    # обязателен
    user: string?                # опционально
    password: string?            # опционально
  tools:
    builder: DESIGNER|IBCMD     # обязателен
    edt-cli:                     # опционально; требуется 1C:EDT >= 2025.1
      auto-start: boolean        # default: false
      version: string            # default: "latest"
      interactive-mode: boolean  # default: true
      working-directory: string? # EDT workspace
      startup-timeout-ms: number # default: 30000
      command-timeout-ms: number # default: 300000
      ready-check-timeout-ms: number # default: 5000
  platform-version: string?      # формат x[.x]+, напр. 8.3.22.1709

Настройка исходников

Для корректной работы с тестами YaXUnit обязательно настройте в source-set:

source-set:
  # Основная конфигурация (обязательно)
  - path: "configuration"
    name: your-config-name
    type: "CONFIGURATION"
    purpose: [ "MAIN" ]
  
  # Модуль с тестами
  - path: "tests"
    name: tests
    type: "EXTENSION"
    purpose: [ "TESTS", "YAXUNIT" ]

Пример структуры

app:
  id: your-project-name
  base-path: "/path/to/your/project/"
  source-set:
    - path: "configuration"
      name: your-config
      type: "CONFIGURATION"
      purpose: ["MAIN"]
  connection:
    connection-string: "File='/path/to/your/infobase/';"
  platform-version: "8.3.24.1234"
  tools:
    builder: DESIGNER

Настройка MCP сервера

Подробная инструкция по настройке MCP сервера для различных IDE и AI-ассистентов: Настройка IDE (IDE Setup)

Включает:

  • Настройку для Claude Desktop
  • Настройку для VS Code
  • Поддержку других MCP-совместимых клиентов (Cursor, Continue, Cody)
  • Проверку настройки и устранение неполадок
  • Переменные окружения
  • Примеры использования

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

  • run_all_tests - запуск всех тестов
  • run_module_tests - запуск тестов модуля
  • build_project - сборка проекта
  • dump_config - выгрузка конфигурации (FULL/INCREMENTAL/PARTIAL)
  • launch_app - запуск приложений 1С (конфигуратор, тонкий/толстый клиент)
  • list_modules - получение списка модулей
  • get_configuration - получение конфигурации
  • check_platform - проверка платформы
  • check_syntax_edt - проверка исходников через 1C:EDT (validate)
  • check_syntax_designer_config - выполнение CheckConfig в конфигураторе 1С
  • check_syntax_designer_modules - выполнение CheckModules в конфигураторе 1С

Дорожная карта разработки 🚀

  • 🔄 Поддержка EDT + умная конвертация

    • Интеграция с EDT (Enterprise Development Tools)
    • Умная конвертация модулей - при изменении модуля автоматическое копирование и обновление
    • Автоматическое определение изменений в исходном коде
  • 🖥️ Поддержка IBCMD

    • Интеграция с IBCMD для автоматизации сборки
  • 🌐 Запуск тестов через WebSocket

    • Быстрое выполнение тестов
  • 📦 Выгрузка конфигурации

    • FULL - полная выгрузка
    • INCREMENTAL - инкрементальная выгрузка
    • PARTIAL - частичная выгрузка

Разработка

Подготовка к разработке

  1. Создайте форк репозитория на GitHub

  2. Клонируйте репозиторий:

    git clone https://github.com/YOUR_USERNAME/mcp-onec-test-runner.git
    cd mcp-onec-test-runner
    
  3. Добавьте upstream репозиторий:

    git remote add upstream https://github.com/alkoleft/mcp-onec-test-runner.git
    

Сборка проекта

./gradlew build

Создание исполняемого JAR

./gradlew bootJar

Запуск тестов

./gradlew test

Анализ покрытия кода

./gradlew jacocoTestReport

Проверка стиля кода

./gradlew ktlintCheck

Документация

  • Основные возможности — подробное описание всех возможностей METR
  • Application Configuration — подробный пошаговый гид по настройке application.yml
  • IDE Setup — подробная инструкция по настройке MCP сервера в различных IDE и AI-ассистентах
  • Changelog — история изменений проекта

Лицензия

GPL-3.0 License

Комментарии

Войдите, чтобы оставить комментарий

Войти

Загрузка...