Skip to content

Интеграция с ИИ-ассистентами (MCP) ​

vanessa-runner умеет работать как MCP-сервер (Model Context Protocol) и выставлять свои команды как инструменты для ИИ-ассистентов: Claude Code, Cursor, VS Code, Windsurf, Claude Desktop и других. Ассистент видит команды с описанием и параметрами и вызывает vrunner сам - собирает конфигурации, запускает тесты, обслуживает информационные базы.

Сервер - отдельная программа vrunner-mcp, работает по stdio. Запускает её и общается с ней сам клиент: достаточно прописать сервер в его конфигурации.

Требования ​

  • установленный vanessa-runner (opm install vanessa-runner) - вместе с ним ставится vrunner-mcp, он должен быть доступен в PATH;
  • установленная платформа 1С:Предприятие, как и для обычной работы vrunner.

Подключение в IDE ​

Во всех клиентах принцип один: добавить MCP-сервер с командой запуска vrunner-mcp. Отличается только файл и формат конфигурации. Рабочий каталог сервера - корень проекта: из него читается autumn-properties.json и относительно него разрешаются пути.

json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "servers": {
    "vrunner": {
      "type": "stdio",
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
  • Claude Code - файл .mcp.json в корне проекта (общий для команды) либо claude mcp add vrunner -- vrunner-mcp.
  • Cursor - .cursor/mcp.json в проекте или ~/.cursor/mcp.json глобально.
  • VS Code - .vscode/mcp.json в проекте (ключ servers и поле type, в отличие от остальных клиентов).
  • Windsurf - раздел «MCP Servers» в настройках Cascade или ~/.codeium/windsurf/mcp_config.json.
  • Claude Desktop - claude_desktop_config.json (Settings → Developer).

На Windows vrunner-mcp - это .bat-файл. Если клиент не запускает сервер, укажите "command": "cmd", "args": ["/c", "vrunner-mcp"] (Claude Code: claude mcp add vrunner -- cmd /c vrunner-mcp).

Запуск из исходников ​

Если vanessa-runner используется из репозитория, укажите oscript и путь к точке входа src/mcp.os в клоне vanessa-runner; рабочим каталогом должен оставаться корень проекта 1С (сервер читает его autumn-properties.json):

json
{
  "mcpServers": {
    "vrunner": {
      "command": "oscript",
      "args": ["<путь к клону vanessa-runner>/src/mcp.os"]
    }
  }
}

Инструменты ​

После перезапуска клиента в списке инструментов появляются команды vrunner. Имя инструмента - группа и подкоманда через _, дефисы заменены на _: cf_compile, cf_make_dist, infobase_init, test_yaxunit, validate_syntax_check. У подкоманд третьего уровня в имя входят только два последних звена: extensions_list, scheduled_job_disable, session_kill, jobs_lock. Параметры инструмента - опции и аргументы команды под теми же именами, поведение совпадает с запуском в терминале.

Не выставляются интерактивные команды run enterprise и run designer.

Кроме команд, сервер даёт служебные инструменты:

ИнструментНазначение
task_status, task_result, task_cancelсостояние, лог и результат фоновой задачи по taskId, её отмена
cache_show, cache_clearпросмотр и сброс сессионного кэша опций (cache_clear принимает option - имя одной опции)

Попросите ассистента, например: «собери конфигурацию из src в build/1cv8.cf» - он подберёт cf_compile и подставит параметры.

Общие параметры запоминаются ​

Переданные в вызове опции (строка подключения, версия платформы, параметры СУБД и т.п.) запоминаются на сессию по имени и подставляются во все последующие команды, где есть такая же опция, пока не заданы заново. Позиционные аргументы не запоминаются. Параметр nocache: true у вызова отключает кэш для этого вызова - для независимых или параллельных запусков.

Длительные команды ​

Долгие команды - сборка, разборка, конвертация, загрузка и выгрузка конфигураций, расширений и обработок, сравнение, make-dist, merge, vendor-update, infobase init/update/dump-dt/restore-dt, cluster create, тесты, проверки, repo commit/load/save-cf - выполняются в фоне: инструмент сразу возвращает taskId, а ход и результат ассистент забирает через task_status / task_result (лог доступен и пока задача идёт) и может отменить через task_cancel. Параметр background: false выполняет такую команду синхронно с потоковым логом. Остальные команды выполняются синхронно, лог передаётся клиенту по мере выполнения.

Отладка вызова ​

У каждого инструмента-команды есть параметр debug (у task_* и cache_* его нет). При debug: true команда выполняется синхронно с уровнем логирования «Отладка», и собранный лог возвращается в ответе - удобно, когда обычного результата недостаточно для диагностики.

Безопасность ​

Сервер только выставляет команды и не даёт новых прав: поведение совпадает с ручным запуском vrunner от того же пользователя. Разрушающие операции (загрузка в ИБ, операции с хранилищем и кластером) тоже доступны ассистенту; в описании инструментов они помечены подсказками протокола (destructiveHint, readOnlyHint), по которым клиент решает, спрашивать ли подтверждение. Большинство клиентов по умолчанию запрашивают подтверждение перед каждым вызовом, пока инструмент не внесён в список разрешённых.

Обновление vanessa-runner при запущенном MCP-сервере на Windows завершается ошибкой - см. Установка.