Labsco
jim-coyne logo

Vast Storage MCP Server

from jim-coyne

An MCP (Model Context Protocol) server that enables LLMs to interact with VAST Data storage APIs. This server exposes VAST Data management endpoints as tools for comprehensive storage infrastructure management and automation.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredNeeds API keys

VAST MCP Server

An MCP (Model Context Protocol) server that enables LLMs to interact with VAST Data storage APIs. This server exposes VAST Data management endpoints as tools for comprehensive storage infrastructure management and automation.

Overview

This project implements a Model Context Protocol (MCP) server for the VAST Data storage API, allowing LLMs like GitHub Copilot and Claude to interact with VAST storage infrastructure through natural language commands.

Architecture

  • TypeScript for type-safe implementation
  • @modelcontextprotocol/sdk for MCP protocol handling
  • Axios for HTTP/REST API communication
  • Winston for logging (to stderr to avoid protocol corruption)
  • OpenAPI 3.0 specification for automatic tool generation

Features

Storage Management

  • Views (4 tools): NFS, SMB, and S3 file system views
  • Quotas (4 tools): Directory and user quotas with hard/soft limits

Network & Infrastructure

  • VIP Pools (4 tools): Virtual IP pool management
  • Clusters (2 tools): Cluster monitoring and status
  • Nodes (2 tools): Cluster node information and health

Data Protection

  • Protected Paths (3 tools): Data protection and replication setup
  • Snapshots (4 tools): Snapshot creation and lifecycle management

Access Management

  • Users (4 tools): User account management
  • Tenants (4 tools): Multi-tenancy configuration

Monitoring & Observability

  • Alarms (4 tools): Alarm monitoring, acknowledgement, and management
  • Events (2 tools): Event log querying and filtering
  • Analytics (2 tools): Performance and capacity analytics with time-series data

Prerequisites

  • Node.js 18+ installed
  • VSCode with GitHub Copilot or Claude Desktop
  • VAST Data cluster with API access
  • VAST API credentials (username and password)

Available Tools

The MCP server automatically generates tools from the VAST API specification:

๐Ÿ“ Views Management (4 tools)

  • viewsGetAll - List all file system views
  • viewsGetById - Get specific view details
  • viewsCreate - Create new file system views (NFS, SMB, S3)
  • viewsUpdate - Update view configuration
  • viewsDelete - Delete a view

๐Ÿ“Š Quotas Management (4 tools)

  • quotasGetAll - List all quotas
  • quotasGetById - Get specific quota details
  • quotasCreate - Create new quotas with hard/soft limits
  • quotasUpdate - Update quota configuration
  • quotasDelete - Delete a quota

๐ŸŒ Network Management (4 tools)

  • vippoolsGetAll - List all VIP pools
  • vippoolsGetById - Get specific VIP pool details
  • vippoolsCreate - Create new VIP pools
  • vippoolsUpdate - Update VIP pool configuration
  • vippoolsDelete - Delete a VIP pool

๐Ÿ–ฅ๏ธ Cluster Management (4 tools)

  • clustersGetAll - List all clusters
  • clustersGetById - Get cluster details
  • cnodesGetAll - List all cluster nodes
  • cnodesGetById - Get node details and status

๐Ÿ›ก๏ธ Data Protection (4 tools)

  • protectedPathsGetAll - List all protected paths
  • protectedPathsGetById - Get protected path details
  • protectedPathsCreate - Create new protected paths
  • protectedPathsDelete - Delete protected path

๐Ÿ“ธ Snapshots (4 tools)

  • snapshotsGetAll - List all snapshots
  • snapshotsGetById - Get snapshot details
  • snapshotsCreate - Create new snapshots
  • snapshotsDelete - Delete a snapshot

๐Ÿ‘ฅ User Management (4 tools)

  • usersGetAll - List all users
  • usersGetById - Get user details
  • usersCreate - Create new users
  • usersUpdate - Update user configuration
  • usersDelete - Delete a user

๐Ÿข Tenant Management (4 tools)

  • tenantsGetAll - List all tenants
  • tenantsGetById - Get tenant details
  • tenantsCreate - Create new tenants
  • tenantsUpdate - Update tenant configuration
  • tenantsDelete - Delete a tenant

๐Ÿšจ Alarms Management (4 tools)

  • alarmsGetAll - List all alarms with filtering by severity, state, and category
  • alarmsGetById - Get specific alarm details
  • alarmsUpdate - Update alarm state (acknowledge or clear alarms)
  • alarmsDelete - Delete an alarm

๐Ÿ“‹ Events Management (2 tools)

  • eventsGetAll - List all events with filtering by type, severity, time range, and category
  • eventsGetById - Get specific event details

๐Ÿ“Š Analytics (2 tools)

  • analyticsGetAll - List analytics metrics with filtering by metric type, time range, and interval
  • analyticsGetById - Get specific analytics data by ID
Copy & paste โ€” that's it

## References

- [VAST Data API Documentation](https://support.vastdata.com/s/api-docs)
- [Model Context Protocol](https://modelcontextprotocol.io)
- [OpenAPI Specification 3.0](https://swagger.io/specification/)
- [Hyperfabric MCP Reference](https://github.com/jim-coyne/hyperfabric_MCP)