Skip to main content
Glama

backup_create

Destructive

Create a Docker Compose backup archive for all services or one service, with optional custom destination, remote server, and excluded host paths.

Instructions

Create a Docker compose backup archive for all services or one service. Volumes are read while the containers run, so a database mid-write can land inconsistent; an archive is not evidence it restores, which is what backup_drill answers

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "backup_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoCustom backup destination directory (optional)
serverNoRemote server name from config (optional, runs locally if omitted)
excludeNoHost paths not to archive, covering bind mounts at or under each one. What was excluded is written into the archive manifest, so a later restore can tell a mount that was left out from one that never existed (optional)
serviceNoSpecific service to back up (optional)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.39.0
    • addedInput schema / properties / exclude
      Added value: +{
      +  "description": "Host paths not to archive, covering bind mounts at or under each one. What was excluded is written into the archive manifest, so a later restore can tell a mount that was left out from one that never existed (optional)",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Addedv0.18.1

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 partly covered. The description adds real behavioral context beyond that — live volume reads can yield an inconsistent archive — but does not say what is overwritten on disk, whether existing archives are replaced, or what permissions/remote auth (server param) are required.

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?

Two sentences, front-loaded with the verb and resource, and the second sentence is a dense but purposeful caveat plus routing hint. Nothing is redundant with the title or schema.

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 no-required-param tool with no output schema and fully documented params, the description covers the main hazard and the sibling routing. It leaves out where the archive lands by default and whether an existing archive at the destination is overwritten, which an agent might want before invoking a destructive tool.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The phrase "all services or one service" does clarify the default behavior of the optional service parameter (omission = all), which the schema does not state, but the to/server/exclude parameters get no additional meaning from the description.

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 first sentence gives a specific verb and resource ("Create a Docker compose backup archive") and the scope ("all services or one service"). It also implicitly separates itself from backup_drill by framing this tool as archive production rather than restore verification.

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?

It explicitly names the sibling alternative (backup_drill) and the condition that selects it: an archive is not evidence it restores. It also gives the precondition/caveat for using this tool (volumes are read while containers run, so mid-write data can be inconsistent).

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