Gcore MCP Server provides storage management tools that AI clients can invoke through natural language requests. The server returns structured data that the AI client interprets and presents in a readable format.
How it works
When a request is made in natural language, the AI client resolves project and region context, calls the appropriate MCP tool, and formats the JSON response for readability.
Example request:
List my volumes in Luxembourg
The MCP server returns structured data for each volume:
{
"id": "6632cc34-ac83-4927-8e68-17d1f661ae3d",
"name": "web-server-boot",
"size": 50,
"volume_type": "ssd_hiiops",
"status": "in-use",
"bootable": true,
"is_root_volume": true,
"limiter_stats": {
"iops_base_limit": 3000,
"iops_burst_limit": 6000,
"MBps_base_limit": 100,
"MBps_burst_limit": 200
},
"attachments": [
{
"server_id": "abdfe847-d2fd-4d0d-a563-229738e2381a",
"instance_name": "web-server-01",
"device": "/dev/sda"
}
]
}
The AI client presents this as readable text:
Found 5 volumes in Luxembourg-2:
1. web-server-boot (50 GB, ssd_hiiops)
Status: in-use
Attached to: web-server-01 as /dev/sda
IOPS: 3,000 base / 6,000 burst
Throughput: 100 MB/s base / 200 MB/s burst
Boot volume: yes
2. postgres-data (100 GB, ssd_lowlatency)
Status: in-use
Attached to: db-server-01 as /dev/vdb
Boot volume: no
3. backup-storage (500 GB, standard)
Status: available
Attached to: none
IOPS: 500 base / 1,500 burst
Volumes
Volumes provide block storage for Virtual Machines. Each VM requires a boot volume for the operating system, and additional data volumes can be attached for application storage.
List volumes
Listing volumes shows all block storage in a project and region with their type, size, attachment status, and performance characteristics.
To see only unattached volumes (useful for identifying unused storage):
Response:
Found 2 unattached volumes in Luxembourg-2:
1. old-app-boot (20 GB, ssd_hiiops)
Created: 2026-01-15
Bootable: yes (Ubuntu 22.04)
2. backup-storage (500 GB, standard)
Created: 2026-02-15
Bootable: no
Total unattached storage: 520 GB
View volume details
Show details for volume web-server-boot
Response includes IOPS limits, attachment info, and image metadata for boot volumes:
Volume: web-server-boot
ID: 6632cc34-ac83-4927-8e68-17d1f661ae3d
Size: 50 GB
Type: ssd_hiiops
Performance limits:
IOPS: 3,000 base / 6,000 burst (2x for 10 minutes)
Throughput: 100 MB/s base / 200 MB/s burst
Attachment:
Instance: web-server-01
Device: /dev/sda
Attached: 2026-03-01
Boot volume: yes
OS: Ubuntu 22.04 (linux)
Architecture: x86_64
Snapshots: 1 available
Volume types
Different volume types suit different workloads. The AI client shows available types when creating volumes.
What volume types are available in Luxembourg?
Response:
Volume types in Luxembourg-2:
1. high_iops_ssd
IOPS: 60 per GB (max 9,000)
Throughput: 2.5 MB/s per GB (max 500 MB/s)
Use case: databases, latency-sensitive workloads
2. standard
IOPS: 6 per GB (max 4,500)
Throughput: 0.4 MB/s per GB (max 300 MB/s)
Use case: general purpose, predictable I/O
3. ssd_lowlatency
IOPS: up to 5,000
Latency: ~300 µs average
Use case: real-time data processing
Note: snapshots and resizing not supported
Create a volume
Creating a volume allocates block storage that can be attached to instances.
Create a 100 GB high IOPS SSD volume named database-storage
Response:
Creating volume database-storage...
Volume created:
ID: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
Name: database-storage
Size: 100 GB
Type: high_iops_ssd
Status: available
Performance:
IOPS: 6,000 base / 9,000 burst
Throughput: 250 MB/s base / 500 MB/s burst
To attach: "Attach volume database-storage to instance db-server"
For boot volumes with an OS image:
Create a 20 GB standard volume from Ubuntu 22.04 image
Response:
Creating boot volume from image...
Volume created:
ID: 8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e
Size: 20 GB
Type: standard
Status: available
Bootable: yes
Image: ubuntu-22.04-x64
OS: Ubuntu 22.04 LTS
Architecture: x86_64
To create VM: "Create instance from volume 8b9c0d1e..."
Attach volumes to instances
Attaching makes a volume available to the instance as a block device.
Attach volume database-storage to instance db-server
Response:
Attaching volume database-storage to db-server...
Attached successfully:
Volume: database-storage
Instance: db-server
Device: /dev/vdb
The volume appears at /dev/vdb in the instance.
Next steps in the instance:
1. Format: mkfs.ext4 /dev/vdb
2. Mount: mount /dev/vdb /data
3. Add to /etc/fstab for persistent mount
After attaching, the volume must be formatted and mounted within the instance operating system. The MCP server handles the attachment; filesystem configuration requires connecting to the instance.
Detach volumes
Detaching disconnects a volume from an instance while preserving data.
Detach volume database-storage from instance db-server
Response:
Detaching volume database-storage...
Detached successfully.
Volume status: available
The volume data is preserved and can be attached to another instance.
Unmount the volume within the instance (umount /data) before detaching to prevent data corruption.
Resize volumes
Volumes can be expanded to accommodate growing data needs.
Resize volume database-storage to 200 GB
Response:
Resizing volume database-storage...
Resize completed:
Previous size: 100 GB
New size: 200 GB
Performance updated:
IOPS: 9,000 base / 9,000 burst (max reached)
Throughput: 500 MB/s base / 500 MB/s burst (max reached)
Next: Extend the filesystem in the instance to use the additional space.
Linux: resize2fs /dev/vdb
(or: xfs_growfs /data for XFS)
Volumes can only be increased in size, not decreased. SSD Low-Latency volumes do not support resizing. IOPS and throughput scale with size up to the type maximum.
Delete volumes
Response:
Deleting volume old-backup...
Volume deleted.
Released storage: 50 GB
Attached volumes cannot be deleted. The AI client returns an error listing which instance the volume must be detached from first. Deleted volumes cannot be recovered.
Snapshots
Snapshots capture the state of a volume at a specific point in time, useful for backups, disaster recovery, and creating volume templates.
List snapshots
Response:
Found 1 snapshot in Luxembourg-2:
db-backup-20260319
Size: 100 GB
Source volume: postgres-data (ssd_hiiops)
Status: available
Created: 2026-03-19
Metadata:
- bootable: false
- app: postgresql
View snapshot details
Show details for snapshot db-backup-20260319
Response:
Snapshot: db-backup-20260319
ID: e6e94288-21dd-452d-b9ce-37d4d2bde3c3
Source:
Volume: postgres-data
Volume ID: 6632cc34-ac83-4927-8e68-17d1f661ae3d
Volume type: ssd_hiiops
Properties:
Size: 100 GB
Status: available
Bootable: no
App: postgresql
Created: 2026-03-19T08:31:45
To restore: "Create a volume from snapshot db-backup-20260319"
Create a snapshot
Create a snapshot of volume postgres-data named daily-backup
Response:
Creating snapshot daily-backup...
Snapshot created:
ID: f7a8b9c0-d1e2-f3a4-b5c6-d7e8f9a0b1c2
Name: daily-backup
Source: postgres-data
Size: 100 GB
Status: creating
Snapshot will be available in 1-2 minutes.
For consistent snapshots of databases, stop writes or use application-level quiesce before creating the snapshot. The snapshot captures the volume state at creation time.
Create a volume from snapshot
Restore data or create a copy from a snapshot:
Create a volume from snapshot daily-backup named restored-db
Response:
Creating volume from snapshot...
Volume created:
ID: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
Name: restored-db
Size: 10 GB
Type: standard (inherited from snapshot)
Status: available
The volume contains all data from the snapshot point in time.
Delete snapshots
Delete snapshot old-backup-snapshot
Response:
Deleting snapshot old-backup-snapshot...
Snapshot deleted.
Released storage: 10 GB
Note: The source volume and any volumes created from this snapshot are not affected.
File shares
File shares provide NFS-based shared storage accessible from multiple instances simultaneously. Use file shares when multiple servers need access to the same data.
List file shares
Response:
Found 3 file shares in Luxembourg-2:
1. test234 (10 GB, standard)
Status: available
Protocol: NFS
Network: test1 (subnet: subnet)
Mount point: 10.10.10.167:/shares/share-0a930cf1-e6e1-4415-b8a4-ec186550eb0d
2. test1 (100 GB, standard)
Status: error_deleting
Protocol: NFS
Network: MOBILE_NET (subnet: internal_subnet)
3. test (100 GB, standard)
Status: deleting
Protocol: NFS
Network: test1 (subnet: test1)
View file share details
Show details for file share test234
Response:
File share: test234
ID: 337246b6-2483-4466-b22c-16ebea8874fd
Size: 10 GB
Type: standard
Protocol: NFS
Status: available
Network configuration:
Network: test1
Subnet: subnet
Mount point: 10.10.10.167:/shares/share-0a930cf1-e6e1-4415-b8a4-ec186550eb0d
Created: 2024-08-28
To mount on Linux instance:
mount -t nfs 10.10.10.167:/shares/share-0a930cf1-e6e1-4415-b8a4-ec186550eb0d /mnt/shared
Create a file share
Create a 50 GB file share named shared-data in network test1
Response:
Creating file share shared-data...
File share created:
ID: 2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e
Name: shared-data
Size: 50 GB
Protocol: NFS
Status: creating
Network: test1
Subnet: subnet (auto-selected)
The file share will be available in 2-3 minutes with mount point details.
File shares are attached to a specific network and accessible only from instances in that network. Ensure target instances are connected to the same network before mounting.
Resize file shares
Resize file share shared-data to 100 GB
Response:
Resizing file share shared-data...
Resize completed:
Previous size: 50 GB
New size: 100 GB
The additional space is immediately available. No remount required.
Delete file shares
Delete file share old-share
Response:
Deleting file share old-share...
File share deletion initiated.
Status: deleting
Ensure all instances have unmounted the share before deletion completes.
Troubleshooting
Volume attachment fails
Common causes and diagnostics:
Show details for volume database-storage
Check the response for:
- Status not “available”: Volume may be attached elsewhere or in error state
- Region mismatch: Volume and instance must be in the same region
Show details for instance db-server
Verify instance is running and not at maximum volume attachment limit.
Snapshot creation slow
Large volumes with high I/O activity take longer to snapshot.
Show status of snapshot daily-backup
If stuck in “creating” for more than 30 minutes:
- High write load on source volume can delay snapshot
- Check volume status for errors
File share not accessible
Show details for file share shared-data
Verify:
- Status is “available”
- Instance is in the same network as the file share
Show network interfaces for instance web-server
Check if instance has interface in the file share’s network.
Quota exceeded
Response:
Storage quota for project default (Luxembourg-2):
Volumes:
Used: 12 of 50 volumes
Size: 320 GB of 1000 GB
Snapshots:
Used: 1 of 50 snapshots
Size: 10 GB of 500 GB
File shares:
Used: 3 of 10 shares
Size: 210 GB of 500 GB
Delete unused volumes, snapshots, or file shares to free quota.