Skip to main content
Glama

Back up saves

backup_saves
Idempotent

Create a dated snapshot of a MiSTer's saves and save states, hard-linking unchanged files so each backup stays complete while only changes use space; older snapshots past the limit are removed.

Instructions

Copy a MiSTer's saves and save states into a new dated snapshot in the configured backup folder.

Files unchanged since the last snapshot are hard-linked rather than downloaded, so each snapshot is complete but only changes cost space. The MiSTer is only read. Old snapshots beyond the configured number are removed. Needs SSH and a backup folder (backup_dir).

Input Schema

NameRequiredDescriptionDefault
hostNoMiSTer name from get_status. Omit when the call already says which (a ref does).
dry_runNoCount what would be copied, write nothing.

Output Schema

NameRequiredDescriptionDefault
hostYes
filesYes
copiedYes
linkedYes
prunedYes
outcomeYes
snapshotYes
bytes_copiedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior1/5

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

The description discloses rich behavior: hard-linking unchanged files, read-only MiSTer access, retention-based removal of old snapshots, and SSH/backup_dir prerequisites. However, “Old snapshots beyond the configured number are removed” conflicts with destructiveHint=false, which says the tool is not destructive. Because the description explicitly describes deletion while the annotation marks it non-destructive, this is an annotation contradiction.

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 compact and front-loaded with the main action. Each sentence adds useful context: hard-link efficiency, read-only source access, retention behavior, and prerequisites.

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?

Given that an output schema exists and the input schema is fully described, the description provides enough operational context for an agent to understand the tool. It covers side effects, retention, and prerequisites; the remaining issue is the annotation conflict rather than missing description content.

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 description coverage is 100%, so the schema already documents host and dry_run thoroughly. The description mentions backup_dir, but that is a configuration prerequisite rather than a parameter, and it adds no host or dry_run semantics beyond what the schema provides.

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: copying saves and save states into a dated snapshot in the configured backup folder. This is clearly distinct from siblings such as launch, get_status, and run_update.

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?

Explains the operation and prerequisites (SSH and backup_dir), giving clear context for when the tool applies. It does not explicitly state when not to use it or compare against alternatives, but no sibling tool appears to offer equivalent backup functionality.

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