Rubrik Sentinel MCP Tools

Rubrik Sentinel MCP Tools

Enables querying Rubrik Security Cloud protection and threat data in Microsoft Sentinel via KQL-based custom MCP tools for backup posture, compliance, anomaly triage, and recovery readiness.

Category
访问服务器

README

Rubrik Sentinel Custom MCP Tools

Alpha-ready custom MCP tool collection for Rubrik Security Cloud data in Microsoft Sentinel, optimized for teams using Claude Code.

This repository is for a Rubrik ISV developer, partner engineer, or joint customer team that wants an agent surface such as Claude Code, GitHub Copilot in VS Code, Copilot Studio, Foundry, Security Copilot, or a product-owned agent to call focused Rubrik investigation tools over Sentinel data.

The repo does not ingest or generate telemetry. It assumes the customer already has one or both official Rubrik Security Cloud Sentinel connectors sending production data into Sentinel:

Rubrik source Sentinel table queried by these tools Required signal
Rubrik Security Cloud Protection Status CCF connector RubrikProtectionStatus_CL Backup/protection posture fields such as AssetName, ObjectType, ProtectionStatus, ComplianceStatus, SlaDomainName, MissedSnapshots, LocalStorage, ArchiveStorage, ReplicaStorage, and DataReduction
Rubrik webhook events Azure Function connector Rubrik_Anomaly_Data_CL, Rubrik_Ransomware_Data_CL, Rubrik_ThreatHunt_Data_CL, Rubrik_Events_Data_CL Event fields such as severity_s, summary_s, custom_details_eventName_s, custom_details_objectName_s, custom_details_objectId_g, custom_details_objectType_s, and cluster details

Protection-status tools reduce RubrikProtectionStatus_CL to the latest row per AssetId before counting or summing. This avoids over-counting the same asset across repeated connector polls.

What this publishes

scripts/publish-mcp-tools.py calls the Sentinel Platform Services authoring API and publishes each file in mcp-tools/*.kql as a Kqs custom MCP tool under one collection, defaulting to:

Rubrik-Sentinel-MCP-Tools

Runtime endpoint:

https://sentinel.microsoft.com/mcp/custom/Rubrik-Sentinel-MCP-Tools/

Tools

Tool Main table(s) What it answers
Rubrik_Backup_Posture_Summary RubrikProtectionStatus_CL What is the current Rubrik protection/compliance posture across assets, snapshots, storage, clusters, and SLA domains?
Rubrik_Out_Of_Compliance_Assets RubrikProtectionStatus_CL Which assets are out of snapshot, archival, or replication compliance?
Rubrik_Unprotected_Asset_Hunt RubrikProtectionStatus_CL Which assets are unprotected, awaiting first full, or have no recovery points?
Rubrik_Snapshot_Failure_Triage RubrikProtectionStatus_CL Where are missed snapshots and archival/replication lag concentrated?
Rubrik_Storage_Capacity_Risk RubrikProtectionStatus_CL Which Rubrik clusters show storage, archive, replica, or poor data-reduction risk?
Rubrik_Ransomware_Recovery_Readiness RubrikProtectionStatus_CL How ready is the environment for ransomware recovery based on protection, SLA compliance, missed snapshots, and secondary copy posture?
Rubrik_Threat_Monitoring_Matches Rubrik_Events_Data_CL Which threat-monitoring hash/YARA/file-hash matches were reported by Rubrik?
Rubrik_Anomaly_Ransomware_Triage Rubrik_Anomaly_Data_CL, Rubrik_Ransomware_Data_CL, Rubrik_ThreatHunt_Data_CL What anomaly/ransomware/threat-hunt events are active, by source table and severity?
Rubrik_Asset_Recovery_Readiness RubrikProtectionStatus_CL For a supplied AssetName, what is the asset's recovery readiness, SLA, snapshot, storage, and compliance context?

For detailed usage, input arguments, KQL strategy, and expected output shape, see docs/tool-reference.md.

Prerequisites

  1. A Microsoft Sentinel workspace with Sentinel Platform Services / data lake enabled.
  2. Production Rubrik data already flowing into RubrikProtectionStatus_CL and/or the Rubrik webhook event tables.
  3. Azure CLI authenticated to the tenant that owns the Sentinel workspace:
    az login
    az account set --subscription "<subscription-id-or-name>"
    
  4. Permission to author custom MCP collections in Sentinel Platform Services.
  5. Python 3.9+.
  6. Claude Code installed if you want the Claude-first local workflow.

This is an alpha/private-preview style surface. The publisher and runtime both use the Sentinel Platform Services resource ID 4500ebfb-89b6-4b14-a480-7f749797bfcd. In practice:

  • The tenant must have Microsoft Sentinel data lake and the required Microsoft Defender / Sentinel Platform Services licensing enabled.
  • To create, update, or delete custom tools, use an identity with Security Operator, Security Administrator, or Global Administrator privileges for the Microsoft Security experience plus read access to the target Sentinel workspace.
  • To list or invoke the tools, use an identity with Security Reader or Global Reader privileges plus read access to the target Sentinel workspace.
  • If API publishing is unavailable in your tenant, create the same KQL as custom tools through the Microsoft Defender portal / Advanced hunting "Save as tool" flow, then use the same runtime endpoint pattern.

Quick start for Claude Code

Clone, install, publish, and generate a Claude Code MCP config:

git clone https://github.com/MitchellGulledge3/rubrik-sentinel-mcp-tools.git
cd rubrik-sentinel-mcp-tools

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

python3 scripts/publish-mcp-tools.py \
  --collection Rubrik-Sentinel-MCP-Tools \
  --workspace-id "<workspace-customer-id>"

TOKEN=$(az account get-access-token \
  --resource 4500ebfb-89b6-4b14-a480-7f749797bfcd \
  --query accessToken -o tsv)

python3 scripts/write-claude-mcp-config.py \
  --collection Rubrik-Sentinel-MCP-Tools \
  --bearer-token "$TOKEN"

This writes a gitignored .mcp.json that Claude Code can use as a project MCP configuration. The token is short-lived; rerun the token/config command when it expires.

Suggested Claude Code prompt from the repo root:

Read this repo. Use the Rubrik-Sentinel-MCP-Tools MCP server from .mcp.json.
List the available Rubrik tools, then call Rubrik_Backup_Posture_Summary for workspace <workspace-customer-id>.
After that, call Rubrik_Ransomware_Recovery_Readiness and summarize which recovery gaps matter most.

Asset-specific prompt:

Use Rubrik_Asset_Recovery_Readiness for asset prd-sql-cluster-01 in workspace <workspace-customer-id>.
Summarize whether this asset has a current recovery point, SLA drift, archival/replication lag, and secondary copy coverage.

Run locally from the terminal

  1. Copy environment template:

    cp .env.example .env
    
  2. Edit .env:

    SENTINEL_MCP_COLLECTION=Rubrik-Sentinel-MCP-Tools
    MCP_DEFAULT_ARGUMENTS={"workspaceId":"<workspace-customer-id>"}
    MCP_TOOL_ARGUMENT_TEMPLATE={}
    # Optional fallback:
    # ASSET_NAME=prd-sql-cluster-01
    
  3. Run tools:

    python3 run_tools.py --prompt "Summarize Rubrik backup posture" --show-raw
    python3 run_tools.py --prompt "Score Rubrik ransomware recovery readiness" --show-raw
    python3 run_tools.py --prompt "Investigate Rubrik asset prd-sql-cluster-01" --show-raw
    

The runner calls the real custom MCP endpoint at https://sentinel.microsoft.com/mcp/custom/<collection>/ using Azure credentials.

Run locally from VS Code / GitHub Copilot

VS Code needs an MCP server registration that includes an access token for Sentinel Platform Services:

TOKEN=$(az account get-access-token \
  --resource 4500ebfb-89b6-4b14-a480-7f749797bfcd \
  --query accessToken -o tsv)

python3 scripts/write-vscode-mcp-config.py \
  --collection Rubrik-Sentinel-MCP-Tools \
  --bearer-token "$TOKEN"

This writes .vscode/mcp.json with the HTTP MCP endpoint and Authorization: Bearer <token> header. The file is gitignored because it contains a bearer token.

Configure any MCP-capable agent

Register this remote MCP endpoint in any MCP-capable agent runtime that supports authenticated HTTP MCP servers:

https://sentinel.microsoft.com/mcp/custom/Rubrik-Sentinel-MCP-Tools/

At runtime, every tool requires:

{
  "workspaceId": "<workspace-customer-id>"
}

Rubrik_Asset_Recovery_Readiness also requires:

{
  "AssetName": "prd-sql-cluster-01"
}

workspaceId is the workspace customer ID the Sentinel custom MCP runtime uses to bind the KQL execution target. The KQL text itself does not call workspace("<id>"); target selection is handled by the platform tool runtime.

Repository map

Path Purpose
mcp-tools/*.kql Production-table KQL definitions published as custom MCP tools
scripts/publish-mcp-tools.py API publisher for the Sentinel custom MCP collection
scripts/write-claude-mcp-config.py Writes a gitignored Claude Code .mcp.json config with a short-lived bearer token
scripts/write-vscode-mcp-config.py Writes a gitignored VS Code MCP config with a short-lived bearer token
run_tools.py Local runner that selects a tool from a natural-language prompt and calls the custom MCP endpoint
sentinel_mcp_tools/client.py Minimal JSON-RPC client for Sentinel custom MCP endpoints
docs/tool-reference.md Deep explanation of every tool and how agents should use it
docs/sample-output.md Captured/sanitized sample output from local runs
docs/runbook.md Alpha handoff runbook for Rubrik and customer teams

Notes for alpha users

  • The tools are read-only KQL tools.
  • Protection-status tools query RubrikProtectionStatus_CL.
  • Webhook event tools query Rubrik_Anomaly_Data_CL, Rubrik_Ransomware_Data_CL, Rubrik_ThreatHunt_Data_CL, and Rubrik_Events_Data_CL.
  • If a workspace has no Rubrik rows, the tools execute but return zero-row or zero-count output.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选