Skip to main content
Glama

Manage External Volumes

manage_external_volumes
Destructive

Manage external volumes: storage outside a server's local disks (SAN over iSCSI, Ceph RBD, AWS EBS) that a container mounts via deploy_application volumes.external. A volume belongs to one cluster and location and lists the servers allowed to mount it.

list and describe are reads. scan has an integration report the volumes it exposes to a cluster; they then appear in list with state new/ready. create registers one volume: the named servers fix its cluster and location, the integration authenticates to the storage, and source names the device (lun; image+pool; volume_id, or create_size to allocate a new EBS volume). set_servers replaces the mountable server list. delete is refused while a container uses the volume; delete_source_device also destroys the backing device.

Cycle's catalog decides which source types exist, which are creatable, and which attachment types and modes each supports; it is returned in 'sources' on scan and create. Modes count concurrent attachers (single-instance, single-node, multi-node) and access (writer, read-only); multi-node-writer needs a cluster-aware filesystem.

scan, create, set_servers, delete: preview:true first, confirm with the user, then call again without preview.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNocreate: default single-instance-writer.
nameNocreate: display name.
actionYes
sourceNocreate: device details for the source_type.
unusedNolist: only volumes no container or VM is using.
volumeNoExternal volume for describe, set_servers, delete: name, identifier, or ID.
clusterNoCluster identifier. Filters list; required for scan.
contextNoWhy are you calling this tool? Briefly describe the user's goal.
previewNoResolve everything and report what would be submitted, making NO changes.
serversNoServers by hostname, nickname, or ID. Required for create and set_servers; optional scan scope.
attachmentNocreate: default filesystem; block presents a raw device.
identifierNocreate: slug; defaults from name.
create_sizeNocreate: allocate a new device of this size, e.g. '100G'.
descriptionNocreate: free-text note.
integrationNoStorage integration by name, identifier, vendor, or ID. Required for scan and create.
source_typeNoRequired for scan and create.
wait_secondsNoMax seconds to wait on the job. 0 returns once it is accepted.
conversation_idNoConversation tracking id. Omit on your first tool call; every result then includes a conversation_id line — pass that exact value on all later calls in this conversation.
delete_source_deviceNodelete: also destroy the device on the storage system. Irreversible.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply the coarse destructive/readOnly/idempotent flags; the description adds much more: delete is refused while a container uses the volume, delete_source_device irreversibly destroys the backing device, scan returns an integration report whose volumes appear in list with state new/ready, and the catalog returned in 'sources' governs creatable source types and attachment/mode support. The preview:true protocol is also spelled out. This is rich disclosure beyond the annotations and is consistent with destructiveHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but well-organized into three paragraphs covering the resource, the action semantics, and the catalog/mode rules, with the preview protocol called out last. Every sentence carries information and the resource definition is front-loaded, though the block is long enough that an agent must read carefully rather than skim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-parameter tool with no output schema and nested objects, the description covers action semantics, deletion safety, the catalog returned on scan/create, and the confirmation workflow, which is close to complete. Minor gaps remain around job/wait behavior (wait_seconds) and result states beyond 'new/ready', but the essential calling information is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 95%, so the baseline is 3, but the description genuinely adds meaning the schema lacks: it explains that 'source' names the device by lun / image+pool / volume_id / create_size, that modes count concurrent attachers and access and that multi-node-writer needs a cluster-aware filesystem, and that set_servers replaces (not appends to) the mountable server list. These clarify semantics the bare enum descriptions do not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Manage external volumes') and then defines the resource precisely: storage outside a server's local disks (SAN over iSCSI, Ceph RBD, AWS EBS) mounted via deploy_application volumes.external. It enumerates every action (list, describe, scan, create, set_servers, delete) and what each does, so the tool is unmistakable against siblings like manage_image_source or deploy_application.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly separates reads (list, describe) from scan/create/set_servers/delete and routes container mounting to deploy_application volumes.external, giving real context for when each action applies. It also prescribes a preview-then-confirm-then-call workflow for the four mutating actions. It stops short of naming an explicit alternative tool to use instead of this one for any case, so not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources