Skip to main content
Glama

Resize volume

volume_resize
DestructiveIdempotent

Increase a persistent sandbox volume in place while it remains online, with no data copying and attached sandboxes continuing to run. Use for growing storage only; shrinking is not supported.

Instructions

Use this when the user wants a bigger persistent sandbox volume. It grows in place and online: no data is copied and an attached sandbox keeps running. A volume cannot shrink (volume_shrink_unsupported), except an older one, which can if at least 10% of the new size stays free (volume_too_full_to_shrink otherwise). Calling again with the current size is a no-op. Allowed sizes are per project (minSizeGb/maxSizeGb); the server rejects anything outside that range with invalid_volume_size, so do not assume a maximum. Returns the updated volume. grownInSandbox false means the attached sandbox still sees the old size until a sandbox next mounts the volume; sizeEnforced false means the region does not enforce the size as a hard limit. Other error codes: volume_not_resizable, volume_resize_in_progress (retry shortly), volume_not_provisioned, volume_capacity_unavailable (no room on the machine to grow), volume_resize_timeout (size left unchanged; safe to retry).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project": "<project>",
      "volume": "<volume>",
      "sizeGb": "<sizeGb>"
    },
    "name": "volume_resize"
  }
}

Input Schema

NameRequiredDescriptionDefault
sizeGbYesNew size in GB (whole number, at least 1)
volumeYesVolume name or ID (from volume_list)
projectYesProject name, slug, or ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.2

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag mutation (readOnlyHint=false) and idempotency, but the description adds substantial context beyond them: online in-place growth, no data copying, the attached sandbox keeps running, irreversibility of shrink, and a detailed error taxonomy with retry safety. It does not contradict the destructiveHint; it clarifies exactly what changes and what cannot be undone.

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?

Front-loaded with the usage condition and the core behavior before the error details. It is dense and somewhat long, but every clause carries operational information (shrink rules, no-op, project limits, return flags, error codes), so little is wasted.

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

Completeness5/5

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

No output schema exists, yet the description explains the returned fields (grownInSandbox, sizeEnforced) and their meaning, plus the major error outcomes including whether retries are safe. That is sufficient for an agent to call the tool and interpret the result correctly.

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 100%, so the schema already defines the three parameters. The description adds meaningful server-side semantics: allowed sizes are per project (minSizeGb/maxSizeGb), the server rejects out-of-range values with invalid_volume_size, and the agent should not assume a fixed maximum. That is more than the schema's generic minimum of 1.

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?

States a specific verb and resource ('resize ... persistent sandbox volume') and immediately scopes it to growth only, distinguishing it from create/delete siblings. The first sentence tells an agent exactly what the tool does and for what object.

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

Usage Guidelines5/5

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

Explicitly says when to use it ('when the user wants a bigger persistent sandbox volume') and covers the negative case ('A volume cannot shrink') along with the edge-case exception. It also tells the agent that same-size calls are no-ops, so retry/repeat behavior is clear.

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