Summary
Let your AI check your Rubrik backups: cluster health and capacity, SLA Domains, protected objects and SLA compliance, snapshots, failed jobs and task reports, anomaly detection and threat hunt results. Read-only GraphQL with a service account.
Guided setup
Connect Rubrik Security Cloud to Claude, ChatGPT or Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Rubrik Security Cloud in the guided setup, then add your MCP URL to your AI assistant. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for Rubrik Security Cloud
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Rubrik Security Cloud, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Rubrik Security Cloud
Let your AI check your Rubrik backups: cluster health and capacity, SLA Domains, protected objects and SLA compliance, snapshots, failed jobs and task reports, anomaly detection and threat hunt results. Read-only GraphQL with a service account.
Setup
Setting up takes about 5 minutes. You need a Rubrik Security Cloud (RSC) account and access to Settings, Users and Access in RSC to add a service account.
- In RSC open Settings, Users and Access, Service Accounts and add a service account. Give it a role that can view what the AI should see: a read-only custom role with view permissions on clusters, SLA Domains, objects, events and threat analytics is enough.
- Download the service account JSON. It holds
client_id(starts withclient|),client_secretandaccess_token_uri(https://<account>.my.rubrik.com/api/client_token). - Set
RUBRIK_ACCOUNTto your account name: the part before.my.rubrik.comin your RSC address and inaccess_token_uri, in lower case and withouthttps://, for exampleacmeforacme.my.rubrik.com. - Copy
client_idintoRUBRIK_CLIENT_IDandclient_secretintoRUBRIK_CLIENT_SECRET. - Install the connector and run
rubrik_get_accountto check the connection: it returns the account id and the RSC deployment version.
Cloud and self-hosted work the same way: the connector calls your account's GraphQL API at https://<account>.my.rubrik.com/api/graphql with the same service account; there is no redirect URL to register.
Tokens renew themselves: the connector exchanges the client id and secret at https://<account>.my.rubrik.com/api/client_token (client credentials grant) for an access token and sends it as Authorization: Bearer. The token lasts 12 hours by default (up to 24 hours in the RSC session settings) and is renewed before it expires and after a 401.
Keep the secret safe: RSC shows client_secret only once. If it is lost, create a new service account and paste its values.
The role decides what the AI sees: the AI sees only what the service account's role can view. A missing view permission shows up as a 403.
Ids, times and paging: clusters are UUIDs. A protected object has an id, which rubrik_list_snapshots takes, and an fid, which the event and anomaly filters take. Times are ISO 8601 in UTC. Lists take first (default 25, at most 200) and after: call again with after set to pageInfo.endCursor while pageInfo.hasNextPage is true; count is the total.
Generic GraphQL tools: rubrik_graphql_schema_url returns the address of the schema, rubrik_graphql_schema reads a slice of the public RSC schema that Rubrik publishes in its PowerShell SDK repository, and rubrik_graphql_query runs any other read query. The published schema can be a few days newer or older than your account's deployment (rubrik_get_account shows its version).
Common errors: a 400 on the token request means RUBRIK_CLIENT_ID is not the client_id from the JSON (it starts with client|) or the secret belongs to another service account. A 401 means RSC refused the service account: copy both values again, or create a new service account if the secret was lost or rotated. A 403 means the service account signed in but its role cannot read that data. No answer at all means RUBRIK_ACCOUNT is wrong: take the name from your RSC address or from access_token_uri.
What it reads: the account id and deployment version; clusters with connection state, health, version, capacity in bytes, estimated runway and end-of-support date; SLA Domains with their snapshot schedule, retention, retention lock and number of protected objects; protected objects (VMs, databases, filesets, cloud and SaaS objects) with protection and SLA compliance status, last snapshot, missed snapshots and size; compliance counts by status, object type, cluster or SLA Domain; the snapshots of an object with expiration date and anomaly, quarantine and retention lock flags; activity (backups, archival, replication, recoveries) with status, error cause and remedy, and the timeline of one series; the Task Details report with durations and bytes transferred; anomaly detection results per snapshot with the files created, modified, deleted and flagged as suspicious; threat hunts and their results per object, with the latest clean snapshot.
Switched off at install: rubrik_graphql_mutation and rubrik_graphql_subscription. They run any GraphQL mutation or subscription; a mutation can start backups and recoveries or delete data, so turn it on only on purpose. Switch on only the ones you need on the connector page; the AI asks you to confirm every change first. Every other tool is read-only.
Limits: the read tools take no backups, run no recoveries, assign no SLA Domains and quarantine nothing; there is no file-level search inside snapshots, and the REST APIs of Rubrik CDM clusters are not covered.
Prerequisites: RUBRIK_ACCOUNT, RUBRIK_CLIENT_ID, RUBRIK_CLIENT_SECRET
Install the connector locally
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Open http://localhost:3000/connectors/store, pick Rubrik Security Cloud and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
rubrik_get_account | Read the Rubrik Security Cloud account behind the service account: the account id and the RSC deployment version |
rubrik_list_clusters | List the Rubrik clusters (CDM appliances, Cloud Clusters) registered in the account, sorted by name: id (cluster UUID), name, type… |
rubrik_get_cluster | Read one Rubrik cluster by its UUID: name, type, status, version, health and system status message, time zone, address, encryption… |
rubrik_list_sla_domains | List SLA Domains (backup policies) sorted by name, with the number of protected objects: id, name, description, whether it is the default… |
rubrik_get_sla_domain | Read one SLA Domain by id with its full snapshot schedule (minute, hourly, daily, weekly, monthly, quarterly and yearly frequency and… |
rubrik_list_protected_objects | List workloads (protected objects such as VMs, databases, filesets, cloud and SaaS objects) with their protection and SLA compliance: id… |
rubrik_get_compliance_summary | Count protected objects per group, for a compliance overview: group_by ComplianceStatus (default) answers how many objects are in or out of… |
rubrik_list_snapshots | List the snapshots (recovery points) of one protected object, newest first by default: id, date, expiration date, on-demand or SLA… |
rubrik_list_events | List recent activity (event series: backups, archival, replication, recoveries, anomalies, threat hunts and other jobs), newest update… |
rubrik_get_event_series | Read one activity series with its individual activities (time, type, status, severity, message, progress and error info), to see why a… |
rubrik_list_task_details | List finished backup, archival, replication and recovery tasks (the Task Details report), newest end time first: object, type, location… |
rubrik_list_anomalies | List anomaly detection results (ransomware and unusual change analysis per snapshot), newest snapshot first: whether it is an anomaly… |
rubrik_list_threat_hunts | List threat hunts (scans of backups for indicators of compromise): hunt id, name, type, status, start time, creator, cluster and the scan… |
rubrik_get_threat_hunt_summary | Read the result of one threat hunt per scanned object: status, totals, and for each object its location, scan status, matched snapshots and… |
rubrik_graphql_schema_url | Return the URL of the GraphQL schema (SDL) |
rubrik_graphql_schema | Fetch the GraphQL schema: a summary, one type, a search slice or the full SDL |
rubrik_graphql_query | Run an arbitrary GraphQL query |
rubrik_graphql_mutation | Run an arbitrary GraphQL mutation |
rubrik_graphql_subscription | Run an arbitrary GraphQL subscription (if the API supports it) |
Example prompts
- "Are all my Rubrik clusters connected and healthy, and how much capacity and runway does each one have left?"
- "How many objects are out of SLA compliance, and which ones are they?"
- "Which backup jobs failed in the last 24 hours, and what was the cause of each failure?"
- "Which recovery points does the VM sql-prod-01 have from the last 7 days?"
- "Did anomaly detection flag any snapshots this week, and which threat hunts found matches?"
Next steps
Was this guide helpful?