Skip to main content
Glama

save_device_chain_snapshot

Capture a track, return, or master device chain into a named private local snapshot, including rack controls and Drum Rack pad mute/solo; existing snapshots are not overwritten.

Instructions

Capture a device chain including Return or master mixer, available master output channel, exposed rack-chain controls and populated Drum Rack pad mute/solo into the private named local chain library. Never overwrites. Does not save hidden plugin state, samples, automation, or mappings.

Input Schema

NameRequiredDescriptionDefault
nameYesNew local chain snapshot name; letters, numbers, dot, underscore and hyphen only.
trackIdYestrack-N from list_tracks, return-N from get_set_mixer, or master.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.3.1
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "limitation": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "path": {
      +        "type": "string"
      +      },
      +      "stateVersion": {
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "trackId": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "stateVersion",
      +      "name",
      +      "path",
      +      "trackId",
      +      "limitation"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "error": {
      +        "properties": {
      +          "message": {
      +            "type": "string"
      +          },
      +          "outcome": {
      +            "enum": [
      +              "unknown",
      +              "not_executed"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "message",
      +          "outcome"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changedv0.3.0
    • changedInput schema / properties / trackId / description
      Previous value: -"Stable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master."New value: +"track-N from list_tracks, return-N from get_set_mixer, or master."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  3. Addedv0.2.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent and closed-world, and the description adds genuine value on top: 'Never overwrites' and an explicit exclusion list (hidden plugin state, samples, automation, mappings). That exclusion list is exactly the kind of scope boundary an agent needs before committing a snapshot. It stops short of saying what happens when the supplied name already exists, which matters given the non-destructive/non-idempotent combination.

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?

Two sentences, both load-bearing: the first enumerates captured content, the second bounds it. The first sentence is long and list-heavy but not padded, and the most important constraint (named local library, never overwrites) arrives early. Minor cost: the dense enumeration slows scanning slightly.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile; the description fills in scope and exclusions. The remaining gaps are the name-collision/failure behavior and the distinction from capture_device_chain_snapshot, neither of which is inferable from the structured fields.

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%, and the schema already spells out the naming character set and the accepted trackId forms (track-N, return-N, master). The description adds no parameter-level detail beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (capture/save) and a precisely scoped resource: a device chain's return/master mixer, master output channel, exposed rack-chain controls and populated Drum Rack pad mute/solo, persisted to a named local library. The scope is far more specific than the name alone. However, it never distinguishes itself from the sibling capture_device_chain_snapshot, which reads as the same operation, so an agent cannot tell the two apart from the description.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named. Given that capture_device_chain_snapshot, save_native_device_preset, save_track_state_snapshot and save_group_system_snapshot all sit in the sibling list, the absence of any routing sentence is a real omission. Only the phrase 'into the private named local chain library' implicitly signals persistence versus an in-memory capture.

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

Deploy Server

Other Tools