loading…
Search for a command to run...
loading…
Enables management of Zadara VPSA Storage Arrays and Object Storage endpoints, including volume operations, snapshot creation, and bucket management. It allows
Enables management of Zadara VPSA Storage Arrays and Object Storage endpoints, including volume operations, snapshot creation, and bucket management. It allows users to interact with storage resources and retrieve performance metrics using natural language or custom API requests.
An MCP (Model Context Protocol) server that provides access to Zadara Storage APIs, including both VPSA Storage Array and Object Storage endpoints.
pip install -r requirements.txt
The server requires environment variables for authentication:
export ZADARA_VPSA_URL="https://your-vpsa-hostname.com"
export ZADARA_VPSA_API_KEY="your-api-key"
export ZADARA_OBJECT_STORAGE_URL="https://your-object-storage-url.com"
export ZADARA_OBJECT_ACCESS_KEY="your-access-key"
export ZADARA_OBJECT_SECRET_KEY="your-secret-key"
python server.py
Add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"zadara-storage": {
"command": "python",
"args": ["/path/to/zadara-mcp-server/server.py"],
"env": {
"ZADARA_VPSA_URL": "https://your-vpsa-hostname.com",
"ZADARA_VPSA_API_KEY": "your-api-key",
"ZADARA_OBJECT_STORAGE_URL": "https://your-object-storage-url.com",
"ZADARA_OBJECT_ACCESS_KEY": "your-access-key",
"ZADARA_OBJECT_SECRET_KEY": "your-secret-key"
}
}
}
}
vpsa_list_volumesList all volumes in the VPSA storage array.
Parameters:
limit (optional): Maximum number of volumes to returnoffset (optional): Offset for paginationvpsa_create_volumeCreate a new volume in the VPSA storage array.
Parameters:
name (required): Name of the volumecapacity (required): Capacity in GBpool (required): Storage pool name or IDblock_size (optional): Block size in KBvpsa_get_volumeGet details of a specific volume.
Parameters:
volume_id (required): Volume ID or namevpsa_delete_volumeDelete a volume from the VPSA storage array.
Parameters:
volume_id (required): Volume ID or name to deletevpsa_list_poolsList all storage pools in the VPSA.
vpsa_list_serversList all servers connected to the VPSA.
vpsa_create_snapshotCreate a snapshot of a volume.
Parameters:
volume_id (required): Volume ID to snapshotsnapshot_name (required): Name for the snapshotvpsa_list_snapshotsList all snapshots.
Parameters:
volume_id (optional): Filter by volume IDvpsa_get_performanceGet performance metrics for the VPSA.
Parameters:
interval (optional): Time interval (e.g., '1h', '24h', '7d')vpsa_list_controllersList all controllers in the VPSA.
vpsa_custom_requestMake a custom API request to VPSA Storage Array.
Parameters:
method (required): HTTP method (GET, POST, PUT, DELETE)endpoint (required): API endpoint path (without /api/ prefix)data (optional): Request body dataparams (optional): Query parametersobject_list_bucketsList all buckets in object storage.
object_create_bucketCreate a new bucket in object storage.
Parameters:
bucket_name (required): Name of the bucket to createregion (optional): Region for the bucketobject_delete_bucketDelete a bucket from object storage.
Parameters:
bucket_name (required): Name of the bucket to deleteobject_get_bucket_sizesCalculate the total size of all buckets or specific buckets.
Parameters:
bucket_names (optional): Array of specific bucket names to calculate sizes for. If omitted, calculates sizes for all buckets.Returns:
Features:
Example Response:
{
"buckets": [
{
"bucket": "backup",
"total_size_bytes": 1073741824,
"size_formatted": "1.00 GB",
"object_count": 1523,
"error": null
}
],
"summary": {
"total_size_bytes": 5368709120,
"size_formatted": "5.00 GB",
"total_objects": 4567,
"bucket_count": 11
}
}
object_list_objectsList objects in a bucket.
Parameters:
bucket_name (required): Name of the bucketprefix (optional): Prefix filter for object keysmax_keys (optional): Maximum number of keys to returnobject_uploadUpload an object to object storage.
Parameters:
bucket_name (required): Name of the bucketobject_key (required): Object key/path (e.g., 'document.pdf' or 'folder/file.txt')content_base64 (required): Base64-encoded file contentcontent_type (optional): MIME type (default: application/octet-stream)Note: This tool uses AWS Signature V4 authentication for secure uploads.
object_downloadDownload an object from object storage.
Parameters:
bucket_name (required): Name of the bucketobject_key (required): Object key/pathReturns: Base64-encoded file content with metadata
Note: This tool uses AWS Signature V4 authentication for secure downloads.
object_deleteDelete an object from object storage.
Parameters:
bucket_name (required): Name of the bucketobject_key (required): Object key/path to deleteNote: This tool uses AWS Signature V4 authentication for secure deletions.
object_get_bucket_policyGet the policy of a bucket.
Parameters:
bucket_name (required): Name of the bucketobject_set_bucket_policySet the policy of a bucket.
Parameters:
bucket_name (required): Name of the bucketpolicy (required): Bucket policy JSONobject_get_bucket_versioningGet versioning configuration of a bucket.
Parameters:
bucket_name (required): Name of the bucketobject_set_bucket_versioningSet versioning configuration of a bucket.
Parameters:
bucket_name (required): Name of the bucketstatus (required): Versioning status (Enabled or Suspended)object_custom_requestMake a custom API request to Object Storage.
Parameters:
method (required): HTTP method (GET, POST, PUT, DELETE)endpoint (required): API endpoint pathdata (optional): Request body dataparams (optional): Query parametersOnce configured with Claude Desktop, you can interact with the server using natural language:
"List all volumes in my VPSA storage"
"Create a new volume named 'backup-vol' with 100GB capacity in pool 'pool-1'"
"Show me all buckets in my object storage"
"Create a snapshot of volume 'vol-123' named 'snapshot-2024'"
"List all objects in bucket 'my-data-bucket'"
For detailed API documentation, refer to:
The VPSA API uses API key authentication via the X-Access-Key header.
The Object Storage API uses AWS S3-compatible authentication with AWS Signature Version 4:
Object operations (upload, download, delete) use AWS Signature V4 for enhanced security and compatibility with S3-compatible tools.
The server will return error messages in the following cases:
To extend this server with additional tools:
list_tools() functioncall_tool() functionZadaraClient class methods to make API requestsThis MCP server is provided as-is for use with Zadara Storage systems.
For Zadara Storage API support, refer to the official Zadara documentation or contact Zadara support.
For MCP server issues, please check the MCP documentation at https://modelcontextprotocol.io/
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"zadara-storage-mcp-server": {
"command": "npx",
"args": []
}
}
}