Skip to main content
Glama

get_set_overview

Read-only

Retrieve an Ableton Live Set's tempo, time signature, playing state, tracks, devices, clip slots, scenes, return tracks, and mix details to plan edits with accurate indices.

Instructions

Describe the open Set: tempo, time signature, playing state, and every track with its index, type, devices and clip slots. Indices are 0-based. drum_pads lists {note, name} for each used pad of the track's Drum Rack (null when the track has none): use those notes as pitches in write_notes. Each track's mix is {volume_db, pan, mute, solo, sends}: dB values with null = -inf, pan -50..50 (50L..50R), sends keyed by return letter ("A", "B"...). scenes lists {index, name}; return_tracks lists {send, name, devices}.

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": "get_set_overview"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description adds genuine behavioral detail by spelling out the shape and encoding of returned data (0-based indices, null dB = -inf, pan -50..50, sends keyed by return letter, drum_pads null when absent). It stops short of disclosing failure modes (no open Set) or the cost of the call on large Sets.

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 one-line purpose, then progressively narrower detail about tracks, drum_pads, mix and scenes. Dense but every clause names a returned field or an encoding rule; the parenthetical about write_notes is the only sentence that could arguably move to a different tool's docs.

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?

With no output schema, the description carries the full burden of describing the response, and it does so field by field including units, ranges and null conventions. What is missing is small but real: no mention of what happens when no Set is open and no note on whether the payload is large.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly spends its space on the return contract instead.

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?

Opens with a specific verb and resource ('Describe the open Set') and enumerates the exact contents returned: tempo, time signature, playing state, tracks with index, type, devices, clip slots. An agent can tell this is the broad state-read tool rather than a narrow reader like read_notes or read_device, though it never names the closest sibling (live_status) explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the scope of the data (it is the orientation call before other operations), and one concrete routing instruction is given: use drum_pads notes as pitches in write_notes. There is no explicit statement of when to prefer this over live_status, or of any precondition such as a Set needing to be open.

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