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

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

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

json
{
  "mcpServers": {
    "vrunner": {
      "command": "oscript",
      "args": ["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 у вызова отключает кэш для этого вызова - для независимых или параллельных запусков.

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

Долгие команды - сборка и загрузка конфигураций, инициализация и обновление ИБ, тесты, проверки, операции с хранилищем - выполняются в фоне: инструмент сразу возвращает taskId, а ход и результат ассистент забирает через task_status / task_result (лог доступен и пока задача идёт) и может отменить через task_cancel. Параметр background: false выполняет такую команду синхронно с потоковым логом. Остальные команды выполняются синхронно, лог передаётся клиенту по мере выполнения.

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

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

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

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

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