Skip to content

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

vanessa-runner умеет работать как MCP-сервер (Model Context Protocol) — выставлять свои команды как инструменты для ИИ-ассистентов. После подключения ассистент (Claude, Copilot, Cursor и др.) может сам собирать конфигурации, запускать тесты, обслуживать информационные базы — вызывая vrunner за вас.

Сервер — это отдельная программа vrunner-mcp. Она работает по протоколу stdio: её запускает и общается с ней сама IDE/клиент, вручную запускать не нужно — достаточно прописать её в конфигурации подключения (см. ниже).

Что это даёт

  • ассистент видит список команд vrunner с описанием и параметрами и подставляет аргументы сам;
  • вывод выполняемой команды передаётся ассистенту по мере выполнения — видно ход сборки/тестов в реальном времени;
  • общие параметры задаются один раз за сессию. Переданные в вызове опции (версия платформы, строка подключения, параметры СУБД и т.п.) запоминаются по имени и автоматически подставляются во все последующие команды, где есть такая же опция, — пока не заданы заново. Не нужно повторять их в каждом вызове;
  • долгие команды выполняются в фоне. Тесты, инициализация и обновление ИБ, сборка конфигурации сразу возвращают идентификатор задачи (taskId), а ход и результат ассистент забирает инструментами task_status / task_result (и может отменить через task_cancel) — соединение не висит на всё время;
  • источник один и тот же — это обычные команды vrunner, поэтому поведение совпадает с ручным запуском в терминале.

Требования

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

Если vrunner-mcp не установлен в PATH, сервер можно запускать из исходников через oscript src/mcp.os (см. варианты ниже).

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

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

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 Desktopclaude_desktop_config.json (в меню Settings → Developer).

Запуск из исходников (без установки в PATH)

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

json
{
  "mcpServers": {
    "vrunner": {
      "command": "oscript",
      "args": ["src/mcp.os"]
    }
  }
}

Проверка подключения

После добавления конфигурации перезапустите IDE/клиент (или переподключите сервер). В списке доступных инструментов появятся команды vrunner (cf_compile, test_xunit, infobase_init и др.) и управление фоновыми задачами task_status / task_result / task_cancel.

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

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

Если нужно понять, что именно делает команда, попросите ассистента вызвать её с отладкой — у каждого инструмента есть параметр debug. При debug: true команда выполняется синхронно, а в ответ возвращается подробный отладочный лог (версия платформы, разбор параметров, шаги сборки). Это удобно при диагностике, когда обычного результата недостаточно.

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

Сервер только выставляет команды — никаких новых прав он не даёт; поведение совпадает с ручным запуском vrunner. Интерактивные команды (run designer, run enterprise) в MCP не выставляются.

Разрушающие операции (загрузка в ИБ, операции с хранилищем и кластером) тоже доступны ассистенту. Контроль над ними — на стороне клиента: MCP-клиенты по умолчанию спрашивают подтверждение перед каждым вызовом инструмента, пока вы не внесёте его в список разрешённых. Поэтому перед запуском потенциально опасных команд вы увидите запрос и сможете отказать.