Skip to main content
Glama

runtime_volumes_backup

Destructive

Crash-consistent backups of a volume, kept off its host. create(volumeId, name?, retentionDays?): Back it up now, kept retentionDays (the volume's retention, 7 unless set); waits up to a minute. Restore with runtime_volumes action create and fromBackup. list(volumeId?, cursor?, limit?, state?): Your backups, newest first, each as get gives it; volumeId gives one volume's. Pass nextCursor back as cursor. get(id): Its state, size, stored bytes and expiry. policy(volumeId, daily?, retentionDays?, schedule?, keep?): Turn automatic backups on or off, keep daily ones retentionDays, or back up on a schedule with keep counts: schedule { "everyMinutes": 60 } or { "cron": "0 */6 * * *" } (UTC), keep { "hourly": 24, "daily": 7, "weekly": 4 }. schedule null goes back to daily. delete(id): Delete it and its copy off the host.

Input Schema

NameRequiredDescriptionDefault
idNo
keepNoWhich backups made on the schedule are kept: any one a count keeps is kept, and the newest ready backup always is. Counts not given are 0. While the account has no credit, each is also kept at most seven days.
nameNoYour own handle for the resource. Letters, digits, dot, dash, underscore.
dailyNo
limitNoPage size, 1 to 100.
stateNo
actionYes
cursorNo
scheduleNoWhen backups are made, instead of daily: everyMinutes or cron. Null takes it off: the volume goes back to daily backups kept retentionDays.
volumeIdNo
retentionDaysNoDays to keep it, 1 to 365; the volume's backup retention (7 unless set) when omitted.
idempotencyKeyNoOptional: left out, one is made and returned as idempotencyKey. Send it back only to retry this exact call after a temporary error.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / keep
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Which backups made on the schedule are kept: any one a count keeps is kept, and the newest ready backup always is. Counts not given are 0. While the account has no credit, each is also kept at most seven days.",
      +  "properties": {
      +    "daily": {
      +      "description": "The newest in each of the newest this many days (UTC).",
      +      "maximum": 1000,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "hourly": {
      +      "description": "The newest backup in each of the newest this many hours.",
      +      "maximum": 1000,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "last": {
      +      "description": "The newest this many backups.",
      +      "maximum": 1000,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "monthly": {
      +      "description": "The newest in each of the newest this many months.",
      +      "maximum": 1000,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "weekly": {
      +      "description": "The newest in each of the newest this many weeks, from Monday.",
      +      "maximum": 1000,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "yearly": {
      +      "description": "The newest in each of the newest this many years.",
      +      "maximum": 1000,
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / schedule
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "When backups are made, instead of daily: everyMinutes or cron. Null takes it off: the volume goes back to daily backups kept retentionDays.",
      +  "properties": {
      +    "cron": {
      +      "description": "Five fields in UTC: minute hour day-of-month month day-of-week, each a number, *, a list, a range or a step, such as \"0 */6 * * *\".",
      +      "type": "string"
      +    },
      +    "everyMinutes": {
      +      "description": "A backup every this many minutes, at whole multiples from 1970-01-01 UTC.",
      +      "maximum": 525600,
      +      "minimum": 15,
      +      "type": "integer"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds meaningful behavior beyond annotations: backups are crash-consistent and off-host, create waits up to a minute, list returns newest first with cursor paging, policy controls automatic retention/schedules, and delete removes both the backup and its off-host copy. It does not describe authorization requirements or failure/error behavior, which keeps it from a 5.

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

Conciseness5/5

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

The description is dense but well organized: one front-loaded summary sentence, then each action introduced by its signature and a compact behavior note. Multiple complex actions are covered without filler or repetition, and each sentence contributes operational meaning.

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 12-parameter, multi-action, nested-schema tool with no output schema, the description is substantially complete: it explains get/list outputs, create timing and retention, policy schedule semantics, and delete scope. It still leaves create's return shape, idempotencyKey usage, state transitions, and error handling to the schema or inference, so it is not fully complete.

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 description coverage is only 50%, so the description carries real weight and mostly succeeds: it maps volumeId, name, retentionDays, cursor, limit, state, schedule, daily, and keep to specific actions, and gives schedule and keep examples plus the default retention behavior. It omits idempotencyKey and does not explain state enum meanings or limit handling in detail, so some parameter semantics remain schema-only.

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 opens with a specific verb-and-resource statement: crash-consistent backups of a volume kept off its host. It then names all five actions (create, list, get, policy, delete), making the backup scope clearly distinct from volume-management siblings. An agent can identify the tool's purpose without opening the schema.

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?

The action signatures implicitly define when to use create, list, get, policy, and delete, and the description explicitly routes restore usage to runtime_volumes action create with fromBackup. It does not give explicit exclusions or decision rules for every case, such as when to use list versus get or when policy is preferable to ad-hoc create, so it is strong but not fully exhaustive.

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.