VAST Admin MCP

Prev Next

Intro

VAST Admin MCP is an open-source Model Context Protocol (MCP) server that lets AI assistants interact with VAST clusters for monitoring, listing, and management operations using natural language. Instead of navigating UIs or writing CLI commands, administrators can prompt their AI coding assistant with requests such as "Show me the top 10 views by capacity across all clusters" and receive results in seconds.

It supports both Cluster Admins and Tenant Admins, runs in read-only mode by default for safety, and optionally enables write operations with an explicit --read-write flag.

Resources:

Prerequisites

  • Python 3.10+ (or Docker)

  • VAST OS 5.2 and above

  • A running VAST cluster with API access

  • Username and password (cluster admin or tenant admin)

  • An AI assistant that supports MCP (Cursor, Claude Desktop, VSCode, Windsurf, Gemini CLI)

Step 1: Install VAST Admin MCP

Install via pip:

pip install vast-admin-mcp

Alternatively, use Docker:

docker pull vastdataorg/vast-admin-mcp:latest

Step 2: Configure Your Cluster Connection

Run the interactive setup wizard:

vast-admin-mcp setup

You will be prompted for:

Prompt

Description

Cluster address

IP, FQDN, or URL (e.g., https://10.0.0.1)

Username

Cluster or tenant admin username

Password

Stored securely in system keyring or encrypted file

Tenant

Tenant name (for tenant admins) or tenant context (for super admins)

The configuration is saved to ~/.vast-admin-mcp/config.json. You can add multiple clusters by running setup again.

Step 3: Configure Your AI Assistant

Use the built-in mcpsetup command to generate the configuration for your AI assistant:

vast-admin-mcp mcpsetup cursor

Expected output:

🔧 Configuring MCP server for: cursor
   Detected command: vast-admin-mcp
   Detected args: ['mcp']

📋 Cursor Configuration Instructions
   ...

Supported assistants: cursor, claude-desktop, vscode, windsurf, gemini-cli.

To enable write operations (create views, snapshots, support bundles, etc.), add the --read-write flag:

vast-admin-mcp mcpsetup cursor --read-write

Step 4: Verify the Connection

After configuring your AI assistant, restart it and test with a simple prompt:

List all VAST clusters

The assistant should return cluster information, including name, status, capacity, and version. This confirms the MCP server is running and can reach your VAST cluster.

Capabilities Overview

Read-Only Operations (Default)

The following operations are available without the --read-write flag:

Category

Examples

Cluster monitoring

List clusters, capacity, status

View & tenants

List views, tenants, quotas, and view policies

Performance metrics

IOPS, bandwidth, latency for clusters, cnodes, views, tenants

Performance graphs

Generate time-series PNG graphs from predefined monitors

Dataflow analytics

Tabular data and Mermaid topology diagrams (Hosts -> CNodes -> Views)

Hardware topology

CNode and DNode hardware layout with rack locations

Data protection

Replication relationships, snapshots, and protection policies

Alarms

Active alerts with severity and acknowledgement status

S3 access keys

List S3 keys by tenant, user, or access key

Support bundles

List existing support bundles

User queries

Look up users by prefix with UID, GID, groups, and S3 permissions

Read-Write Operations (--read-write Required)

Operation

Description

Create views

NFS, S3, SMB views with quotas and QoS policies

Create snapshots

On-demand snapshots with expiry and indestructible options

Create clones

Clone from snapshots with refresh support

Create/update quotas

Hard/soft limits for capacity and file count

Create support bundles

Standard and custom bundles with 19 preset types, node filtering, and upload to support

Prompt Examples

Monitoring and Investigation

Show me all tenants across all clusters
Get performance metrics for cnodes on cluster1 over the last 7 days
Create bandwidth and IOPS graph for cluster1 over the last hour
Show me dataflow diagram for 172.21.224.139 on cluster1
Are there any critical alerts on my clusters that were not acknowledged?
Find all views where logical used capacity is greater than 1TB

Multi-Step Reasoning

AI assistants can chain multiple tool calls automatically:

First, get all available clusters. Then compare views with path "/" across all clusters, showing capacity information.
Show me all tenants on cluster1, for each tenant show me the 5 views with the highest used capacity.

Write Operations

Create a new NFS view on cluster1 with path /data/newview in tenant1
Create a snapshot named "backup-jan15" for view /data/app1 on cluster1, keep it for 24h
Set a hard quota of 10TB for view path /data/app1 on cluster1, tenant1
Create mini support bundle on cluster1 for the last 5 minutes and upload it to support

Security Model

VAST Admin MCP includes multiple security layers:

Feature

Description

Read-only by default

Write operations require explicit --read-write flag

API shitelisting

Only approved REST API endpoints and HTTP methods are accessible

Encrypted credentials

Passwords stored in the system keyring or file-based encryption

Tenant isolation

Tenant admins can only access their assigned tenant

STDIO transport

MCP runs locally on the same host as the AI assistant -- no network exposure

Audit logging

All operations logged to ~/.vast-admin-mcp/vast_admin_mcp.log

Docker Setup (Alternative)

For isolated environments, run via Docker:

Run setup

./vast-admin-mcp-docker.sh setup

Configure AI Assistant

./vast-admin-mcp-docker.sh mcpsetup cursor

Test CLI

./vast-admin-mcp-docker.sh clusters

Docker automatically mounts ~/.vast-admin-mcp for persistent configuration.

Additional Resources