Skip to main content
Glama

checkpoint

Destructive

Checkpoints stand in for undo, which this session does not have. op=create saves the photo's CURRENT state, every live filter included, and returns a checkpoint_id. op=restore reopens that snapshot as a NEW image and closes the old one (replace, not copy): the old image id stops working once the close succeeds; if the close fails the result says close_failed: true, the old image stays open and both ids are valid. The result names the new id, e.g. "image N closed; restored as image M — use M from now on". A checkpoint (up to 100 MB; a larger one is said to be kept for this session only) is kept for 24 hours after it is made, whatever happens meanwhile: a crash, the server pausing or restarting, or your assistant reconnecting. One made in an earlier session is restored by its checkpoint_id as a NEW image and closes nothing (close the photo it replaces yourself), and op=list shows it as kept from an earlier session. op=list reports checkpoint_id, the image it belongs to, created_at and size in bytes, plus open: false for a checkpoint whose photo has since closed (still restorable) and pending: true while a create is still in flight. op=delete removes one. An unknown checkpoint_id on restore or delete is refused, naming every id that IS known. op=restore also returns the reopened image's base_type, precision and layers, like open_photo. Each photo holds at most 5 checkpoints (a 6th op=create REFUSES rather than silently evicting the oldest: delete one first) and at most 20 are kept in total across photos, since each takes disk space until deleted. This server also caps checkpoint disk use at 1024.0 MiB per session and 1024.0 MiB across all your sessions; op=create is refused at or above either, so free room with op=delete first.

Input Schema

NameRequiredDescriptionDefault
opYes'create' exports the image's current state — every live filter included — to a disk-backed snapshot and returns a checkpoint_id. 'restore' reopens that snapshot as a NEW image and closes the old one (replace semantics, not a copy: the old image id stops working once the close succeeds — see 'close_failed' below for when it doesn't). 'list' reports every checkpoint (optionally scoped to one image): checkpoint_id, the image it currently belongs to (open: false if that image is confirmed gone — still restorable; pending: true while still being created), created_at, bytes — never a file path. 'delete' removes one, freeing its slot.
imageNoImage id, as returned by open_photo. Required for create. Optional for list (omit to list checkpoints for every image).
checkpoint_idNoRequired for restore / delete. The id create (or a prior list) reported for this checkpoint.

Output Schema

NameRequiredDescriptionDefault
bytesNo
imageNo
widthNo
heightNo
layersNo
deletedNo
base_typeNo
old_imageNo
precisionNo
created_atNo
checkpointsNo
close_failedNo
checkpoint_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only signal destructive/non-idempotent/non-readonly. The description goes far beyond: 24-hour retention surviving crashes/restarts/reconnects, per-photo cap of 5 (6th refused, not evicted), 20 total cap, per-session and cross-session 1024 MiB disk caps, replace-not-copy restore semantics with close_failed handling, unknown-id refusal that names known ids, and open/pending list states. This is exemplary disclosure of edge cases and failure modes.

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 undo-substitute framing and organized by op, with each sentence carrying operational weight for a genuinely complex tool. It is dense and run as one long block, which slightly hurts scanability, but there is little filler.

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?

With an output schema present, the description needn't detail return values, yet it explains retention windows, quota limits, restore replace semantics, and failure cases thoroughly. Nothing an agent needs to invoke checkpoint operations correctly is missing.

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 documents all three parameters (baseline 3). The description adds value on top: it clarifies restore's close-on-success/close_failed behavior, list's reported fields and open/pending flags, and that unknown ids are refused with known ids listed, going beyond the enum text.

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 for each operation (create saves current state, restore reopens as NEW image, list reports, delete removes) and frames the tool's role as standing in for undo. An agent can distinguish it from siblings like bake or export_photo 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?

Clearly explains when each op applies (create to snapshot, restore to roll back, list to enumerate, delete to free slots) and the 'undo substitute' framing gives clear context. However it does not explicitly contrast this tool with alternative rollback/serialization siblings such as bake or export_photo, so no explicit exclusions or alternatives are named.

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