API ВЕГА

Rubrik MCP

MCP-сервер, который подключает AI-ассистентов к GraphQL API Rubrik Security Cloud. Он предназначен для администраторов Rubrik и команд, автоматизирующих работу с Rubrik. Сервер запускается локально — на вашей рабочей станции или сервере агента — и работает вместе с AI-ассистентом, который к нему обращается.


Возможности

Поиск информации о схеме

В MCP входит готовый индекс всего GraphQL API RSC. С помощью инструментов поиска AI-агент может изучать этот индекс: находить операции, просматривать полные сигнатуры аргументов и разбирать типы входных и возвращаемых данных. Так он определяет подходящую операцию и точную структуру полей для любого запроса. В результате GraphQL-код получается точным и корректно сформированным с первой попытки.

Для инструментов поиска не нужны учётные данные RSC, и они работают полностью офлайн. Их можно использовать и самостоятельно: например, чтобы изучить API, создать прототип интеграции или подготовить автоматизацию до получения рабочих учётных данных.

"Какие операции доступны для управления SLA?"

"Покажи полную структуру аргументов мутации assignSla." "Сгенерируй код на Python для назначения домена SLA списку идентификаторов рабочих нагрузок."">

> "What operations are available for SLA management?"
> "Show me the full argument shape for the assignSla mutation."
> "Generate Python code to assign an SLA domain to a list of workload IDs."

Поскольку агент анализирует запросы и мутации по индексу схемы, он может генерировать исполняемый код на Python для любой операции записи — не подключаясь к RSC.

Выполнение операций

При наличии сервисной учётной записи RSC агент может выполнять GraphQL-запросы непосредственно в вашей среде:

  • Получать список рабочих нагрузок, их статус защиты, состояние соответствия требованиям и историю резервного копирования

  • Получать последние события и сведения о сбоях

  • Запускать внеплановые снимки и отслеживать их выполнение

  • Регистрировать хосты и назначать домены SLA

Выполнение произвольных GraphQL-запросов доступно только для чтения. Если вы запросите операцию записи, для которой нет встроенного инструмента, сервер вернёт предполагаемую мутацию, а агент сгенерирует исполняемый пример кода. В качестве отдельных встроенных инструментов доступны некоторые операции записи: создание внеплановых снимков (rsc_take_on_demand_snapshot), подключение хостов (rsc_onboard_host) и назначение SLA (rsc_assign_sla). По умолчанию эти инструменты отключены. Чтобы включить их, задайте "writes_enabled": true в политике управления доступом. Для остальных операций можно использовать сгенерированный код: это готовый к запуску скрипт, выполнение которого полностью контролируете вы.

Предупреждение

Инструменты записи изменяют вашу среду Rubrik, а решение об их вызове принимает LLM, управляющая MCP. Любая модель может неверно истолковать инструкции или поддаться влиянию прочитанных недоверенных данных (prompt injection) и вызвать инструмент записи без вашего намерения. Например, инструмент rsc_assign_sla может изменить SLA так, что данные останутся без защиты. По мере добавления новых инструментов записи эта поверхность риска увеличивается. Поэтому по умолчанию инструменты отключены, а их включение требует осознанного решения. Надёжная мера защиты — сервисная учётная запись с минимально необходимыми привилегиями и доступом только для чтения: она не сможет выполнять операции записи независимо от выбранной модели и поведения агента. См. рекомендации по ролям сервисной учётной записи и включите Quorum Authorization для деструктивных операций.

Встроенные инструменты

Поиск информации о схеме — учётные данные не требуются

ИнструментНазначение
rsc_search_schemaЗа один вызов найти подходящий запрос или мутацию по ключевым словам, смыслу поля или типам данных
rsc_describe_operation_fullПоказать сигнатуру аргументов с раскрытыми типами всех входных данных и перечислений
rsc_describe_typeПоказать поля и значения GraphQL-типа

Выполнение операций — требуется сервисная учётная запись

ИнструментНазначение
rsc_execute_operationВыполнить произвольный GraphQL-запрос (для мутаций вместо выполнения генерируется код)
rsc_get_workloadsПолучить сведения о рабочих нагрузках, статусе защиты, соответствии требованиям и истории резервного копирования
rsc_get_eventsПолучить последние события и данные об активности за указанный период
rsc_get_clustersПолучить сведения о кластерах Rubrik, зарегистрированных в RSC: статус, версию, ёмкость и оставшийся ресурс
rsc_get_sla_domainsПолучить сведения о доменах SLA, включая базовую частоту, блокировку хранения, архивирование и настройки репликации
rsc_search_helpИскать статьи базы знаний, документацию по продукту и известные проблемы по ключевым словам
rsc_take_on_demand_snapshotЗапустить резервное копирование рабочей нагрузки и вернуть идентификатор задания
rsc_wait_for_jobОтслеживать задание до завершения
rsc_onboard_hostЗарегистрировать физический или виртуальный хост
rsc_assign_slaНазначить SLA рабочим нагрузкам, отменить назначение или установить для них параметр do-not-protect

Управление рабочими процессами — требуется сервисная учётная запись

ИнструментНазначение
rsc_save_workflowСохранить последовательность действий из диалога как именованный инструмент для повторного использования
rsc_list_workflowsПоказать список сохранённых рабочих процессов
rsc_delete_workflowУдалить сохранённый рабочий процесс

Создание инструментов

Когда агент выполнит поиск по схеме и найдёт ответ на вопрос, вы можете сохранить весь процесс как именованный инструмент MCP:

"Сохрани это как рабочий процесс, чтобы я мог использовать его повторно."

После следующего перезапуска этот инструмент появится рядом со встроенными инструментами. Вместо нескольких шагов поиска по схеме будет достаточно одного вызова. Повторные операции потребуют меньше токенов и будут выполняться быстрее. Файлы рабочих процессов хранятся в обычном формате JSON: их можно редактировать, добавлять в систему контроля версий и передавать команде.


Установка

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

  • uv (рекомендуется) или Python 3.10 либо более поздней версии с pip

  • Учётная запись Rubrik Security Cloud с сервисной учётной записью (только для инструментов выполнения операций)

Установка с помощью запроса агенту

Если вы используете Claude Code, вставьте этот текст в чат — агент выполнит настройку:

"Добавь сервер Rubrik MCP (пакет PyPI rubrik-mcp, команда запуска — uvx rubrik-mcp) в конфигурацию MCP для Claude Code. JSON-файл сервисной учётной записи RSC находится по пути ~/.rsc/service_account.json."

Для Claude Desktop:

"Добавь сервер Rubrik MCP (пакет PyPI rubrik-mcp, команда запуска — uvx rubrik-mcp) в конфигурацию Claude Desktop. JSON-файл сервисной учётной записи RSC находится по пути ~/.rsc/service_account.json."

Установка вручную

С помощью uvx (рекомендуется): устанавливать что-либо отдельно не нужно. uvx rubrik-mcp загружает пакет из PyPI в изолированную среду с кэшированием и запускает его. Укажите эту команду в конфигурации клиента, как показано ниже. Чтобы зафиксировать конкретную версию, укажите её после rubrik-mcp@, например uvx rubrik-mcp@0.8.20260928.

С помощью pip:

pip install rubrik-mcp

Запишите полный путь к установленной команде. В конфигурации клиента укажите его вместо uvx rubrik-mcp:

which rubrik-mcp
# example: /Users/you/.venv/bin/rubrik-mcp

Установка с проверкой целостности (необязательно)

Для сред, где требуется проверка хешей во время установки (сверка каждого пакета с доверенным криптографическим хешем до его установки), в этом репозитории для каждого выпуска опубликован файл requirements.txt с хешами. Сначала установите проверенный набор зависимостей, а затем сам пакет:

pip install --require-hashes -r requirements.txt
pip install --no-deps rubrik-mcp

Файл requirements.txt создан на основе зафиксированного набора зависимостей с указанными хешами (uv export). Параметр --require-hashes заставляет pip отклонить любой пакет, хеш которого не совпадает с заданным. Параметр --no-deps при установке на втором шаге сохраняет проверенный набор зависимостей без изменений. Затем укажите в конфигурации клиента полный путь к rubrik-mcp, как описано выше в разделе об установке с помощью pip. Для большинства пользователей достаточно стандартного способа установки; этот вариант необязателен.

Настройка клиента MCP

Claude Code:

claude mcp add rubrik -e RSC_SERVICE_ACCOUNT_FILE=/path/to/service_account.json -- uvx rubrik-mcp

Параметры, такие как -e, указываются перед --; всё, что стоит после --, — это команда запуска сервера. Для работы только с поиском по схеме опустите параметр -e.

Проверьте, что сервер зарегистрирован:

claude mcp list

Claude Desktop: отредактируйте файл ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "rubrik": {
      "command": "uvx",
      "args": ["rubrik-mcp"],
      "env": {
        "RSC_SERVICE_ACCOUNT_FILE": "/path/to/service_account.json"
      }
    }
  }
}

Настольные приложения не всегда получают переменную PATH из командной оболочки. Если Claude Desktop сообщает, что не может найти uvx, замените "uvx" на полный путь, который выводит команда which uvx (например, /Users/you/.local/bin/uvx).

Другие клиенты MCP (общий режим stdio):

{
  "name": "rubrik",
  "transport": "stdio",
  "command": "uvx",
  "args": ["rubrik-mcp"],
  "env": {
    "RSC_SERVICE_ACCOUNT_FILE": "/path/to/service_account.json"
  }
}

Если вы устанавливали пакет с помощью pip, укажите в "command" полный путь к rubrik-mcp и удалите "args".


Настройка сервисной учётной записи

Создайте сервисную учётную запись в RSC: Settings > Users and Roles > Service Accounts. Когда появится запрос, скачайте файл с учётными данными в формате JSON — RSC больше не покажет секретный ключ.

Файл с учётными данными выглядит так:

/api/client_token" }">

{
  "client_id": "client|...",
  "client_secret": "...",
  "access_token_uri": "https://<your-rsc-domain>/api/client_token"
}

Передайте его MCP-серверу одним из трёх способов. Сервер проверяет их в указанном порядке:

Вариант A — файл JSON сервисной учётной записи (рекомендуется)

export RSC_SERVICE_ACCOUNT_FILE=/path/to/service_account.json

Вариант B — отдельные переменные окружения

export RSC_CLIENT_ID=client|... export RSC_CLIENT_SECRET=...">

export RSC_URL=https://<your-rsc-domain>
export RSC_CLIENT_ID=client|...
export RSC_CLIENT_SECRET=...

Вариант C — файл конфигурации ~/.rsc/config.json

/api/client_token" }">

{
  "client_id": "client|...",
  "client_secret": "...",
  "access_token_uri": "https://<your-rsc-domain>/api/client_token"
}

Рекомендации по назначению ролей сервисной учётной записи

Роль сервисной учётной записи определяет, к каким ресурсам MCP-сервер сможет получить доступ. Назначайте только те права, которые действительно нужны для ваших рабочих процессов.

Для мониторинга, подготовки отчётов и аудита — назначьте роль только для чтения. Она позволит просматривать рабочие нагрузки, статус соответствия требованиям, историю событий и отчёты о резервном копировании. Роль только для чтения не позволяет изменять назначения SLA, запускать моментальные снимки или менять конфигурацию. Для большинства пользователей это подходящий вариант.

Для автоматизации DevOps — назначьте роль с конкретными разрешениями, необходимыми вашей автоматизации. Обычно к ним относятся разрешения на управление SLA (назначение или изменение доменов SLA) и создание резервных копий по запросу (запуск моментальных снимков). Не предоставляйте права администратора кластера или глобального администратора, если они явно не требуются для рабочего процесса.

Общие рекомендации:

  • Создайте для сервисной учётной записи MCP отдельную роль, а не используйте существующую роль администратора. Выберите понятное название, например «MCP Read-Only» или «MCP DevOps».

  • Настраивайте роли в разделе Settings > Users and Roles > Roles. Модель разрешений Rubrik имеет иерархическую структуру. По возможности ограничивайте область действия ролей определёнными кластерами или типами рабочих нагрузок, а не предоставляйте глобальный доступ.

  • Для разрушительных операций (удаления моментальных снимков, удаления политик SLA, изменения конфигурации кластера) включите Quorum Authorization в разделе Settings > Security > Quorum Authorization. Перед выполнением такой операции потребуется одобрение второго уполномоченного пользователя, даже если у сервисной учётной записи есть необходимые разрешения.

  • Ограничьте список IP-адресов, с которых можно проходить аутентификацию, с помощью списка разрешённых IP-адресов RSC в разделе Settings > Security > IP Allowlist. Добавьте только IP-адрес или диапазон CIDR компьютера, на котором запущен MCP-сервер.

  • Регулярно меняйте секреты клиента — не реже одного раза в месяц. По умолчанию срок действия секретов не истекает. Для всех файлов, содержащих client_secret, используйте chmod 600.

  • Все действия через API регистрируются в журналах аудита RSC в разделе Reports > Audit Logs. Периодически просматривайте эти журналы.


Сохранение собственных инструментов

Если вы снова и снова задаёте один и тот же вопрос, сохраните его:

«Сохрани это как рабочий процесс, чтобы я мог использовать его повторно».

ИИ вызывает rsc_save_workflow, чтобы записать файл JSON в папку workflows/ каталога конфигурации MCP. По умолчанию это ~/.config/rubrik-mcp/workflows/, а если задана переменная $RUBRIK_MCP_CONFIG_DIR — папка внутри указанного каталога. Подробнее о контейнерном варианте см. в docs/docker.md. При следующем перезапуске этот рабочий процесс регистрируется как именованный инструмент MCP: вместо нескольких шагов для поиска схемы достаточно одного вызова. Повторяющиеся операции требуют меньше токенов и выполняются быстрее.

Файлы рабочих процессов представляют собой обычные файлы JSON. Откройте их в любом редакторе, чтобы изменить запрос, параметры по умолчанию или поделиться файлами с командой.

Рабочие процессы, созданные сообществом, включая управление лентами угроз и операции с SLA, доступны в репозитории rubrik-community. Скопируйте любой файл JSON в папку workflows/ каталога конфигурации (по умолчанию ~/.config/rubrik-mcp/workflows/ или в каталог $RUBRIK_MCP_CONFIG_DIR), а затем перезапустите MCP-клиент, чтобы установить этот рабочий процесс.


Дополнительные материалы

Полный справочник по встроенным инструментам, схему архитектуры, локальную политику управления доступом (~/.config/rubrik-mcp/mcp-policy.json; путь можно изменить с помощью $RUBRIK_MCP_CONFIG_DIR), журнал аудита (mcp-audit.log в том же каталоге конфигурации), примечания по обновлению конфигурации, которая ранее хранилась в ~/.rubrik, и инструкции по настройке среды разработки см. в docs/advanced.md. Инструкции по запуску сервера в контейнере приведены в docs/docker.md.