Ableton AI
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ableton AICreate a MIDI track with a soft pad and slow attack."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ableton AI
Control Ableton Live from an AI assistant like Claude. You describe what you want in plain language, and it builds it in your Live set: tracks, instruments, effects, MIDI clips, automation, and mixing. Over 150 commands covering most of the Live Object Model.
You describe, it builds, you listen and judge. The assistant has no ears, so it handles the mechanical work while you keep the taste.
Contents
Related MCP server: Ableton MCP
What you can do with it
Ask for a sound and get it built:
Build a dark ambient pad on a new track. Slow attack, long release,
a filter behind it with a slow LFO on the cutoff. Play a minor chord.Ask for the tedious things you'd never do by hand:
Write six clips at 3, 5, 7, 11, 13 and 17 bar lengths. They're coprime,
so the loop won't repeat for over a million bars.Draw a twelve minute filter sweep with 200 automation points, then put
per-note probability on the hats so they flicker instead of repeating.Ask for a whole piece in a style:
Lay down a Steve Reich style phasing piece. Two piano tracks play the same
short cell; make one clip a bar longer than the other so they drift out of
phase and slowly pull back into sync. Add a marimba and a vibraphone doubling
fragments of the cell at their own loop lengths, so the parts interlock and
never quite repeat.Ask it to fix what you just heard:
The bass is too quiet and the reverb is too wet. Pull them back.How it works
The assistant talks to Ableton through the Model Context Protocol (MCP), an open standard for giving AI tools access to external systems. This project is an MCP server that exposes Ableton's Live Object Model as a set of tools the assistant can call.
There are two pieces:
The MCP server runs on your machine as its own process. Your AI client (Claude Code, Claude Desktop, Cursor) launches it and calls its tools.
A remote script runs inside Ableton itself. Ableton's Control Surface system lets you run Python inside Live, and that script opens a local socket the MCP server talks to. This is the only supported way into Live's API, so it has to be Python and it has to be enabled in Ableton's settings.
When you ask for something, the assistant calls a tool, the server sends a command over the socket, the remote script runs it against Live's API, and the result comes back. You see it happen in Ableton in real time.
Installation
You need Ableton Live 11 or newer, and uv.
First, install the remote script into Live. This is the part that runs inside Ableton:
uvx --from ableton-ai install-remote-scriptThen connect your AI client.
For Claude Code:
claude mcp add ableton -s user -- uvx ableton-aiFor Claude Desktop, add this to claude_desktop_config.json (find it under Settings, Developer, Edit Config):
{
"mcpServers": {
"ableton": {
"command": "uvx",
"args": ["ableton-ai"]
}
}
}Restart your AI client after either one, so it picks up the new server.
Finally, turn the remote script on in Ableton. Open Settings, then Link, Tempo & MIDI. Under Control Surface, pick AbletonAI. Leave Input and Output on None.
Ableton's status bar should flash AbletonAI: Listening for commands on port 9877. If it doesn't, the remote script isn't installed, so rerun the first step and restart Live.
Getting started
Open a Live set you don't mind messing up, then hand your assistant this:
You're controlling my Ableton Live set. You can't hear anything you make,
so don't tell me it sounds good. Build what I ask, read the settings back
to check they landed, and let me be the judge.
Some things in Live are dropdowns you can't set through the API: the LFO
Map button, a Compressor's sidechain source, Drift's mod matrix routing.
If you need one of those, tell me and I'll click it.
To start: make a MIDI track, load Drift, and build an ambient pad with a
slow attack and long release. Add a filter behind it with a slow LFO on
the cutoff. Play a minor chord and loop it.That first paragraph is worth keeping around. It saves you re-explaining the same things every session. Better still, install the skill below, which teaches your assistant all of this and more.
The skill
If you use Claude Code, there's a skill in skills/ableton that teaches the assistant how to use these tools well: the parameter names each command expects, how to verify a change actually landed, how to reach inside drum racks, and how to build generative patches with coprime loops and note probability.
Install it:
mkdir -p ~/.claude/skills
cp -R skills/ableton ~/.claude/skills/Restart Claude Code. It picks the skill up whenever you ask for something musical.
Using a local model instead of Claude
If you'd rather not use an MCP client, there's an HTTP server that exposes the same commands. That lets you drive Ableton from a local model like Ollama, or from anything that can make an HTTP request.
This server lives in the git checkout, so clone the repo first and install the optional rest extra:
uv sync --extra restStart it in its own terminal:
uv run python rest_api/rest_api_server.pyIt listens on http://127.0.0.1:8000. Every command is a POST to /api/command with a command and its params, the same names the tools use. For example, creating a MIDI track:
curl -X POST http://127.0.0.1:8000/api/command \
-H "Content-Type: application/json" \
-d '{"command": "create_midi_track", "params": {"index": -1}}'To wire it to a local model, give the model a tool that posts to that endpoint, then let it fill in the command and params. A minimal loop in Python:
import requests
def ableton(command, params=None):
return requests.post(
"http://127.0.0.1:8000/api/command",
json={"command": command, "params": params or {}},
).json()
ableton("set_tempo", {"tempo": 124})
ableton("create_midi_track", {"index": -1})GET /api/commands lists every command the server accepts, and GET /health tells you whether Ableton is connected. The server needs the remote script installed and enabled, same as the MCP path.
Editing the remote script
If you change the remote script, Ableton needs a restart to load it, because Live caches the compiled bytecode. Save your set, copy the updated file into place, and restart Live. Toggling the Control Surface off and on is not reliable.
Safety
The remote script opens an unauthenticated socket on localhost:9877. It isn't reachable from the network, but any process running as you can drive Ableton through it.
The more practical point: the assistant has over 150 commands, many of which change your project, and it can't hear what it's doing. It will occasionally clear something you cared about. Work on copies, save often, and lean on Cmd+Z, which covers most operations.
Testing
uv sync --all-extras
uv run pytest
uv run ruff check src tests
uv run mypyArchitecture
If you want to work on this, here's how the parts fit together. The earlier "How it works" section is the short version; this is the longer one.
There are two processes, and they don't share memory. The first is the MCP server, a normal Python package under src/ableton_ai. The second is the remote script under remote_script, which runs inside Ableton's own embedded Python interpreter. They talk to each other over a TCP socket on localhost:9877, passing JSON back and forth. That socket is the whole interface between them.
The MCP server is the side your AI client talks to. server.py builds a FastMCP server and registers every tool. The tools live in src/ableton_ai/tools, split by what they touch: tracks, clips, notes, devices, browser, automation, arrangement, session, and a few musical helpers. Each tool is a small function decorated with @tool, which registers it and wraps it in uniform error handling, so a tool body is usually two lines: send a command, format the result. None of the tools hold state. They all go through one shared AbletonConnection in connection.py, which owns the socket and serializes every exchange behind a lock, because the socket handles one command at a time.
The remote script is the side that can actually touch Live. Ableton's Control Surface system is the only supported way to run code inside Live and reach its API, and it only runs Python, which is why this half is Python no matter what. When Live loads the script, it opens the socket and waits. A command comes in as JSON, the script looks it up, runs it against Live's API, and sends the result back.
The one subtlety worth knowing is threading. The socket runs on a background thread, but Live's API can only be touched safely from Live's main thread. So any command that changes something (creating a track, setting a parameter, writing notes) is put on a queue and run on the main thread, while read-only commands can answer straight from the socket thread. This isn't decoration. A state change made from the wrong thread crashes Live outright, which is a mistake this codebase has made and fixed.
A single request, end to end: you ask for a track, the assistant calls the create_midi_track tool, the server sends {"type": "create_midi_track", ...} over the socket, the remote script queues it onto Live's main thread, Live makes the track, the result travels back through the socket to the tool, and the tool returns a sentence the assistant reads. You see the track appear in Ableton as it happens.
The last piece is rest_api, an optional HTTP server that exposes the same commands to clients that don't speak MCP, like a local Ollama model. It's not needed for the Claude workflow and you can ignore it unless you want it.
Credits
Built on the original AbletonMCP by Siddharth Ahuja and later work by Jason Poindexter, with thanks to calclavia and Ronbalt.
License
MIT. See LICENSE.
Available Tools
157 toolsadd_notes_to_clipB
Add MIDI notes to a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
notes: List of note dictionaries, each with pitch, start_time, duration, velocity, and mute
| Name | Required | Description | Default |
|---|---|---|---|
| notes | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does without explaining side effects, whether notes are appended or replace existing ones, whether the clip is modified in place, or any error conditions. This leaves significant ambiguity for an agent invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded. It opens with a one-sentence purpose, then lists parameters with short explanations. Every sentence adds value and there is no redundancy or wasted words. This is an efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is incomplete. It does not explain what happens after notes are added (e.g., return value, visual undo), any limitations (e.g., only applies to MIDI clips), or how the notes array is processed (append vs replace). Given the complexity of a MIDI editing tool, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It does so by explaining each parameter: track_index and clip_index refer to the containing track and clip slot, and notes are described as a list of dictionaries with pitch, start_time, duration, velocity, and mute. This adds meaning beyond the schema, which only provides types. However, it lacks units or value ranges, which would further improve clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Add MIDI notes to a clip.' This is a specific verb+resource pair that distinguishes it from siblings like create_clip (creating a clip) or fire_clip (triggering playback). It is unambiguous and immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as create_clip or fire_clip. It does not state prerequisites (e.g., the target clip must exist and be a MIDI clip) or situations where it should be avoided. The usage context is only implied by the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_notes_with_probabilityA
Add MIDI notes carrying per-note probability and velocity deviation.
Prefer this over add_notes_to_clip for anything generative. Plain add_notes_to_clip uses Live's legacy API, which has no probability field and silently drops it.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
notes: List of note dictionaries. Each takes pitch, start_time, duration, velocity, mute, plus optional probability (0.0 to 1.0) and velocity_deviation.
replace: Replace existing notes in the clip (default True)
| Name | Required | Description | Default |
|---|---|---|---|
| notes | Yes | ||
| replace | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses the default replace behavior and explains the limitation of the legacy API. However, it doesn't describe merge behavior when replace=false, error conditions, or explicit mutating side effects, so there are gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with a clear intro, usage note, and parameter list; every sentence contributes useful information without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, parameters, and the replace behavior, making it nearly complete for a 4-parameter tool with no output schema. It doesn't mention return values or error handling, but those are not critical for this mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has no descriptions (0% coverage), but the description describes each parameter, including the structure of notes (pitch, start_time, duration, velocity, mute, optional probability and velocity_deviation) and the default for replace, providing substantial semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Add MIDI notes carrying per-note probability and velocity deviation,' which identifies a specific verb and resource, and clearly differentiates from add_notes_to_clip by highlighting the probability feature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly directs users to prefer this tool over add_notes_to_clip for generative tasks, explaining that the legacy API lacks probability support and would silently drop it. This provides a clear alternative and when-to-use guidance, though it doesn't state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_shaped_automationA
Draw a repeating waveform onto any device parameter as clip automation.
This is NOT a free-running LFO. The curve is baked into the clip and repeats every loop, phase-locked to the bar. For a genuinely free-running LFO on an arbitrary parameter you still need a Max for Live LFO, whose Map button the API cannot set (ask the user to click it). Use this when a loop-locked, editable curve is acceptable, and use a long or coprime clip length if you want the repetition to be hard to notice.
Parameters:
track_index, clip_index: the clip to draw the automation into
parameter_name: the parameter to modulate
device_index: which device on the track owns that parameter
shape: sine, triangle, saw, square, or random
cycles: how many full waveform cycles across the clip (can be fractional)
min_value, max_value: the range the parameter sweeps between
points: resolution of the drawn curve (more = smoother)
| Name | Required | Description | Default |
|---|---|---|---|
| shape | No | sine | |
| cycles | No | ||
| points | No | ||
| max_value | No | ||
| min_value | No | ||
| clip_index | Yes | ||
| track_index | Yes | ||
| device_index | Yes | ||
| parameter_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that the curve is baked into the clip and repeats phase-locked to the bar, that it is not a free-running LFO, and even mentions the API cannot set the Map button, requiring a user action. This is rich context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a clear purpose statement, a crucial caveat, a parameter list, and practical usage tips. Every sentence adds value—no redundancy or filler—while remaining compact enough for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 9 parameters, no annotations, and no output schema, this description is remarkably complete. It covers what the tool does, key behavioral nuances, parameter meanings, when to use it, and how to achieve less obvious repetition. No critical context appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It lists and explains all 9 parameters, including the meaning of shape, cycles (can be fractional), min/max range, and points (resolution), providing exactly the semantic information the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Draw a repeating waveform onto any device parameter as clip automation.' It clearly distinguishes itself from other clip-related tools by emphasizing the repeating waveform and baked-in nature, and the 'NOT a free-running LFO' note further differentiates it from modulation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this tool ('Use this when a loop-locked, editable curve is acceptable') and when not to ('This is NOT a free-running LFO'). It also names the alternative (Max for Live LFO) and describes the API limitation, giving the agent actionable decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_warp_markerB
Add a warp marker to an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
beat_time: The beat time position for the marker
sample_time: Optional sample time (calculated automatically if not provided)
| Name | Required | Description | Default |
|---|---|---|---|
| beat_time | Yes | ||
| clip_index | Yes | ||
| sample_time | No | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the action. It does not mention side effects, whether the operation is reversible, requirements like warp enabled clips, or any impact on existing warp markers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence followed by a clear parameter list. It is front-loaded with the action and includes no extraneous text, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple 4-parameter tool but lacks broader context such as when to use it (vs warp-related siblings), prerequisites, or whether it returns a value. It covers the core action and parameters but would benefit from more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema coverage is 0%, the description compensates by explaining each parameter: track_index, clip_index, beat_time, and the optional sample_time. It adds clarity by noting sample_time is auto-calculated if not provided, which goes beyond the schema's type/name info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a warp marker to an audio clip' with a specific verb and resource. It distinguishes itself from sibling tools like delete_warp_marker and get_warp_markers by naming the action and target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as set_clip_start_marker or set_clip_warp_mode. The description only states what it does without explaining the appropriate context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_grooveB
Apply a groove to a clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
groove_index: The index of the groove from the groove pool
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes | ||
| groove_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It fails to describe the effect of applying a groove (e.g., timing alterations), whether it is destructive/reversible, or any side effects on the clip. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It front-loads the purpose in a single sentence, then lists parameters in a clear bullet-style format. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite complete parameter coverage, the tool lacks behavioral context, usage guidance, and any note on return values or state changes. As a mutation tool with no annotations or output schema, it should explain more about what 'apply' entails and when to use it. The description is minimal and leaves the agent to fill in critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only parameter names and types (0% coverage), so the description compensates by explaining each parameter: track_index (track), clip_index (clip slot), groove_index (groove pool). This adds necessary semantic meaning beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Apply a groove to a clip.' This is a specific verb+resource construction that distinguishes it from siblings like commit_groove or get_groove_pool. There is no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., existing clip, groove pool availability) or when not to use it. The description simply states the operation without contextual selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browse_pathB
Navigate browser by path list to get items at that location.
Parameters:
path: List of path components, e.g. ["Audio Effects", "EQ Eight"] or ["Sounds", "Bass"]
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry full behavioral disclosure. It states the core action but does not explain side effects (e.g., whether the browser's current location is changed), error behavior (e.g., invalid paths), or the return format. This is a minimal disclosure that leaves the agent uncertain about operational consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient and well-structured, with a one-sentence purpose statement followed by a concise parameter explanation. It avoids redundancy and front-loads the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and a single parameter, the description remains incomplete. It does not explain what the tool returns (the items at the location), whether it mutates browser state, or how it relates to siblings like get_browser_items_at_path. The absence of return value and side-effect information makes it inadequate for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates by explaining the 'path' parameter as a list of path components with concrete examples. It adds meaning about the expected input structure, although it does not specify exact naming requirements or case sensitivity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's function clearly: 'Navigate browser by path list to get items at that location.' The verb 'navigate' with resource 'browser' provides a specific action and scope. However, it does not differentiate from similar sibling tools like get_browser_items_at_path, which appears to also retrieve items at a path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like get_browser_tree or search_browser. The description implies usage when you know the path, but it does not state exclusions, prerequisites, or alternatives. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capture_midiA
Capture MIDI that was played recently (like Ableton's Capture feature).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains what the tool does but does not disclose side effects, return values, or whether it creates a clip or buffers the MIDI. Since it is a simple action with no params, the minimal risk is partially mitigated, but key behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core information and adds a familiar analogy ('like Ableton's Capture feature'). Every word earns its place; there is zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no output schema), the description is short but omits important context such as what happens after capture (e.g., does it create a clip, return notes, or influence the current selection?). Sibling tools for clip creation and note editing suggest this could have side effects, but the description does not clarify. A bit more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage (100%). Per the guidelines, the baseline for 0 params is 4. The description does not add parameter details because none exist, so no deduction is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Capture') and resource ('MIDI') with a clear scope ('recently played'), and distinguishes itself from sibling tools like add_notes_to_clip or generate_drum_pattern by referencing Ableton's Capture feature. This makes the purpose immediately understandable and unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when the user has recently played MIDI and wants to capture it, similar to Ableton's Capture. It does not explicitly name alternatives or exclusions, but the 'recently played' qualifier sets it apart from other MIDI tools. No explicit when-not-to-use guidance is given, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_clip_automationC
Clear automation for a clip parameter.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
parameter_name: Name of the parameter to clear automation for
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes | ||
| parameter_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It merely restates the tool's name ('Clear automation') without explaining what clearing entails, such as removing all automation points, resetting to default, or any side effects on clip playback.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with an initial statement of purpose followed by a parameter list. However, the parameter list adds little value beyond the parameter names, so the structure could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is severely incomplete given the tool's complexity and the absence of annotations or an output schema. It does not address what 'clear automation' means, when it applies, how it interacts with the clip's automation envelope, or what errors might occur. The sibling set includes closely related tools, but this description provides no comparative context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter descriptions are nearly tautological: 'The index of the track' for track_index, 'The index of the clip slot' for clip_index. They do not clarify crucial details like whether indices are zero-based, how to specify parameter_name (display name vs internal name), or what values are valid. With 0% schema coverage, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Clear automation') and the resource ('a clip parameter'). The verb 'clear' distinguishes it from sibling tools like get_clip_automation and set_clip_automation, though it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. The description lacks context on prerequisites (e.g., clip existence, track type) or situations where clearing automation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
commit_grooveC
Commit groove quantization to clip notes (make it permanent).
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
In the absence of annotations, the description discloses the key behavioral trait of permanence ('make it permanent'), which signals an irreversible mutation of the clip. However, it does not mention other side effects, such as whether the original groove remains, whether undo is possible, or if the operation only affects session clip notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with a clear purpose statement before the parameter list. The parameter descriptions are minimal but not verbose, and the overall length is appropriate for the tool's apparent simplicity, though it could benefit from a more structured format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only two parameters, the description is thin. It does not explain preconditions (e.g., a groove must exist in the groove pool), the distinction from apply_groove (which may be non-destructive), or the result of the operation. This incomplete picture risks incorrect tool selection or invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the sparse schema. The one-line explanations ('The index of the track', 'The index of the clip slot') add little beyond the parameter names, with no mention of zero-based indexing, valid ranges, or the difference between session clip slots and arrangement clips.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Commit groove quantization to clip notes (make it permanent)', which identifies the action and target resource. The parenthetical 'make it permanent' adds meaningful context, distinguishing it from a non-destructive preview or temporary quantization, though it does not explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like apply_groove or quantize_clip. It also omits prerequisites, such as whether a groove must already be loaded or if the target clip must be a MIDI clip.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_arrangement_midi_clipA
Create a MIDI clip in the Arrangement view, optionally filled with notes.
Session clips and Arrangement clips use different Live APIs. This is the Arrangement path (Live 11+). Notes are optional and may carry probability, same shape as add_notes_with_probability.
Parameters:
track_index: The index of the MIDI track
start_time: Where the clip starts in the arrangement, in beats
length: Clip length in beats
notes: Optional list of note dicts (pitch, start_time, duration, velocity, mute, optional probability). Note start_time is relative to the clip.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| length | Yes | ||
| start_time | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does reveal that it uses the Arrangement API, requires Live 11+, and that note start_time is clip-relative. However, it omits potential side effects, such as whether an existing clip at the given position is overwritten, and does not describe what happens upon success or failure. This is average but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with a clear one-sentence purpose, then a brief note about API distinctions, and a parameter list. It stays efficient without unnecessary fluff. The parameter list is necessary given the lack of schema descriptions, so the added length is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with optional nested notes, no output schema, and no annotations, the description covers the essential aspects: purpose, location, version requirement, all parameters with units, and note shape. Minor omissions include behavior on existing clips and return value, but the provided information is largely sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain all parameters, and it does. It lists each parameter and adds meaning: track_index is the MIDI track index, start_time is in beats, length is in beats, and notes are optional with a description of the note dict format including probability and relative start_time. This fully compensates for the bare schema and adds crucial context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create a MIDI clip in the Arrangement view, optionally filled with notes.' It uses a specific verb (create), identifies the resource (MIDI clip), and specifies the scope (Arrangement view). It also distinguishes itself from session clip tools by noting 'This is the Arrangement path (Live 11+).'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use this tool: 'Session clips and Arrangement clips use different Live APIs. This is the Arrangement path.' This implies it should be used for arrangement clips rather than session clips. It also references the note format from 'add_notes_with_probability', helping the agent understand the options. However, it does not explicitly state when not to use it or name alternative tools, leaving a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_audio_trackA
Create a new audio track in the Ableton session.
Parameters:
index: The index to insert the track at (-1 = end of list)
| Name | Required | Description | Default |
|---|---|---|---|
| index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explains the index parameter's semantics (-1 = end of list), which is useful. However, it does not disclose other behavioral traits such as whether the new track is selected, any return value, or error handling, leaving the agent with incomplete information for a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the purpose sentence, and includes a clear parameter explanation. Every line serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter create operation, the description covers the parameter well but omits any mention of return values or side effects. Since there is no output schema, the description should have indicated what the agent can expect after creation, leaving a gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description fully explains the only parameter 'index' with the meaning 'The index to insert the track at (-1 = end of list)', adding value beyond the schema which only specifies a default. This is complete and precise for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new audio track in the Ableton session', which is a specific verb+resource. The 'audio' qualifier distinguishes it from sibling tools like create_midi_track, create_return_track, and create_group_track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the name and description: to add an audio track to the session. However, there is no explicit guidance on when to use this tool over create_midi_track or other track creation tools, nor any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_clipA
Create a new MIDI clip in the specified track and clip slot.
Parameters:
track_index: The index of the track to create the clip in
clip_index: The index of the clip slot to create the clip in
length: The length of the clip in beats (default: 4.0)
| Name | Required | Description | Default |
|---|---|---|---|
| length | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It only states the basic creation action and parameters, but does not address side effects (e.g., whether an existing clip in the slot is overwritten), required permissions, undo behavior, or any other behavioral traits. The description adds no context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: one sentence defining the purpose followed by a short, well-organized parameter list. Every line contributes useful information, with no redundancy or filler. The key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with no output schema and no annotations, the description covers the what and how, including the default for length. However, it omits context such as whether the clip is empty, whether it overwrites an existing clip in the slot, or any track prerequisites. Minor gaps, but overall adequate for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only types and defaults (0% schema_description_coverage). The description compensates by clearly explaining each parameter: track_index is the track index, clip_index is the slot index, and length is in beats with a default value. This adds meaningful semantics beyond the schema's bare properties, though it could be even more detailed (e.g., valid ranges).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create'), the resource ('a new MIDI clip'), and the target ('in the specified track and clip slot'). This verb+resource+location phrasing is specific and distinguishes it from sibling tools like fire_clip or stop_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage ('when you want to create a new clip') but does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. No sibling differentiation or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_group_trackA
Create a group track containing the specified tracks.
Parameters:
track_indices: List of track indices to group
name: Name for the group track
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Group | |
| track_indices | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states that a group track is created, but does not disclose side effects, prerequisites, whether original tracks are modified or moved, or any constraints. This is similar to the 'Update shared drive settings' example which scored 2 for lacking permissions/reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one sentence for purpose plus a two-item parameter list. It is front-loaded and every line adds value, especially given no schema descriptions exist.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with two parameters and no output schema, the description covers the basics but lacks behavioral context such as track order, prerequisites, or side effects. It is more complete than a mere tautology but not as rich as the get_calls example.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explicitly explains both parameters: track_indices as list of indices to group and name as the group track name. This adds meaning beyond the raw schema types, though it could include details like zero-based indexing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'group track', specifying it contains the specified tracks. This distinguishes it from sibling tools like create_audio_track or create_midi_track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you want to group existing tracks into a group track, but it does not explicitly mention alternatives or when not to use. Sibling tools such as ungroup_tracks suggest the opposite operation, but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_locatorA
Create a new locator/cue point.
Parameters:
time: Position in beats for the locator
name: Name for the locator
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| time | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose side effects and limitations, but it only restates the core action. It does not mention return values, whether the locator is added to the arrangement, or any constraints on time/name values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with a one-sentence purpose followed by a minimal parameter list. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool, the description covers the basic purpose and parameters, but given no annotations or output schema, it leaves questions about usage context and behavioral outcomes unresolved. It is adequate but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description compensates by explaining that time is in beats and name is a label for the locator. This adds meaning beyond the raw schema types, though it could further clarify requiredness or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Create a new locator/cue point.' This distinguishes it from siblings like delete_locator and get_locators by specifying the action and object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as set_clip_start_marker or set_clip_end_marker, nor any prerequisites or exclusions. The description simply states the function without contextual use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_midi_trackB
Create a new MIDI track in the Ableton session.
Parameters:
index: The index to insert the track at (-1 = end of list)
| Name | Required | Description | Default |
|---|---|---|---|
| index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'create a new MIDI track' without explaining side effects, undo behavior, permissions, or what happens to existing tracks. This is a significant lack of transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main purpose, and includes a clear parameter explanation. Every sentence earns its place; there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only one parameter, and the description covers its purpose and parameter semantics. However, it lacks usage guidelines and behavioral context (e.g., what happens on creation), so it is not fully complete for an agent operating autonomously.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a title and default for the 'index' parameter with no description, so the description's explanation ('The index to insert the track at (-1 = end of list)') adds crucial semantic meaning. This fully compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb+resource combination: 'Create a new MIDI track in the Ableton session.' It unambiguously states the tool's function and is distinct from sibling tools like create_clip, which creates clips rather than tracks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor any exclusions. While it is implicit that this is for creating MIDI tracks, the description does not mention prerequisites, typical scenarios, or contrast with related tools like create_clip.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_return_trackA
Create a new return track (for shared send effects like reverb).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states it creates a return track but does not mention any side effects, such as default naming, track placement, whether it becomes selected, or if any send routing is auto-configured. This lack of detail for a mutating operation is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single, front-loaded sentence with no wasted words. It clearly states the action and one relevant context note, earning the highest rating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: zero parameters, no output schema, and no nested objects. The description captures the core action and purpose. It doesn't cover all potential behavioral nuances, but given the low complexity, the description is reasonably complete. A slightly lower score would be warranted if more context (like default track name) were expected, but it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter details. Per the rubric, the baseline for zero parameters is 4. The description adds context about the purpose but doesn't need to explain parameters that don't exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Create' with a clear resource 'return track' and adds a parenthetical purpose ('for shared send effects like reverb'), which distinguishes it from other track-creation tools like create_audio_track or create_midi_track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical explains the intended use case (shared send effects), giving clear context for when to use this tool. It does not explicitly mention alternatives or exclusions, but the context is sufficient to imply it should be used when a return track is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sceneB
Create a new scene.
Parameters:
index: The index to insert the scene at (-1 = end of list)
| Name | Required | Description | Default |
|---|---|---|---|
| index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the new scene becomes selected, how existing scenes are affected, whether the operation is undoable, or what the return value is. The index parameter is explained, but broader side effects remain opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one clear sentence plus a parameter list. It is front-loaded and contains no filler, repetition, or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool, the description covers the parameter adequately, but lacks context about return values and side effects. With no output schema or annotations, the agent is left without a complete picture of what happens after invocation. It is acceptable as a minimum viable description but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly defines the 'index' parameter with a special sentinel value (-1 = end of list), adding meaning beyond the bare schema type and default. Since schema description coverage is 0%, this explanation is essential and effectively compensates for the only parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb-resource pair ('Create a new scene') and includes the index parameter context. It distinguishes from sibling operations like duplicate_scene by focusing on new scene creation, though it could more explicitly state what 'scene' means in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as fire_scene, select_scene, or delete_scene. The description gives no context for appropriate usage or exclusions, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_clipA
Delete a clip from a clip slot.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It states 'Delete a clip' but does not warn that the operation is destructive or irreversible, nor does it describe the resulting state of the clip slot. This is a significant transparency gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using one sentence for the action and a simple parameter list. Every word earns its place, and the key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is too sparse. It does not explain whether the deletion is permanent, what happens to the slot, how errors (e.g., invalid indices) are handled, or what the response looks like on success. This leaves critical context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides integer types and titles, with 0% schema description coverage. The description adds one-line explanations for both track_index and clip_index, clarifying what each index refers to. However, it omits details like zero-based vs one-based indexing or allowed ranges.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Delete' and a clear resource 'a clip from a clip slot', immediately distinguishing it from sibling tools like delete_device or delete_track. It unambiguously states what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage whenever a clip needs to be removed from a clip slot, but does not explicitly mention alternatives or exclusions. There is no guidance on when to use this instead of stop_clip or clear_clip_automation, making usage context implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_deviceA
Delete a device from a track.
Parameters:
track_index: The index of the track containing the device
device_index: The index of the device to delete
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the action but does not warn that deletion is permanent or irreversible, nor does it describe any side effects on associated parameters or chains. This is a gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: one sentence describing the action and a two-item parameter list. Every part is essential and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter deletion tool with no output schema, the description covers the core purpose and parameter meanings. It lacks behavioral disclaimers (e.g., irreversibility) and any error conditions, but overall it gives enough context for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only provides titles for the two integer parameters. The description adds meaningful explanations: track_index is 'the index of the track containing the device' and device_index is 'the index of the device to delete'. This helps an agent understand what the indices refer to, though the indexing scheme (0-based vs 1-based) is not specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a device from a track' with a specific verb and resource. It distinguishes from sibling tools like move_device_left or toggle_device by focusing on deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by explaining the action and parameters, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., delete_track or clear_clip_automation). There is no mention of prerequisites or consequences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_locatorC
Delete a locator.
Parameters:
locator_index: Index of the locator to delete
| Name | Required | Description | Default |
|---|---|---|---|
| locator_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does not state whether deletion is permanent, whether locator index is zero-based, or what happens if the index is invalid or out of range. It discloses no side effects or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, but it spends space re-listing the parameter in a pseudo-formatted block. The core sentence 'Delete a locator.' is concise, while the parameter line is redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description is thin. It doesn't clarify what 'locator' refers to, whether deletion is undoable, or how the locator_index is used in the context of the session. More context is needed for an agent to invoke safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description repeats the parameter name and a basic definition ('Index of the locator to delete') that matches the schema's 'Locator Index'. Schema description coverage is 0%, so the description adds minimal value, but it does confirm the parameter's purpose. It lacks details like range, indexing origin, or how to obtain valid indices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a locator' with a specific verb and resource. It distinguishes from siblings like create_locator and get_locators, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing to fetch locator indices via get_locators, or any constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_return_trackA
Delete a return track.
Parameters:
index: The index of the return track to delete
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without mentioning irreversibility, potential impact on sends or routing, or whether it can be undone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the action stated first and parameter explanation following. Every sentence earns its place, and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter delete operation with no output schema, the description is largely complete. The only missing context is behavioral side effects, which lowers the score slightly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single 'index' parameter with no description. The tool description adds meaning by explaining it as 'The index of the return track to delete', though it does not specify whether the index is zero-based or one-based.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('a return track'), which is specific and distinguishes this tool from siblings like 'delete_track' and 'delete_device'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied by the name and description: it's for deleting return tracks. However, there is no explicit guidance on when to use this versus alternatives like 'delete_track' or 'create_return_track'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sceneC
Delete a scene.
Parameters:
scene_index: The index of the scene to delete
| Name | Required | Description | Default |
|---|---|---|---|
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states that a scene is deleted, but does not mention consequences such as whether clips in the scene are also removed, whether the operation is undoable, or what happens if the scene index is invalid. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with no wasted words. The two-sentence structure plus parameter list is easy to scan. However, it omits critical behavioral context, so while efficient, it sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool, the description reveals the action but lacks essential context for safe invocation. It does not explain side effects, error conditions, or prerequisites. Given the absence of an output schema and annotations, this description is inadequate for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It says 'scene_index: The index of the scene to delete,' which merely restates the schema's 'Scene Index' title and confirms it's an index, but adds no further semantics like zero-based vs one-based indexing or how to discover the correct index. Minimal value beyond structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Delete a scene.' This is a specific verb+resource combination that distinguishes it from sibling tools like delete_clip, delete_track, and delete_device. No ambiguity exists for the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like stop_scene, fire_scene, or select_scene. There are no exclusions, prerequisites, or context about scene deletion behavior. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_trackC
Delete a track.
Parameters:
track_index: The index of the track to delete
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It only states 'Delete a track' without mentioning irreversibility, side effects on clips/automation, or any confirmation mechanism. This is inadequate for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured, with a clear label for the parameter. No filler exists, and the format is scannable. However, it is under-specified, which slightly reduces the quality, but the conciseness itself is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is minimal. It lacks information about return values (none defined in an output schema), reversibility, error behavior, and how it fits with related tools. Given the absence of annotations and output schema, the description leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's parameter note ('The index of the track to delete') adds little beyond the schema's title 'Track Index'. It does not clarify whether the index is zero-based, which track list it references, or what happens for out-of-range values. With 0% schema description coverage, the description fails to adequately compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('a track'), which is unambiguous. It distinguishes from sibling tools like delete_device, delete_clip, and delete_scene by specifying track, though it does not explicitly differentiate normal tracks from return tracks (delete_return_track exists as a sibling).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what conditions should be met before deletion, or whether it applies to all track types (e.g., audio, MIDI, return). No alternatives or exclusions are mentioned, leaving the agent without context for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_warp_markerC
Delete a warp marker from an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
beat_time: The beat time position of the marker to delete
| Name | Required | Description | Default |
|---|---|---|---|
| beat_time | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic action and parameters, but does not mention side effects, error conditions, whether markers must exist, or reversibility. For a mutating operation, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a one-sentence purpose followed by a simple parameter list. It is efficient and front-loaded, though the parameter list duplicates what is already in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with three required parameters and no output schema, the description covers the essential information. However, it lacks usage context, edge cases, and any behavioral details, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions for parameters, so the description compensates by listing each parameter with a brief explanation (e.g., 'The index of the track'). These explanations add basic meaning beyond the schema, but they are minimal and do not provide details like value ranges or units.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and resource (warp marker from an audio clip), which is specific and unambiguous. It does not explicitly distinguish from sibling tools like add_warp_marker or get_warp_markers, but the verb sufficiently sets it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool or when to prefer alternatives. While it is implied that it is for removing warp markers, there is no explicit context, prerequisites, or comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_clipA
Duplicate a clip to the next empty slot.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the duplication action and destination, without explaining edge cases (e.g., no empty slot), side effects, or return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a one-sentence summary followed by a structured parameter list. Every sentence is useful and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter action, the description covers the core purpose and parameter meanings, but lacks details on edge cases like no empty slot or return behavior. Since there is no output schema or annotations, these gaps are notable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description includes a Parameters section that clarifies both track_index and clip_index, adding meaning beyond the bare schema. It does not specify how the next empty slot is determined, but the parameter meanings are clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Duplicate a clip') and specifies the destination ('to the next empty slot'), which distinguishes it from other clip operations and duplication tools like duplicate_track and duplicate_scene.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states the basic action without context for selection among similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_sceneC
Duplicate a scene.
Parameters:
scene_index: The index of the scene to duplicate
| Name | Required | Description | Default |
|---|---|---|---|
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It simply says 'Duplicate a scene' without explaining side effects (e.g., whether a new scene is created, whether the original is preserved, how the duplicate is named/positioned) or any error conditions. This is nearly devoid of behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loaded with the core action. The parameter explanation is also short. No unnecessary words are present, though the brevity comes at the cost of missing behavioral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should provide complete context on its own. It does not explain what happens after duplication, whether the operation succeeds silently, or what the agent should expect. Given the simple single-parameter signature, a bit more context (e.g., 'Creates a copy of the scene at scene_index') would make it viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for scene_index (0% coverage), so the description's line 'The index of the scene to duplicate' adds essential meaning by identifying what the parameter refers to. However, it does not specify indexing conventions (0-based vs 1-based) or how to obtain a valid index, leaving some gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Duplicate a scene' with the specific resource (a scene). It is distinguishable from sibling tools like create_scene, delete_scene, and fire_scene, and aligns with the duplicate_clip/duplicate_track pattern. However, it doesn't explicitly explain what duplication entails (e.g., creates a new scene), which would make it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. There is no mention of how it differs from create_scene or duplicate_track, nor when it should not be used. The only implicit usage is 'if you need to duplicate a scene,' which is not enough for an agent to choose correctly among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_trackB
Duplicate a track with all its clips and devices.
Parameters:
track_index: The index of the track to duplicate
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states that clips and devices are duplicated, but omits important behavioral details such as whether track routing, sends, or automation are also copied, where the duplicate is placed, and whether the action is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core operation, and uses a simple parameter list with no redundant filler. For a single-parameter tool, it is appropriately sized, though it could include more behavioral detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation with no annotations and no output schema, the description provides the essential meaning of the operation. However, it lacks important context such as where the duplicate appears, which track properties are preserved, and any limitations, making it only minimally complete for real-world use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no property descriptions, so the description must compensate. It only restates the parameter name ('The index of the track to duplicate') without adding indexing conventions, valid range, or whether the index refers to a pre- or post-duplication state. This adds little beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Duplicate') and resource ('a track'), and explicitly scopes the action to include 'all its clips and devices.' This clearly distinguishes it from sibling tools like duplicate_clip, which operates on clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as duplicate_clip or create_midi_track/create_audio_track. There is no mention of track types, session vs. arrangement context, or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fire_clipA
Start playing a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the action without contextual details such as whether it stops other clips, requires a running transport, or what happens on invalid indices. This is minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with the purpose, followed by a clear parameter list. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description covers the basics: what it does and what the indices mean. However, it lacks any mention of side effects, error conditions, or how it interacts with overall playback state. Given no output schema, some extra context would be warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameters are explained in the description ('The index of the track containing the clip' and 'The index of the clip slot containing the clip'), adding significant meaning beyond the schema's bare integer definitions. Both required parameters are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Start playing a clip.' This is a specific verb+resource combination that distinguishes it from siblings like stop_clip (which stops a clip) and start_playback (which likely starts general transport).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not mention conditions, prerequisites, or exclusions relative to siblings. The status quo is clear but unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fire_sceneA
Fire (trigger) a scene to play all clips in that row.
Parameters:
scene_index: The index of the scene to fire
| Name | Required | Description | Default |
|---|---|---|---|
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the primary behavioral effect (playing all clips in the row) but omits potential side effects, prerequisites, or behavior when a scene is already playing. With no annotations, the description carries the full burden, and while it conveys the core action, it lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences plus a parameter list. Every word is necessary, and the structure is clean and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is largely complete. It defines the action and parameter, though it could mention the relationship to selecting or stopping scenes for fuller context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions, and the description adds 'scene_index: The index of the scene to fire,' which explains the parameter's purpose. However, it does not clarify indexing base (0-based vs 1-based) or any bounds, so the added meaning is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fires (triggers) a scene to play all clips in that row. This distinguishes it from sibling tools like select_scene, stop_scene, and fire_clip by specifying the action and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as fire_clip or select_scene. The intended use is implied by the description but not stated as a recommendation or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flatten_trackA
Flatten a frozen track (convert freeze to permanent audio). The track must be frozen first.
Parameters:
track_index: The index of the track to flatten
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explains the core effect (converting freeze to permanent audio) but does not detail side effects like whether the original frozen state is destroyed, whether the action is reversible, or any permissions required. It adds some context beyond the name but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: one sentence defining the purpose, one sentence for the prerequisite, and a compact parameter list. Every word earns its place, with no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the purpose, prerequisite, and parameter sufficiently. It does not mention return values or failure modes, but those are not essential given the tool's simplicity and the absence of an output schema. It is slightly less complete than ideal because annotations are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists 'track_index: The index of the track to flatten', which provides the parameter's meaning. However, this is largely redundant with the schema's title 'Track Index' and adds only minimal clarity. The explanation is adequate for a single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Flatten a frozen track (convert freeze to permanent audio).' It distinguishes itself from sibling tools like freeze_track and unfold_track by specifying the outcome (converting freeze to permanent audio).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite ('The track must be frozen first'), which tells the agent when this tool is appropriate. It does not explicitly name alternatives or exclusions, but the context is clear enough for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
focus_viewB
Focus a specific view in Ableton.
Parameters:
view_name: The name of the view (Session, Arranger, Detail, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| view_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention side effects, return values, error handling, or any state changes beyond 'focus', leaving uncertainty about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single clear sentence followed by a compact parameter block. No words are wasted, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool, the description covers the basic purpose and parameter. However, without annotations or an output schema, it lacks behavioral context (e.g., whether it mutates state, what happens on invalid input). It is minimally viable but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides explicit parameter information with examples (Session, Arranger, Detail), which goes beyond the schema's bare string type. This helps clarify the expected values, despite the coverage being 0% in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Focus') and the resource ('view') within Ableton, making the tool's purpose obvious. It does not explicitly differentiate from sibling tools like get_current_view, but the verb 'focus' implies a distinct action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool or when alternatives might be preferred. The description only lists parameters without contextual cues about typical use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fold_trackA
Fold (collapse) a group track.
Parameters:
track_index: The index of the group track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action without revealing side effects, reversibility, what happens to the track contents, or any UI/audio impact. This is minimal and leaves the agent without important context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of one clear verb phrase and a short parameter explanation. Every word earns its place, and the structure is front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is adequate but could be more complete. It doesn't mention the inverse operation (unfold_track), potential errors (e.g., non-group track), or the effect on track content, which would be useful context for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly defines track_index as 'the index of the group track', adding semantic meaning beyond the bare schema title 'Track Index'. This compensates fully for the schema's lack of description (0% coverage).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Fold (collapse)', and a specific resource, 'a group track', which clearly states the tool's function. It implicitly distinguishes from the sibling tool 'unfold_track' by focusing on the collapsing action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used to collapse group tracks, and identifies the required input (track_index of a group track). However, it provides no explicit guidance on when to use this tool versus alternatives like 'unfold_track', nor does it mention any prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
freeze_trackB
Freeze a track (render all devices to audio for CPU optimization).
Parameters:
track_index: The index of the track to freeze
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the core action (rendering devices to audio) but does not mention whether freezing is reversible, what happens to device editing capabilities, or any side effects on the track. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no unnecessary content, placing the action and purpose upfront. It earns its place with clear, direct phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Though the tool has only one parameter and no output schema, its mutation semantics demand more context. The description omits reversibility, the relationship to flatten_track, and what the user should expect after freezing. This incompleteness could mislead an agent relying on it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description restates track_index simply as 'The index of the track to freeze', which adds little beyond the schema's property name. It fails to clarify zero-based indexing, valid ranges, or how to obtain the index. With 0% schema description coverage, more compensation is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'freeze' and identifies the resource 'track', explaining the effect 'render all devices to audio for CPU optimization'. This clearly distinguishes it from sibling tools like set_track_mute or toggle_device, and the parenthetical adds meaningful specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for CPU optimization' implies the intended use case, but there is no explicit comparison to alternatives such as flatten_track, nor any mention of when not to use this tool or prerequisites. The guidance remains essentially implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_basslineA
Generate a bassline pattern and add it to a clip.
Parameters:
track_index: The index of the track (should be a bass track)
clip_index: The index of the clip slot
root: Root note MIDI number (36 = C1, common bass range)
scale_type: Scale to use (minor, major, dorian, pentatonic_minor, blues)
length: Pattern length in beats
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | ||
| length | No | ||
| clip_index | Yes | ||
| scale_type | No | minor | |
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral transparency. It states that a bassline is 'added' to a clip, but does not disclose whether existing notes are overwritten, whether the clip must already exist, or any side effects. Given this is a mutating generative tool, this lack of detail is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with a clear purpose sentence, followed by a succinct parameter list. Every sentence adds value, and the structure makes it easy to scan for key arguments.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the input parameters well but omits behavioral outcomes (e.g., return value, clip content replacement) and does not mention output schema (none exists). Given the lack of annotations and output schema, more context about what happens after generation would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description fully compensates by explaining each parameter with meaningful context: root is a MIDI number with example, scale_type lists allowed values, length is in beats, and track_index should point to a bass track. This goes well beyond the bare schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Generate a bassline pattern and add it to a clip.' This clearly distinguishes it from the sibling tool 'generate_drum_pattern' by focusing on bassline creation rather than drums. The verb and resource are both explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for bassline generation but does not explicitly compare it to alternatives like generate_drum_pattern or state when not to use it. The parameter note that track_index 'should be a bass track' offers some contextual guidance, but there is no clear when-to-use vs. alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_drum_patternA
Generate a drum pattern and add it to a clip.
Parameters:
track_index: The index of the track (should be a drum track)
clip_index: The index of the clip slot
style: Pattern style (basic, house, hiphop, dnb, random)
length: Pattern length in beats
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | basic | |
| length | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It says 'add it to a clip' but does not clarify whether the generated pattern overwrites existing notes, appends to them, or how the 'random' style behaves. The drum-track constraint is useful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: one sentence for the action and a concise parameter list. Every line adds necessary information, and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose and all parameters, but given the absence of annotations and output schema, it lacks important behavioral details such as whether the generated pattern replaces existing clip content. Overall, it is adequate for a simple tool but leaves gaps for a complex generative operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% parameter description coverage, so the description compensates by explaining each parameter's meaning, including enum values for style and the unit for length. However, the style values (basic, house, etc.) are not further elaborated, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Generate a drum pattern and add it to a clip' with a specific verb and resource, clearly distinguishing it from sibling tools like generate_bassline or add_notes_to_clip. The main action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The note 'should be a drum track' gives a prerequisite, but there is no explicit guidance on when to use this tool versus alternatives such as generate_bassline or add_notes_to_clip. The intended context is implied by the tool's name rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_scenesB
Get information about all scenes in the session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only says 'Get information' without detailing return format, scope (session vs project), or whether it's read-only. The agent knows little about side effects or data shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It effectively conveys the core function without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-param getter, the description is minimally sufficient. However, without an output schema, it's unclear what 'information' will be returned (names, colors, clip statuses). Sibling tools like get_scene_color suggest specific properties, so a slightly richer description would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to clarify. The baseline for zero-param tools is 4, and the description adds no unnecessary param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get) and resource (all scenes), and with the tool name it's unambiguous. It distinguishes from siblings like get_scene_color or select_scene, but could be more specific about what 'information' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: when you need all scenes' info. No explicit alternatives or when-not-to-use guidance, but the purpose is straightforward enough that agents can infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_arrangement_clip_notesA
Read the MIDI notes of a clip on a track's Arrangement timeline.
get_clip_notes addresses Session clip slots, so it cannot see notes that live on the timeline and reports "No clip in slot" instead. Use this for Arrangement clips, with the clip_index reported by get_arrangement_clips.
Returns probability and velocity_deviation per note where Live exposes them (has_probability tells you whether it could).
A looped clip stores one copy of its notes and repeats them, so a 16-beat loop stretched across 1147 beats returns 16 beats of notes. Compare loop_start/loop_end against start_time/end_time to see the repetition.
Parameters:
track_index: The index of the track
clip_index: Index of the clip on the timeline, from get_arrangement_clips
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it excels. It discloses the return of probability and velocity_deviation where available, and reveals a significant quirk: looped clips return only one copy of notes, not the repeated playback length. It also advises comparing loop_start/loop_end to start_time/end_time, providing behavioral context beyond a simple read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear paragraphs, first stating the core purpose, then usage context, return details, and a looped-clip caveat. Every sentence earns its place and provides non-obvious information. The parameter list is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains important return details (probability, velocity_deviation, has_probability) and the looped-clip behavior that could confuse users. It is complete for a read tool with no annotation support, addressing the key complexities of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It provides brief definitions for both parameters. The track_index definition is tautological, but clip_index gains valuable meaning by specifying it comes from get_arrangement_clips, which helps the agent source the correct index. This is more than the schema offers, though not extremely detailed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Read the MIDI notes of a clip on a track's Arrangement timeline,' which is a specific verb+resource statement. It further distinguishes itself from get_clip_notes, which targets Session clip slots, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance: 'Use this for Arrangement clips, with the clip_index reported by get_arrangement_clips.' It also clarifies when NOT to use it (get_clip_notes is for Session slots) and explains the limitation of get_clip_notes. This fully covers when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_arrangement_clipsA
Read the clips on a track's Arrangement timeline (name, position, length, MIDI/audio, muted).
Parameters:
track_index: The index of the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full transparency burden. It correctly implies a read-only operation via the verb 'Read' and lists returned fields. However, it omits potential behavioral details such as zero-based indexing, handling of invalid track indices, ordering of clips, or units for position/length. This is adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one functional sentence plus a parameter list. It is front-loaded with the primary action and resource, and every word contributes meaning. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description provides essential context: what data will be returned (name, position, length, MIDI/audio, muted) and the required argument. It lacks minor details (units, indexing base) but is reasonably complete for typical use cases given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It includes 'track_index: The index of the track', but this only repeats the parameter name and adds no new insight (e.g., zero-based vs one-based, how to obtain the index). It adds minimal semantics beyond the schema, which already shows the type and requirement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and resource ('clips on a track's Arrangement timeline'), and lists the exact data fields returned (name, position, length, MIDI/audio, muted). This clearly distinguishes it from sibling tools that operate on individual clips or session clips, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you need to retrieve clip metadata from a track's arrangement timeline. It provides context but does not explicitly mention alternatives or exclusions (e.g., for reading notes use get_arrangement_clip_notes, for session clips use other tools). However, given the focused phrasing, the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_arrangement_lengthA
Get the length and loop settings of the arrangement.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. The word 'Get' implies a read-only operation with no side effects, which is a useful behavioral signal. However, the description does not clarify the exact format of the returned data (e.g., units of length, whether loop start/end are returned, or if loop is a boolean). Given the absence of an output schema, more detail would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence: 'Get the length and loop settings of the arrangement.' Every word earns its place, and there is no redundant information. It is concise without sacrificing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but it lacks an output schema and annotations. The description does not specify the structure or units of the returned length and loop settings, which an AI agent would need to interpret the result correctly. A more complete description would mention that the length is in beats or bars, and that loop settings include enabled/start/end/length properties.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete (100% coverage). There is nothing for the description to add about parameters. The description correctly focuses on the return value rather than parameter semantics. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb 'Get' and the specific resource 'arrangement' along with the precise information returned ('length and loop settings'). This distinguishes it from sibling tools like set_arrangement_loop (which writes loop settings) and get_arrangement_clips (which returns clips, not length/loop).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's intended use is implied by its name and description: an agent would use this when it needs the arrangement's length or loop settings. However, there is no explicit guidance about when to prefer this over alternatives, nor any exclusions or prerequisites. Some context is implied but not clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_available_inputsC
Get available input routing options for a track.
Parameters:
track_index: The index of the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Get available input routing options,' which implies a read operation but does not state that it has no side effects, what the return value looks like, whether the track must exist, or how invalid indexes are handled. Missing essential behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and free of fluff, making it easy to scan. The parameter list is redundant with the schema but does not add unnecessary verbosity. It is concise, though the structure could be improved by removing the redundant parameter repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool, the description is still incomplete. It does not describe the format of the return value (e.g., list of string names, objects), whether it returns all available options or only some, or how errors are communicated. With no output schema and no annotations, the agent is left guessing about critical details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter description 'The index of the track' adds a small amount of meaning beyond the schema, which only specifies an integer named 'track_index'. However, it does not explain whether the index is zero-based or one-based, how it maps to a track, or any constraints. With 0% schema description coverage, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Get available input routing options for a track.' It specifies the resource (input routing options) and the scope (a track), which conveys the core purpose. The name also aligns with sibling tools like 'get_available_outputs' and 'get_track_input_routing', though the description does not explicitly differentiate from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention that it returns options for routing input, nor does it contrast with related tools like 'set_track_input_routing' or 'get_track_input_routing'. The context is minimal and relies entirely on the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_available_outputsC
Get available output routing options for a track.
Parameters:
track_index: The index of the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It only says 'Get', implying read-only, but does not mention error handling, valid track index range, or what the returned output options contain. No additional behavioral context is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the purpose, followed by a simple parameter list. There is no verbose filler, making it efficiently structured for its minimal content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter getter, the description is minimally adequate, but it lacks context about what the output options look like, how to interpret the return value, or any manual references. Given no output schema or annotations, the description leaves notable gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description repeats the schema's parameter name with a phrase 'The index of the track' that adds little beyond the schema's type and title. It does not clarify zero-based indexing, valid ranges, or track type filters. With 0% schema description coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('available output routing options') with a scope ('for a track'). It distinguishes from siblings like get_track_output_routing by emphasizing 'available' options, though it could be more explicit about it being a list of choices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_track_output_routing or set_track_output_routing. It lacks context about typical use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_browser_items_at_pathA
Get browser items at a specific path in Ableton's browser.
Parameters:
path: Path in the format "category/folder/subfolder" where category is one of the available browser categories in Ableton
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' items, implying read-only, but does not describe potential error behavior, return format, or any side effects. Given the lack of annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: one clear sentence plus a short parameter explanation. Every word earns its place, and the front-loaded purpose makes it immediately clear what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description is mostly adequate. It explains the path format, which is the key input. However, it lacks information about return structure, error handling, and how it relates to sibling tools, leaving some context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines `path` as a string with no description. The description compensates by specifying the required format 'category/folder/subfolder' and clarifying that `category` must be one of Ableton's browser categories. This adds meaningful meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get browser items at a specific path in Ableton's browser.' The verb 'Get' is specific, the resource is the browser, and the scope is a specific path. This distinguishes it from the sibling tool `get_browser_tree`, which retrieves the entire tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance is provided. The description does not say when to use this tool versus alternatives like `get_browser_tree`, nor does it mention any prerequisites or edge cases. The path format is explained, but the 'when' is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_browser_treeA
Get a hierarchical tree of browser categories from Ableton.
Parameters:
category_type: Type of categories to get ('all', 'instruments', 'sounds', 'drums', 'audio_effects', 'midi_effects')
| Name | Required | Description | Default |
|---|---|---|---|
| category_type | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only states what it returns (a hierarchical tree) but does not disclose whether it is read-only, any permissions needed, or how the tree is structured. It adds no behavioral details beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and includes a clean parameter listing. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter getter, the description covers the purpose and parameter values. It does not mention the default 'all' or what the tree nodes look like, but given the simplicity, it is mostly complete. However, it could state that it is a read-only operation or return format, which would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly lists the category_type parameter, explains its meaning ('Type of categories to get'), and enumerates allowed values ('all', 'instruments', etc.). This significantly adds to the schema, which only has the property name and default with no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets a hierarchical tree of browser categories from Ableton, using specific verb 'get' and resource. It does not explicitly contrast with the sibling get_browser_items_at_path, but the 'hierarchical tree' phrasing implies a structural overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternatives, such as get_browser_items_at_path, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chain_device_parametersA
Get parameters of a device nested inside a rack chain, for example one drum pad's synth.
Plain get_device_parameters on a rack only returns the rack's own macros, which are usually unassigned. Use get_rack_chains first to find the chain index, then this to reach the device inside it.
Parameters:
track_index: The index of the track
device_index: The index of the rack on the track
chain_index: The index of the chain inside the rack
chain_device_index: The index of the device inside that chain
| Name | Required | Description | Default |
|---|---|---|---|
| chain_index | Yes | ||
| track_index | Yes | ||
| device_index | Yes | ||
| chain_device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that plain get_device_parameters returns only the rack's macros (usually unassigned), providing context on the tool's behavioral advantage. However, it does not describe return format or error handling, which slightly limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a clear purpose statement, an illustrative example, a contrast with a sibling tool, and a parameter list. Every sentence contributes necessary information without redundancy, making it appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description provides sufficient context for an agent to select and invoke the tool correctly. It explains the workflow (get_rack_chains first) and all parameters. Minor gap: it doesn't specify the return value structure, but for a getter this is partially implied by the name and parameter descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description includes a dedicated Parameters section that explains each of the four indices (track, device, chain, chain_device) with meaningful context. This fully compensates for the lack of schema descriptions and adds value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets parameters of a nested device inside a rack chain, using a specific verb and resource. It explicitly distinguishes itself from the sibling get_device_parameters by explaining the limitation of the plain version, leaving no ambiguity about its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use get_rack_chains first to find the chain index, then this tool. It also contrasts with get_device_parameters, explaining why the alternative is insufficient for nested devices. This gives clear when-to-use and when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_automationC
Get automation data for a clip parameter.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
parameter_name: Name of the parameter to get automation for
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes | ||
| parameter_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only operation but does not disclose the return format, error behavior, or any side effects. For a getter, this is a notable gap; the agent cannot anticipate what 'automation data' looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured with a clear opening statement and parameter list. No unnecessary words, though the parameter explanations add minimal value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is incomplete: it does not describe the shape of the returned automation data, how to handle missing parameters, or any conditionality. For a getter, this is a significant omission for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter descriptions are nearly tautological, restating the parameter names ('index of the track', etc.). With 0% schema coverage, the description fails to provide meaningful details about valid parameter names, data types beyond what schema shows, or how to identify a parameter. No examples or constraints are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function as retrieving automation data for a clip parameter, using the verb 'get' and specifying the resource. It differentiates from sibling tools like set_clip_automation and clear_clip_automation by indicating a read operation, though it doesn't elaborate on the data returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, such as whether the clip must exist or if the parameter must have automation, nor does it contrast with set_clip_automation or clear_clip_automation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_colorA
Get the color of a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'Get the color of a clip,' which implies a read operation, but it does not specify the return format, error behavior, or any side effects. This leaves significant gaps for an agent to predict the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with a single-purpose sentence followed by clear parameter explanations. Every word earns its place, and it is well-structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the tool returns (e.g., color format). It does not. Additionally, it omits any edge-case behavior or prerequisites. For a simple getter, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explaining each parameter: track_index is 'the index of the track containing the clip' and clip_index is 'the index of the clip slot.' This adds meaning beyond the bare integer type in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Get the color of a clip.' This distinguishes it from related tools like set_clip_color and get_clip_gain, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance is provided, but the purpose implies when to use it: whenever you need to retrieve a clip's color. There are no alternatives mentioned or exclusions given, so it relies on the name and simple description to convey applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_gainB
Get the gain of an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states only that the gain is retrieved, but does not disclose the return format (e.g., dB float), indexing convention, or behavior on invalid indices. Minimal behavioral insight beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise, front-loaded with the core purpose, and includes a clean parameter list. Every sentence contributes without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with two self-descriptive parameters and no output schema, the description provides the essential operation but leaves key gaps: return value semantics and error handling. It is minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists both parameters with brief explanations ('track index', 'clip slot'), but these largely restate the parameter names. No mention of zero-based indexing, ranges, or value types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the operation: 'Get the gain of an audio clip.' It uses a specific verb and resource, and is distinguishable from siblings like set_clip_gain and other clip getters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives. It neither mentions the corresponding setter (set_clip_gain) nor any other context for selection. Usage is only implied by the verb 'get'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_loopC
Get the loop settings of a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only says 'get' which implies a read-only operation, but it does not describe side effects, error behavior, or what happens with invalid indices. Even for a simple getter, this is a transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and direct, consisting of one opening sentence and a bulleted parameter list. No unnecessary fluff, though the parameter list duplicates schema property names. It is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a getter with no output schema, the description should clarify what 'loop settings' includes (e.g., loop start, end, enabled state) and possibly return format. Without this, an agent cannot fully predict the tool's output. The description covers only the basic action and parameters, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates by adding minimal but useful semantics: 'The index of the track containing the clip' and 'The index of the clip slot' go beyond the schema's bare labels. However, it does not explain zero-based indexing, bounds, or edge cases, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Get the loop settings of a clip') which clearly conveys the tool's purpose. It does not explicitly distinguish from sibling tools like set_clip_loop, but the getter/setter opposition is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any mention of exclusions or prerequisites. The description simply states what the tool does without contextualizing when it should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_notesB
Get all MIDI notes from a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only says 'Get all MIDI notes from a clip' without mentioning that it is a read-only operation, what the return format is, or how errors are handled. This is minimal transparency for a tool with no annotation context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and efficient. It includes one line describing the tool and two lines for parameter descriptions, with no filler or redundant content. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with two well-described parameters, the description is mostly adequate. However, there is no output schema, so the description should ideally outline what the returned MIDI notes look like. Additionally, it lacks any usage context or relationship to sibling tools, leaving the agent with only a minimal understanding of the tool's full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only parameter names and types, with 0% coverage of descriptions. The tool description compensates by explaining each parameter: 'track_index: The index of the track containing the clip' and 'clip_index: The index of the clip slot containing the clip.' This adds meaningful context that the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get all MIDI notes from a clip.' It uses a specific verb ('get') and resource ('MIDI notes from a clip'). However, it does not distinguish between session clip notes and arrangement clip notes, which is relevant given the sibling tool get_arrangement_clip_notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states what it does and lists parameters, without mentioning any exclusions or preferred contexts. For example, it doesn't clarify that this tool is for session clips while get_arrangement_clip_notes is for arrangement clips.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_pitchB
Get the pitch shift of an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention return value units, side effects, or error conditions. The statement 'Get the pitch shift' is minimal and leaves the agent uncertain about the nature of the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a clear one-sentence purpose followed by a simple parameter list. No unnecessary words or redundant details, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with two parameters, the description covers the action and parameter names but omits expected return format (e.g., semitones as a float) and any potential errors. While the tool is straightforward, the lack of an output schema means the description should have specified the return value to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds only tautological phrases like 'The index of the track' and 'The index of the clip slot,' which barely extend the parameter names. It does not clarify zero-based indexing, valid ranges, or how the parameters relate, providing insufficient compensation for the schema's 0% description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get the pitch shift of an audio clip.' It uses a specific verb and resource, and the name 'get_clip_pitch' aligns perfectly. This distinguishes it from sibling tools like set_clip_pitch or get_clip_gain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as set_clip_pitch. The description only states what it does without any context on selection, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_warp_infoC
Get warp information for an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action ('Get warp information') and does not describe expected output format, potential errors, side effects, or return value. For a 'get' tool, this is a notable gap, especially since the tool's scope ('warp information') is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It leads with the purpose in a single sentence, followed by a clean bullet list of parameters. There is no fluff or redundancy, and every sentence serves a function. It is appropriately sized for a straightforward getter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, the absence of an output schema, and the existence of a very similar sibling tool (get_warp_markers), this description is incomplete. It does not specify what 'warp information' includes (e.g., warp mode, markers, tempo), how the response is structured, or how this tool differs from get_warp_markers. The description is adequate only as a minimal identification of the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no property descriptions (0% coverage), so the description must compensate. It lists both parameters and gives brief definitions: 'The index of the track' and 'The index of the clip slot.' This adds some meaning but does not clarify important details like zero-based indexing or how these indices are counted. The descriptions are minimally more informative than the parameter names themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get warp information for an audio clip.' It uses a specific verb (Get) and resource (warp information) and is easy to understand. However, it does not explicitly distinguish itself from the sibling tool get_warp_markers, which likely retrieves warp marker data specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it complements get_warp_markers or set_clip_warp_mode, nor does it explain any prerequisites or typical use cases. There is no when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cpu_loadA
Get the current CPU load of Ableton.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The verb 'Get' implies a non-destructive read, but the description does not disclose any additional behavioral traits such as return format, whether it requires the audio engine to be running, or whether it returns a snapshot. It is minimally sufficient but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that immediately states the tool's purpose. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is extremely simple, but since there is no output schema, the description could have specified the unit or type of the CPU load (e.g., percentage, float). It covers the core purpose but omits return-value details, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the description adds no parameter information because none is needed. Baseline for zero-parameter tools is 4, and there is no gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies the exact resource ('current CPU load of Ableton'). It is unambiguous and clearly distinguishes itself from all sibling tools, none of which relate to CPU monitoring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions. For a trivial read operation, the usage is implied (any time CPU load is needed), but no explicit guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_viewB
Get information about the current view state (selected track, scene, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. 'Get' implies a read-only operation, but it does not explicitly state that it has no side effects, nor does it disclose any edge cases or behavioral details. The description is minimal and leaves room for ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the main action. It contains no redundant or irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is adequate but somewhat vague. It gives examples of what the view state includes, but the 'etc.' leaves the exact return fields undefined. Since there is no output schema to fill this gap, more specificity would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds value by clarifying that 'current view state' refers to selected track, scene, etc., which helps an agent understand what information is being retrieved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets information about the current view state, with examples like selected track and scene. This verb-resource pairing distinguishes it from other getters such as get_session_info or get_playback_position.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description simply states what it does without any contextual hints about when it is appropriate or how it differs from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_device_by_nameC
Find a device by name and get its parameters.
Parameters:
track_index: The index of the track
device_name: The name of the device to find
| Name | Required | Description | Default |
|---|---|---|---|
| device_name | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the basic function. It doesn't describe behavior on not finding a device, whether it searches within the specified track, the return format, or potential side effects. This is a significant gap for a lookup tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one sentence and a parameter list. It is front-loaded with the main action and doesn't contain filler. However, the extreme brevity leaves out necessary context, so it's concise but not optimally structured for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool, the description is thin. It lacks an output schema, annotations, and detailed parameter semantics. It doesn't mention return values, error cases, or how it compares to the many sibling device-related tools. The tool is not adequately contextualized, making it hard to know when and how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does list parameters with brief meanings ('track_index: The index of the track' and 'device_name: The name of the device to find'), but these add only marginal value over the schema titles. It doesn't clarify specifics like zero-indexing or match behavior, so the compensation is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Find a device by name and get its parameters.' This specifies the verb and resource, and the 'by name' qualifier differentiates it from sibling tools like get_device_parameters that likely use an index. However, it doesn't explicitly contrast with alternatives, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_device_parameters or get_chain_device_parameters. The description doesn't mention prerequisites, exclusions, or scenarios where a different tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_device_parametersA
Get all parameters from a device on a track.
Parameters:
track_index: The index of the track containing the device
device_index: The index of the device on the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It merely rephrases the tool name without revealing details about return format, error handling, or whether parameters are zero-based. No additional context is given beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence followed by a clean parameter list. It is front-loaded with the main action and every sentence serves a purpose, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with only two parameters, there is no output schema and the description does not mention the format of the returned parameters or potential edge cases. This leaves some ambiguity, but the core usage is clear enough for a basic getter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantics for both parameters by explaining track_index and device_index as indices of the containing track and device, respectively. This compensates for the 0% schema description coverage, though it could be more explicit about zero-based indexing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get all parameters from a device on a track' with a specific verb and resource. It distinguishes itself from sibling tools like set_device_parameter and get_master_device_parameters by specifying the general device-on-track scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus similar alternatives such as get_chain_device_parameters, get_master_device_parameters, or get_return_device_parameters. It only states what it does, leaving the selection decision entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_groove_poolA
Get available grooves from the groove pool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. While 'Get' implies a non-destructive read, the description does not clarify what 'available grooves' means, whether it lists presets from a pool, or any potential side effects. This is minimal disclosure beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no superfluous words. It is appropriately front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless getter, the description is adequate but not complete. It lacks any mention of return format or what defines a 'groove.' Given the absence of an output schema, a bit more detail would help an agent know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is complete with no room for ambiguity. The description needs no parameter information, and the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with a clear resource 'available grooves from the groove pool.' It clearly distinguishes from sibling tools like apply_groove and commit_groove by indicating a read operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: the tool retrieves available grooves for potential use with groove-related actions. However, it does not explicitly state when to use this versus alternatives, nor does it mention any prerequisites or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_locatorsA
Get all locators/cue points in the arrangement.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It implies a read-only operation via 'Get' and scopes to the arrangement, but does not disclose output format or error behavior. For a simple getter, this is minimally sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence with no filler or repetition, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter, the description sufficiently explains the tool's function. It lacks return format details, but that is less critical without an output schema and given the simplicity of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and the description adds no parameter information. With 0 parameters, the baseline is 4, which is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Get') and resource ('all locators/cue points in the arrangement'), distinguishing this from sibling tools like create_locator or delete_locator which are mutation operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving locators, and the scope ('in the arrangement') provides context. However, it does not explicitly state when to use this over alternatives or provide any exclusions, so it is minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_master_device_parametersA
Get parameters of a device on the Master track (e.g. a mastering compressor).
The Master track holds effects like the rest, and the Live API reaches them fine; they just need this dedicated command.
Parameters:
device_index: The index of the device on the Master track
| Name | Required | Description | Default |
|---|---|---|---|
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It only states 'Get parameters' (implicitly read-only) but does not mention return format, side effects, error conditions, or any constraints. The extra Master track context adds little about behavior beyond the obvious getter semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary action. The parameter listing is clear and structured. The sentence about the Live API is slightly redundant but adds useful context for why the dedicated command exists, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter getter, the description covers the tool's purpose, target track, and parameter meaning. It omits return value details, but given the tool's simplicity and the absence of an output schema, the provided information is largely sufficient. Minor gap: no description of the returned parameter structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the bare field name and type, so the description's 'Parameters' section adds crucial meaning by defining device_index as 'The index of the device on the Master track'. While it doesn't add range or formatting details, it fully explains the semantic role of the parameter, compensating for zero schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get parameters of a device on the Master track' with a concrete example (mastering compressor), making the tool's function immediately obvious. It distinguishes itself from sibling tools like get_device_parameters by focusing exclusively on the Master track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the dedicated nature of the command ('the Live API reaches them fine; they just need this dedicated command'), implying it should be used for Master track devices rather than the generic device retrieval tool. However, it does not explicitly list when not to use it or name alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_master_infoA
Get information about the master track including volume, pan, and devices.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral burden. It states the tool returns information about the master track, which implies a read-only operation, but it does not disclose details about the return format, potential errors, or any side effects. The mention of 'volume, pan, and devices' adds some scope but not deep behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that front-loads the action and resource. It contains no filler or redundancy, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description adequately conveys the core functionality. It identifies the target (master track) and key data points (volume, pan, devices). However, it could be slightly clearer about whether 'devices' refers to device names, parameters, or the chain, but this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially 100%. Per the rubric, 0 parameters yields a baseline of 4; the description does not need to explain parameters because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get information about the master track including volume, pan, and devices.' It uses a specific verb + resource and enumerates the fields, distinguishing it from sibling tools like get_track_info or get_return_track_info which target other track types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving master track settings but does not explicitly discuss when to use this tool versus alternatives. It gives context (master track info) but no exclusions or alternative recommendations, so it falls under 'implied usage' rather than clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metronome_stateA
Get the current metronome state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for disclosing behavioral traits. 'Get' implies a read-only operation, but it does not explicitly state that there are no side effects, nor what the returned state represents. For a simple getter, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence: 'Get the current metronome state.' It is front-loaded with the action and resource, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema, but the description leaves the meaning of 'metronome state' somewhat ambiguous—could mean on/off, tempo, or other settings. An agent might benefit from knowing the expected return format or that this returns a boolean indicating whether the metronome is enabled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter meanings, as there are none, and the schema confirms no inputs are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies the resource ('current metronome state'), clearly distinguishing it from the sibling 'set_metronome' which performs the write operation. The purpose is immediately obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (use when you need to read the metronome state) but provides no explicit guidance on when to use it versus alternatives. It does not mention the sibling 'set_metronome' or offer any exclusions, so usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_playback_positionA
Get the current playback position and transport state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the read action but does not explicitly confirm it is non-destructive or describe the return format/edge cases. The behavior is simple, but the description is minimal and leaves some ambiguity about 'transport state'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the verb and object. Every word earns its place; there is no redundancy or filler. It is optimally sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no params or output schema, so the description is the only source of information. It conveys the main purpose but omits details about the structure of the return value (e.g., units of position, fields of transport state). This is a minor gap for an agent that needs to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to explain. The description adds no parameter-related value, but the baseline is 4 for parameter-free tools, and the tool's simplicity means no additional clarification is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Get') and specifies the resource ('current playback position and transport state'). It is distinct from sibling tools like start_playback and stop_playback, which are actions rather than getters. The purpose is immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of related getters like get_session_info or any situation-specific advice. The description simply states what it does without situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rack_chainsC
Get chains from an instrument or effect rack.
Parameters:
track_index: The index of the track
device_index: The index of the rack device
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It simply says 'get chains' without disclosing the return format, whether it's a read-only operation, prerequisites (e.g., the device must be a rack), or error conditions. The behavior beyond the basic verb is opaque, leaving the agent to guess what happens if the device is not a rack or what the chains structure looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with a clear verb phrase. The parameter list adds bulk but is redundant with the schema; still, the overall size is appropriate. It earns a 4 rather than 5 due to the unnecessary repetition of the parameter names and titles.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description must explain what 'chains' means and what the agent receives after the call. It provides none of that. The complexity is moderate but the missing return value information and lack of context about rack devices make it incomplete for an agent to chain this into subsequent operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter descriptions are essentially tautological: 'track_index: The index of the track' and 'device_index: The index of the rack device'. They add almost no meaning beyond the property names and titles. The description does not clarify whether indices are zero-based or one-based, or how to identify a valid rack device. With 0% schema description coverage, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get chains') and the resource ('instrument or effect rack'). It distinguishes from siblings like select_rack_chain (which is about selection) and get_chain_device_parameters (about parameters), though it doesn't explicitly mention alternatives. A stronger description could say 'returns the list of chains' to fully clarify the return value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as select_rack_chain or get_chain_device_parameters. The description only states what it does without context for selecting it or exclusion criteria. For instance, it doesn't say 'use this to inspect the rack structure before selecting a chain' or similar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_return_device_parametersA
Get parameters of a device on a return track (e.g. a reverb on Return A).
Parameters:
return_index: The index of the return track (0 = A, 1 = B, ...)
device_index: The index of the device on that return track
| Name | Required | Description | Default |
|---|---|---|---|
| device_index | Yes | ||
| return_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It only states 'Get parameters' without disclosing side effects, return value structure, or error handling. For a getter, read-only behavior is implied but not stated; no additional behavioral traits are revealed beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for purpose, one for example, and a compact parameter list. Every element is functional and front-loaded, with no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description covers the essential purpose and parameters. However, with no output schema and no annotations, it leaves the return value format unstated. This is adequate for a simple getter but lacks the completeness seen in more richly described tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains both parameters beyond the schema, defining return_index (0=A, 1=B...) and device_index. This adds meaning to the bare integer types, though the parameters are simple and the explanations are concise. It covers all parameters, compensating for the schema's lack of description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get parameters of a device on a return track' with a concrete example. This specific verb+resource combination distinguishes it from sibling tools like get_device_parameters, get_master_device_parameters, and get_chain_device_parameters, targeting exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: use this tool for devices on return tracks. It does not explicitly contrast with alternatives, but given the naming convention and parameter details, the intended usage is obvious. It lacks exclusions or explicit guidance on when to use other getter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_return_track_infoC
Get detailed information about a return track.
Parameters:
return_index: The index of the return track
| Name | Required | Description | Default |
|---|---|---|---|
| return_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only says 'get detailed information' without specifying what information is included, how errors are handled, or whether it is read-only. This is minimal beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose, but it is under-specified rather than concise. The parameter list adds little value and the overall content is too sparse to be considered well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a single parameter, the description still does not explain what 'detailed information' entails, what the return value looks like, or any edge cases. An agent cannot fully anticipate the tool's behavior from this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter section merely restates 'return_index' and its obvious meaning, providing no additional context over the schema. The schema already defines the type and title, so the description adds zero semantic value to the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets detailed information about a return track, which is a specific verb+resource combination. However, it does not explicitly distinguish itself from sibling tools like get_return_tracks or get_track_info, so it misses the differentiation criterion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, typical use cases, or that get_return_tracks might be used to list tracks first. The agent is left to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_return_tracksA
Get information about all return (aux) tracks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The phrase 'Get information' implies a read-only operation, but it does not disclose return format, potential emptiness, or any side effects. It is minimally transparent but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant information. It perfectly satisfies conciseness and front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool, the description provides the essential purpose and scope. However, it does not describe what specific information is returned (e.g., names, device lists), which could be useful given the absence of an output schema. Still, it is sufficiently complete for a simple listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is trivially 100%. The description correctly adds no parameter details, and the baseline for zero-parameter tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get information') and the resource ('all return (aux) tracks'), with a specific scope indicator ('all'). This distinguishes it from sibling tools like get_return_track_info, which presumably targets a single return track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: the description names the exact resource and scope. However, it does not explicitly mention when to prefer this over get_return_track_info or other track-related tools, nor does it state any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scale_notesA
Get the notes in a musical scale.
Parameters:
root: MIDI note number for the root (0-127, where 60 = middle C)
scale_type: Type of scale (major, minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic_minor, melodic_minor, pentatonic_major, pentatonic_minor, blues, chromatic)
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | ||
| scale_type | No | major |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavior. It states the tool retrieves scale notes but does not specify the return format (e.g., MIDI note numbers vs note names), possible ranges, or whether it operates on the session scale or an arbitrary one. This lack of detail is a significant gap for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct and front-loaded, immediately stating the purpose followed by a clear parameter list. Every sentence has value, and the format is easy to scan with no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description covers purpose and parameters adequately. However, it omits the return value format, which is critical since no output schema exists. This prevents the agent from predicting the tool's output structure, so the description is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides detailed parameter semantics beyond the schema: it explains root as 'MIDI note number for the root (0-127, where 60 = middle C)' and lists all valid scale_type values. This fully compensates for the schema's 0% description coverage, adding essential meaning not present in the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the function: 'Get the notes in a musical scale.' This is a specific verb+resource that distinguishes it from siblings like get_song_scale_names (which returns scale names) and set_song_scale (which sets the scale).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, nor any prerequisites or exclusions. The description simply states what it does without contextualizing when it would be the appropriate choice, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scene_colorC
Get the color of a scene.
Parameters:
scene_index: The index of the scene
| Name | Required | Description | Default |
|---|---|---|---|
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral transparency. It does not disclose the return format (e.g., RGB tuple, hex string), behavior for invalid scene_index, or potential errors, leaving the agent without critical operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose. However, the parameter section is redundant with the schema and adds no value, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although this is a simple tool, the absence of an output schema and any description of return value or error behavior leaves a significant gap. An agent cannot know what to expect from the call, making the description incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description's parameter section ('The index of the scene') merely restates the parameter name without adding semantic meaning. It doesn't explain indexing convention (e.g., zero-based), valid range, or relationship to scene list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's function with a specific verb ('Get') and resource ('color of a scene'), clearly distinguishing it from sibling tools that operate on clips or tracks. However, it doesn't elaborate on what a 'scene' is or how color is represented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided. The description doesn't indicate when to prefer this tool over related tools like get_all_scenes or set_scene_color, nor mention any prerequisites or alternative approaches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_send_levelA
Get the send level from a track to a return track.
Parameters:
track_index: The index of the source track
send_index: The index of the send (0=A, 1=B, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| send_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention whether the operation is read-only (though 'get' implies it), what units the returned level is in, or what happens with invalid indices. This leaves the agent with incomplete expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, with a single purpose sentence followed by parameter definitions. Every word earns its place, and there is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two parameters, but the absence of an output schema means the description should clarify what the agent can expect as a return value (e.g., level in dB). Without this, the description is functional but leaves a key gap in understanding the tool's result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly defines each parameter beyond the schema: track_index is 'the index of the source track' and send_index is 'the index of the send (0=A, 1=B, etc.)'. This adds crucial meaning that the bare schema lacks, effectively compensating for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get the send level from a track to a return track.' It uses a specific verb (Get) and resource (send level from a track to a return track), and it distinguishes itself from the sibling set_send_level and other track-related getters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, such as set_send_level or get_return_tracks. The description simply states what it does without context on typical use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_session_infoB
Get detailed information about the current Ableton session
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose behavioral traits. It only restates the tool's name with slightly more words and does not mention that the operation is read-only, what information is returned, or any potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the primary verb and resource. It contains no redundant phrasing or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity (no parameters, no output schema), the description fails to specify what 'detailed information' includes or how it relates to other getter tools. The agent is left without a clear picture of the return value or the scope of 'session info'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, which gives a baseline score of 4. The description neither contradicts the schema nor needs to explain parameter meanings since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'get' and identifies the resource as 'detailed information about the current Ableton session', clearly distinguishing it from sibling tools like set_tempo or fire_clip. It is unambiguous about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as get_track_info or get_mixer. There is no mention of appropriate contexts, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_session_pathA
Get the file path of the current session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly indicates a read operation with no side effects, but it does not disclose potential return values, edge cases, or error behavior. This is a minor gap for such a simple getter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that immediately states the tool's purpose. It is perfectly concise with no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter with no output schema, the description is sufficient to convey the tool's behavior. It is complete in its simplicity and leaves no ambiguity about what the tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to elaborate on parameter semantics. A baseline of 4 is appropriate, as there is nothing to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and names a precise resource ('file path of the current session'), which clearly distinguishes it from sibling getters like 'get_session_info'. It unambiguously states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides no explicit guidance on when to use this tool versus alternatives, and no exclusions are mentioned. However, the tool is a simple getter with zero parameters, so the intended usage is fairly obvious from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_song_scale_namesA
List the scale names Live accepts, plus the current scale and root note.
Useful before set_song_scale, so you pass a name Live recognises rather than guessing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'List' clearly indicates a read-only operation. It also discloses that the output includes current scale and root note, which is useful behavioral context. However, it does not explicitly state there are no side effects, but the verb 'list' strongly implies it, so slight gap only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the primary action. The second sentence adds valuable usage guidance without redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter getter with no output schema, the description fully covers what is returned (scale names, current scale, root note) and why it matters (before setting a scale). No gaps remain for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly focuses on output and usage, not parameter explanations, since there are none to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and clearly states the resource: scale names Live accepts, plus current scale and root note. This distinguishes it from sibling tools like set_song_scale (which sets, not lists) and get_scale_notes (which gets notes, not names).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Useful before set_song_scale, so you pass a name Live recognises rather than guessing.' This ties directly to the companion tool and explains the purpose, making the usage context clear and unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_colorC
Get the color of a track.
Parameters:
track_index: The index of the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It merely states 'Get the color' without confirming it is a read-only operation, specifying the return format, or mentioning potential errors. The word 'Get' implies read-only, but the description fails to add any context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise, consisting of one sentence plus a parameter list. It is front-loaded with the core action. However, the parameter description adds little value, and a brief note on return format would improve it without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, no output schema, and no annotations, the description should at least explain the return value (e.g., format, units) and parameter usage more thoroughly. It currently leaves the agent with gaps about what to expect when invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description coverage, so the description must compensate. However, 'track_index: The index of the track' is tautological and adds no meaningful detail (e.g., zero-based vs one-based, which track list, how to obtain a valid index). It does not help an agent correctly determine the value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the color of a track, with a specific verb ('Get') and resource ('track'). It is distinguished from siblings like set_track_color (a setter) and get_clip_color (different target), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as get_track_info (which might also return color) or get_clip_color. There is no mention of prerequisites, indexing conventions, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_infoC
Get detailed information about a specific track in Ableton.
Parameters:
track_index: The index of the track to get information about
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It only says 'Get detailed information' without disclosing whether the operation is read-only, what side effects might occur, or how errors like an invalid track_index are handled. This is a significant gap for a data-retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary purpose. The parameter explanation is somewhat redundant with the parameter name, but it does not add unnecessary length, making it appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description needs to explain what 'detailed information' includes. It does not mention the return structure, possible fields, or any behavior, leaving the agent to guess. Even for a simple getter, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains track_index as 'the index of the track', which adds a basic role but not critical details such as range, base (0 or 1), or ordering. Since schema description coverage is 0%, the description is the only source of parameter meaning but fails to provide enough context for confident usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and names the resource 'a specific track in Ableton', which clearly differentiates from siblings like get_mixer or get_session_info. However, 'detailed information' is vague about what exactly is included, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_mixer or get_session_info. There is also no mention of track indexing conventions (e.g., zero-based vs one-based) or prerequisites, leaving the agent without explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_input_routingB
Get the input routing of a track.
Parameters:
track_index: The index of the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral transparency. It only states that it gets the input routing, but does not disclose what the return value looks like, whether it can fail, or any side effects (though likely none). This is a minimal disclosure that fails to provide meaningful behavioral context beyond the tool's name and basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with zero fluff. The first sentence states the purpose, and the second lists the parameter. This is appropriately sized for a simple getter tool and is front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal and does not cover several important contextual aspects. There is no output schema, so the description should at least hint at the return value or format, but it does not. It also lacks guidance on usage, error conditions, or relationships to other routing tools. While the tool is simple, the description omits too much for a fully self-contained definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required integer parameter (track_index) with no description. The description adds 'The index of the track,' which provides a basic explanation but leaves ambiguity about indexing base (0 vs. 1), which track types are valid, or whether the index refers to session tracks, return tracks, etc. It helps but is not fully compensating for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Get the input routing of a track.' The verb 'Get' combined with the resource 'track input routing' is specific and unambiguous. It also implicitly distinguishes from sibling tools like set_track_input_routing and get_track_output_routing by its focus on reading the input routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. While sibling tools like 'set_track_input_routing' suggest a read vs. write distinction, the description itself does not mention any usage context, prerequisites, or exclusions. There is no guidance on when to prefer this getter over other routing-related getters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_monitoringB
Get the monitoring mode of a track.
Parameters:
track_index: The index of the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the operation but does not mention side effects (likely none), return format, or any safety/caution. There is no indication of what the monitoring mode values look like or how the result is presented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, no filler. It front-loads the purpose and then lists the parameter. Every word earns its place, and there is no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description is still incomplete. It does not explain what the monitoring mode is (e.g., possible values like 'in', 'auto', 'off') nor what the agent should do with the returned value. Given no annotations, the description needs to provide more context to be fully useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It repeats the parameter name and adds 'The index of the track,' which is minimal and largely restates the schema's type information. It does not clarify indexing basis (zero/one) or any constraints beyond 'integer'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Get the monitoring mode of a track.' The verb 'Get' identifies this as a read operation, and the resource 'track monitoring' is specific. It naturally distinguishes itself from sibling 'set_track_monitoring' by implying a getter vs. setter relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., set_track_monitoring). It does not mention any prerequisites, context, or exclusions. The only implied usage is from the verb 'Get', but no explicit instruction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_output_routingC
Get the output routing of a track.
Parameters:
track_index: The index of the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It indicates a read-only getter but does not describe the return format, possible errors, or any side effects. This is a minimal description that adds little beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary purpose. The parameter listing is structurally clear, though redundant with the schema. It is efficient but not waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description is minimally sufficient. However, it omits what the returned routing value looks like (string, integer, etc.) and any related context such as possible values or exceptions, making it adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema shows one required integer parameter with the title 'Track Index', and the description repeats this as 'The index of the track'. This adds no meaningful information beyond the schema; it does not clarify zero-based indexing, range, or how to obtain a valid index.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('output routing of a track'), which distinguishes it from sibling tools like set_track_output_routing or get_track_input_routing. However, it does not elaborate on what 'output routing' entails (e.g., device name or bus), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of related getters/setters or contexts where this tool is appropriate, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warp_markersA
Get all warp markers from an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior, but it only restates the operation implied by the name. It does not mention side effects (none expected), permissions, return format, or behavior when no markers exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the action, followed by a clear parameter list. Every sentence is necessary with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a simple getter with two parameters, the description provides the core function and parameter meanings. However, since there is no output schema and no mention of the return value structure, the agent lacks complete context about what 'all warp markers' entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description compensates by defining both parameters: 'track_index' and 'clip_index'. However, the definitions are minimal and do not explain indexing conventions or that the clip is an audio clip.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get all warp markers from an audio clip' with a specific verb and resource. It distinguishes itself from sibling tools like add_warp_marker and delete_warp_marker by indicating a retrieval operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_clip_warp_info or set_clip_start_marker. The description provides no exclusions or preferred use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkA
Check if Ableton Live is connected and responsive.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention what the tool returns (e.g., status object, boolean), how 'responsive' is measured, or whether it throws errors on disconnection. This is a significant gap for a health check tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the tool's purpose with no unnecessary words. It is front-loaded and easy to read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description covers the core purpose but lacks detail on expected output or behavioral semantics. It is minimally adequate but leaves room for interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100%. Per the rubric, a baseline of 4 is appropriate since the description is not required to explain parameters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if Ableton Live is connected and responsive, using a specific verb and resource. This distinguishes it from sibling tools, which focus on specific operations like setting parameters or creating clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a preliminary connectivity check before other operations, but it does not explicitly state when to use it vs. alternatives or provide any exclusions. No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
humanize_clip_timingA
Add random timing variation to notes in a clip for a more human feel.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
amount: Amount of timing variation in beats (0.05 = subtle, 0.1 = moderate, 0.2 = heavy)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the action (random timing variation) and provides example amounts (0.05 subtle, 0.1 moderate, 0.2 heavy), but it does not mention side effects, reversibility, whether it affects all notes, or if it only works on MIDI clips. This is a moderate level of disclosure with clear gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a clear first sentence and a structured 'Parameters:' section. Every sentence is informative, and there is no repetition or fluff. The format is easy to parse and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 flat parameters, no output schema), the description covers the core usage well. It explains the purpose and all parameters with examples. However, it omits details like whether the clip must be MIDI or the exact nature of the randomness, but these are minor for the task complexity, so a 4 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully by listing all three parameters and providing meaningful explanations and example values. 'amount: Amount of timing variation in beats (0.05 = subtle, 0.1 = moderate, 0.2 = heavy)' adds value beyond the raw schema, making the parameters self-documenting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource: 'Add random timing variation to notes in a clip' and clearly distinguishes from sibling tools like humanize_clip_velocity (which varies velocity) and quantize_clip (which removes timing variation). The purpose is immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the context: 'for a more human feel,' which implies use when you want to add subtle variety to clip timing. It does not explicitly mention alternative tools or exclusions, but the clear purpose and context provide adequate guidance, earning a 4 rather than a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
humanize_clip_velocityA
Add random velocity variation to notes in a clip for a more human feel.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
amount: Amount of velocity variation (0.1 = +/-10%, 0.2 = +/-20%)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the core effect (random velocity variation) and the meaning of 'amount' with examples, but does not disclose whether the modification is destructive, whether it clamps velocity values, or applies to all notes in the clip.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a compact parameter list. It is front-loaded with the action and every line adds information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool, the description covers the action, parameters, and behavior. It does not specify whether the operation applies to all notes or preserves original velocities, but given the simplicity and lack of output schema, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description compensates for the 0% schema coverage by explaining each parameter: track_index, clip_index, and amount with concrete examples (0.1 = +/-10%, 0.2 = +/-20%). This adds meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Add') and specific resource ('random velocity variation to notes in a clip'), and the phrase 'more human feel' clarifies intent. It clearly distinguishes from the sibling 'humanize_clip_timing' which would handle timing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit alternatives or exclusions are provided. The description implies usage for humanizing velocity but does not compare with 'humanize_clip_timing' or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_session_modifiedA
Check if the session has unsaved changes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It states the tool 'checks' but does not explicitly confirm it's read-only, what it returns (boolean?), or any side effects. The agent has to infer these details from the name and wording.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the key information. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple predicate with no parameters and no output schema, the description adequately conveys the core functionality. The return type (boolean) is strongly implied by the tool name and description, though not explicitly stated. Missing usage context prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there are no parameter semantics to clarify. The baseline for 0 parameters is 4, and the description doesn't need to add parameter-related detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'check' and a clear resource 'session has unsaved changes', making the tool's purpose immediately obvious. It distinguishes itself from sibling tools like get_session_info and get_session_path by focusing on modification status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention typical use cases (e.g., before closing a session or prompting the user to save) nor does it exclude any situations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jump_to_timeA
Jump to a specific time in the arrangement.
Parameters:
time: Position in beats to jump to
| Name | Required | Description | Default |
|---|---|---|---|
| time | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states the action without clarifying whether playback state is affected, how out-of-range times are handled, or if it interacts with recording. This is a significant gap for a control tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences that front-load the core action and then explain the parameter. Every word serves a purpose, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers the essential function and parameter meaning. However, it omits behavioral details like playback state effects and return values, which would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'time' as a number with no description, but the tool description adds crucial semantics: 'Position in beats to jump to.' This clarifies the unit and meaning, fully compensating for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Jump') and the resource ('time in the arrangement'), providing a specific verb-object pairing. It also distinguishes itself from sibling tools like get_playback_position or start_playback by focusing on seeking to a specific time rather than reading or starting playback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance or alternatives are mentioned. The purpose is implied by the name and description, but there is no comparison with similar tools or exclusions, leaving the agent to infer when this tool is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_drum_kitB
Load a drum rack and then load a specific drum kit into it.
Parameters:
track_index: The index of the track to load on
rack_uri: The URI of the drum rack to load (e.g., 'Drums/Drum Rack')
kit_path: Path to the drum kit inside the browser (e.g., 'drums/acoustic/kit1')
| Name | Required | Description | Default |
|---|---|---|---|
| kit_path | Yes | ||
| rack_uri | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose side effects and behavior. It states a two-step process (load rack then kit) but does not describe what happens if the track already contains a rack, whether the operation is destructive, or what errors may occur. The lack of output schema also leaves return behavior unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct: one sentence for the action and three bullet-like parameter explanations with examples. No redundant information is present, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core action and parameter meanings, but it lacks contextual details such as when to use the tool and behavioral side effects. It is adequate for a simple loading operation but incomplete for robust agent decision-making, especially with no annotations or output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description compensates for the 0% schema coverage by documenting each parameter: track_index, rack_uri (with example 'Drums/Drum Rack'), and kit_path (with example 'drums/acoustic/kit1'). This provides meaningful context beyond the bare schema, though it could further clarify indexing and path conventions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action: 'Load a drum rack and then load a specific drum kit into it.' This distinguishes it from the sibling tool 'load_instrument_or_effect' by focusing on drum kits. However, it does not explicitly contrast it with that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not specify when to use this tool versus 'load_instrument_or_effect' or other loading tools, nor does it mention prerequisites like existing tracks or whether it replaces existing racks. This leaves the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_instrument_or_effectC
Load an instrument or effect onto a track using its URI.
Parameters:
track_index: The index of the track to load the instrument on
uri: The URI of the instrument or effect to load (e.g., 'query:Synths#Instrument%20Rack:Bass:FileId_5116')
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the action without any details on side effects (e.g., whether the load replaces existing devices), prerequisites (e.g., track must exist, URI valid), or failure modes. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: one sentence stating the purpose, followed by a clear parameter list. No filler or redundancy. The structure front-loads the main action and then details the inputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for safe and correct invocation. It lacks information about return values, error conditions, what happens to existing track content, and whether any prerequisites exist. Given the absence of annotations and output schema, the tool description should be more thorough. It is minimally adequate for a simple load operation but leaves many operational questions unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining the purpose of each parameter. The track_index is described as 'the index of the track to load the instrument on', and uri is described with an example 'query:Synths#Instrument%20Rack:Bass:FileId_5116', which helps clarify the expected input format. Schema descriptions are 0%, so this compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Load an instrument or effect onto a track'. It distinguishes from most siblings (playback, tempo, mixer tools), though it doesn't explicitly differentiate from the very similar 'load_drum_kit'. The resource is specific enough for basic identification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like load_drum_kit or other track-modification tools. The usage scenario is implied by the name and description, but there are no explicit when/when-not conditions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_item_to_returnA
Load a browser item (effect) onto a return track by URI.
Parameters:
return_index: The index of the return track to load the item onto
uri: The URI of the browser item (obtained from browse_path or search_browser)
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | ||
| return_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It describes the action and parameters but does not disclose side effects, whether existing devices are overwritten, if permissions are needed, reversibility, or return behavior. This is a mutation tool with meaningful behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: one sentence states purpose, followed by a concise parameter list. No wasted words, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema or annotations, the description covers the core essentials: action, target, parameter semantics, and URI acquisition. Minor gaps remain around error conditions or whether the operation replaces/adds to existing chain devices, but it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully compensates by explaining both parameters: return_index identifies the target return track, and uri is the browser item URI sourced from browse_path or search_browser. This adds critical meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Load a browser item (effect) onto a return track by URI') with clear verb and resource targets. It distinguishes itself from siblings like load_item_to_track and load_instrument_or_effect by explicitly mentioning 'return track'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context is provided: this is used when the target is a return track, and the URI should originate from browse_path or search_browser. It doesn't explicitly list alternatives or exclusions, but the sibling names make the distinction obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_item_to_trackA
Load a browser item (instrument or effect) onto a track by URI.
Parameters:
track_index: The index of the track to load the item onto
uri: The URI of the browser item (obtained from browse_path or search_browser)
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It states that the tool loads an item but does not describe side effects such as whether the item replaces existing devices, whether it is appended, any permissions needed, or what happens on failure. This is a gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. The opening sentence states the purpose, followed by a bulleted list of parameters. Every sentence earns its place, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential purpose and both parameters, but lacks behavioral context such as return value, error conditions, or effects on the track's existing devices. Given the absence of an output schema and annotations, some additional context would be expected for a complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides inline parameter explanations: track_index is 'the index of the track to load the item onto' and uri is 'the URI of the browser item (obtained from browse_path or search_browser).' This adds meaning beyond the bare schema titles, though it does not specify zero-based indexing or format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Load a browser item (instrument or effect) onto a track by URI.' This uses a specific verb ('load'), identifies the resource (browser item), and indicates the target (track). It also differentiates from siblings like load_item_to_return by explicitly saying 'onto a track.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the URI source ('obtained from browse_path or search_browser') and the target ('onto a track'). However, it does not explicitly state when to use this tool over alternatives like load_item_to_return or load_instrument_or_effect, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_device_leftA
Move a device one position to the left in the device chain.
Parameters:
track_index: The index of the track containing the device
device_index: The index of the device to move
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must fully disclose behavior. It only restates the action with no additional context about constraints (e.g., what happens at the leftmost position), side effects, or errors. This is minimal guidance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of one clear sentence followed by a parameter list. Every element earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple move operation, the description covers the action and parameters adequately. It does not provide information about index base (0 or 1) or behavior in edge cases, but given the tool's simplicity and the lack of output schema, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly defines both parameters and their roles ('track_index: index of the track containing the device', 'device_index: index of the device to move'), fully compensating for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Move') and resource ('device') with precise direction ('one position to the left in the device chain'), making the tool's function unambiguous and clearly distinguishing it from the sibling tool move_device_right.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the action but does not explicitly mention when to use this tool versus alternatives like move_device_right, nor does it provide any exclusions or prerequisites. Usage is implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_device_rightA
Move a device one position to the right in the device chain.
Parameters:
track_index: The index of the track containing the device
device_index: The index of the device to move
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only describes the action without mentioning side effects, edge cases (e.g., moving the rightmost device), or whether indices are zero-based. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with one explanatory sentence and a clear parameter list. No redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter operation, the description covers the core action and parameters, but it omits edge-case behavior, potential return values, and any prerequisites. Given the lack of annotations and output schema, the description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly defines both parameters in a parameter list, explaining track_index as the track containing the device and device_index as the device to move. This compensates for the schema's lack of description fields, though it does not provide index constraints or conventions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Move a device one position to the right in the device chain.' This clearly distinguishes it from siblings like move_device_left and other device manipulation tools. The verb and resource are precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its name and action, but it does not explicitly state when to use this tool versus move_device_left or other reordering options. No exclusions or alternative guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quantize_clipB
Quantize the notes in a clip to a grid.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
quantize_to: Grid in beats (0.25 = sixteenth note, 1.0 = quarter note)
amount: How strongly to pull toward the grid (0.0 to 1.0)
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | ||
| clip_index | Yes | ||
| quantize_to | No | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It implies a mutation of clip notes but does not state whether the operation is destructive or reversible, what happens with partial amounts, or whether it affects selected notes or the entire clip. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a one-line summary followed by a bulleted parameter list. Every sentence adds value, and the structure is front-loaded, making it easy to scan quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core function and parameters but lacks usage context and sibling differentiation. It does not explain prerequisites (e.g., existing clip), return behavior, or how it differs from quantize_clip_notes. For a tool with no annotations or output schema, it is partially complete but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantics for all four parameters: track_index and clip_index identify the target, quantize_to provides grid units with examples, and amount specifies strength with a 0.0-1.0 range. This goes beyond the bare schema, though it omits details like indexing base (zero- or one-based).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool quantizes notes in a clip to a grid, specifying the verb, resource, and scope. However, it does not differentiate itself from the sibling tool 'quantize_clip_notes', which likely performs a similar operation on clip notes, so it lacks explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like quantize_clip_notes or humanize_clip_timing. The description only states the function and parameters without any context on prerequisites or excluded scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quantize_clip_notesA
Quantize notes in a clip to a grid.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
grid: Grid size in beats (0.25 = 16th notes, 0.5 = 8th notes, 1.0 = quarter notes)
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It explains the operation ('quantize notes') and parameters but does not mention potential side effects (e.g., altering all notes in the clip, irreversibility, or that it only affects MIDI clips). It lacks context about the nature of the modification, which is critical for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single purpose statement followed by a clear parameter list with examples. Every sentence serves a purpose, with no redundant or vague filler. It is easy to scan and quickly understand the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the operation and all parameters, which is good for a simple tool. However, there are no annotations and no output schema, so the description should also address usage context and behavioral effects. It omits any mention of when to use this tool or what side effects to expect (e.g., all notes are affected, quantization strength). Thus, it is minimally complete but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions for its properties (0% coverage), so the description compensates by providing meaningful explanations for all three parameters. It clarifies track_index and clip_index as locators and gives concrete grid value examples (0.25, 0.5, 1.0). This adds real value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear, specific verb+resource statement: 'Quantize notes in a clip to a grid.' This distinguishes it from the sibling tool 'quantize_clip' (likely clip-level quantization) and other note-editing tools like 'humanize_clip_timing.' The intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but does not explicitly say when to use it over alternatives. The name itself differentiates from 'quantize_clip,' but there is no guidance on when to choose note-level quantization versus other timing operations. Usage is implied by the description, not explicitly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redoA
Redo the last undone operation in Ableton.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. 'Redo the last undone operation' clearly indicates a state-changing action and its scope. It does not detail error behavior when nothing is undone, but for a simple redo operation this is sufficient and not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that fully captures the tool's purpose without any redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless operation with no output schema, the description is entirely sufficient. It clearly communicates the function and context, and no additional information is necessary for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description adds no parameter-specific meaning. The baseline for a 0-parameter tool is 4, and there is no additional information needed beyond the schema's empty properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Redo') and resource ('the last undone operation in Ableton'), clearly distinguishing it from sibling tools like 'undo' and other state-changing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (after an undo operation) and is clearly differentiated from 'undo'. However, it does not explicitly state exclusions or mention alternatives beyond the implied counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_all_notesB
Remove all notes from a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the basic action. It does not mention that the operation is destructive, irreversible, or what happens to the clip if it has no notes. No safety or side-effect information is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the purpose. The parameter list is necessary because the schema lacks descriptive details, but it is well-structured and not redundant overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the operation and the absence of an output schema, the description provides the core information needed. However, it lacks consideration of edge cases such as empty clips, and does not mention the destructive nature or any confirmation behavior, making it minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides titles (e.g., 'Track Index'), with 0% descriptive coverage. The description compensates by explaining that track_index is 'the index of the track containing the clip' and clip_index is 'the index of the clip slot containing the clip,' adding meaningful context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action with a specific verb and resource: 'Remove all notes from a clip.' This distinguishes it from sibling tools like remove_notes, which likely targets specific notes rather than all notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as remove_notes or other clip-editing tools. There are no exclusions, prerequisites, or contextual hints about intended usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_notesA
Remove notes from a clip within a specified range.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
from_time: Start time in beats
time_span: Duration in beats
from_pitch: Starting MIDI pitch (0-127)
pitch_span: Number of pitches to include
| Name | Required | Description | Default |
|---|---|---|---|
| from_time | No | ||
| time_span | No | ||
| clip_index | Yes | ||
| from_pitch | No | ||
| pitch_span | No | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose the destructive nature of removal, whether changes are undoable, or how notes that cross range boundaries are handled. The description only states the basic operation, leaving important behavioral details ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence followed by a structured parameter list. It is front-loaded with the purpose and contains no fluff; every line adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and parameter meanings but lacks return behavior, edge cases, and safety context (e.g., undoability). For a destructive mutation tool with no annotations and no output schema, this is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists all 6 parameters with meaningful explanations (e.g., 'from_time: Start time in beats', 'pitch_span: Number of pitches to include'), fully compensating for the 0% schema coverage. It adds units and ranges beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove notes') and the resource ('from a clip within a specified range'), which distinguishes it from siblings like remove_all_notes and complements add_notes_to_clip. The verb and scope are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies usage for targeted note removal, but there is no explicit guidance on when to use this tool versus alternatives such as remove_all_notes. Clear context exists, but exclusions and alternative comparisons are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_browserA
Search the browser for items matching a query.
Parameters:
query: Search term to find in item names
category: Category to search in (all, instruments, sounds, drums, audio_effects, midi_effects)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| category | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'search the browser' but does not mention whether the operation is read-only, what the return value looks like, or any side effects. This lack of detail leaves significant uncertainty for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured, with a one-line purpose statement followed by a compact parameter list. Every sentence adds value, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and parameter semantics but omits any mention of return format, pagination, or whether the search is recursive. With no output schema and no annotations, this leaves the tool's behavior incomplete for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description fully explains both parameters, clarifying that 'query' searches item names and 'category' lists all accepted values. Since the schema descriptions are empty (0% coverage), this is essential and well-compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches the browser for items matching a query, using the specific verb 'search' and the resource 'browser'. This distinguishes it from sibling navigation tools like browse_path or get_browser_tree, which browse rather than search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying it searches item names and offering a category filter. However, it does not explicitly state when to use this tool versus browsing the browser tree or loading items, leaving the context to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_clipC
Select a clip slot.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no description of behavioral traits, the tool's side effects are undisclosed. It does not state whether selection changes the UI, what happens to previous selections, or whether any permission is required. The description carries the full burden but provides zero transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose, followed by a parameter list. It is appropriately sized, though the parameter list duplicates the schema. No unnecessary words or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but the description lacks critical context: what 'select' actually does in the DAW, how to construct valid indices, and how selection relates to other clip operations. There is no output schema or annotations to fill the gap, leaving the description incomplete for an agent needing to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides explanations for both parameters—'index of the track containing the clip' and 'index of the clip slot'—which adds meaning beyond the bare schema names. However, it omits details like zero-based indexing or range constraints, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Select a clip slot,' which is a specific verb+resource combination. It distinguishes from sibling tools that fire, stop, get, or set clips by using the distinct action 'select.' However, it does not explicitly differentiate from other select-type tools like select_track or select_scene.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context is provided about prerequisites, such as whether the track and clip must already exist or be visible, nor is there any mention of when selection is needed versus other clip operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_rack_chainA
Select a chain in a rack device.
Parameters:
track_index: The index of the track
device_index: The index of the rack device
chain_index: The index of the chain to select
| Name | Required | Description | Default |
|---|---|---|---|
| chain_index | Yes | ||
| track_index | Yes | ||
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It merely states the action 'Select' without explaining side effects, such as how selection affects subsequent operations, error behavior, or whether it changes the current selection state. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a one-sentence purpose followed by a clean, structured parameter list. Every line adds value with no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple selection tool with no output schema, the description adequately covers the action and parameter semantics but omits return values, error handling, and the relationship to sibling tools like get_rack_chains. It is minimally sufficient but leaves room for confusion about index sources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only integer types with titles, and schema coverage is 0%. The description compensates by adding one-line meanings for each parameter: track_index, device_index, and chain_index. This is helpful but leaves implicit details like zero-based indexing and valid ranges.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Select') and resource ('a chain in a rack device'). This distinguishes it from sibling selection tools like select_track, select_scene, and select_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when selecting a rack chain but provides no explicit guidance on when to use it versus alternatives, prerequisites, or whether to first call get_rack_chains to obtain valid chain indices. It is concise but lacks instructive context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_sceneC
Select a scene.
Parameters:
scene_index: The index of the scene to select
| Name | Required | Description | Default |
|---|---|---|---|
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It only says 'Select a scene' and does not disclose side effects, whether the selection triggers playback, what UI state changes, or error conditions. This is a significant transparency gap for a selection tool in a DAW context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, with no filler words. The parameter line is somewhat redundant with the schema, but it still serves as a minimal explanation. It is concise rather than verbose, though it sacrifices useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and a single parameter, the description is incomplete. It does not clarify whether selecting a scene is purely a UI action or has playback implications, and it does not relate to sibling scene commands. An agent could easily confuse it with fire_scene.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the only parameter help is 'The index of the scene to select', which mostly restates the parameter name and adds no specifics about indexing (zero-based vs one-based), valid range, or behavior for invalid indices. The description only minimally compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb and resource ('Select a scene'), but it essentially restates the tool name and provides no semantic detail about what selecting a scene means in the host environment. It does not differentiate from sibling tools like fire_scene or stop_scene beyond the literal verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not explain whether to use this before firing a scene, or contrast with fire_scene, select_track, or select_clip. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_trackC
Select a track.
Parameters:
track_index: The index of the track to select
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states 'Select a track' without disclosing side effects, changes to current selection, or implications for subsequent operations. This is a minimal behavioral description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes a parameters section that largely duplicates the input schema. While concise, the redundancy reduces structural efficiency; the one-sentence purpose is sufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter selection tool, the description provides the core purpose and parameter name, but lacks usage context, indexing details, and relationship to sibling operations. It is minimally acceptable but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It merely repeats the parameter name and says 'The index of the track to select', adding no detail about zero-based indexing, valid ranges, or invalid input behavior. This adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Select a track' with a specific verb and resource. It distinguishes itself from sibling tools like select_clip and select_rack_chain, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are any prerequisites or exclusions mentioned. The description lacks context about typical workflows where selecting a track is necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_arrangement_clip_notesA
Write notes into an existing Arrangement clip, editing it in place.
Prefer this over create_arrangement_midi_clip when the clip already exists. Creating a clip builds a new one, which discards the loop braces, the name, the colour and any clip envelopes. Editing keeps all of it, so a 16-beat loop stretched across 300 bars stays stretched instead of collapsing.
Notes keep probability and velocity_deviation, so randomness and humanization survive. Read with get_arrangement_clip_notes, change what you need, write the whole list back, and everything else is preserved.
Parameters:
track_index: The index of the track
clip_index: Index of the clip on the timeline, from get_arrangement_clips
notes: Note dicts (pitch, start_time, duration, velocity, mute, optional probability and velocity_deviation). start_time is relative to the clip.
replace: True clears the clip's existing notes first. False layers the new notes on top of what is already there.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | Yes | ||
| replace | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses key side effects: editing in place, preserving clip properties, and retaining probability and velocity_deviation on notes. It clearly explains the `replace` parameter's behavior (clears vs layers), which directly addresses mutation semantics and potential data loss.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with a clear purpose, then a comparative rationale, and ending with a parameter list. It is slightly longer than minimal but every sentence contributes value, and the front-loaded purpose ensures quick comprehension. The param section is necessary given the schema lacks descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with four parameters, no output schema, and no annotations, the description is remarkably complete. It covers purpose, usage guidance, full parameter semantics, and important behavioral details like preservation and replacement. No critical information is missing for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Parameters section adds substantial meaning beyond the bare schema titles, describing each parameter in detail. It explains that `notes` are dicts with fields like pitch, start_time, duration, velocity, mute, optional probability and velocity_deviation, and that start_time is relative to the clip. It also clarifies the `replace` flag's effect, fully compensating for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: "Write notes into an existing Arrangement clip, editing it in place." It explicitly distinguishes this tool from the sibling `create_arrangement_midi_clip` by saying "Prefer this over create_arrangement_midi_clip when the clip already exists," making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: "Prefer this over create_arrangement_midi_clip when the clip already exists" and explains why, citing the loss of loop braces, name, colour, and envelopes with the alternative. It also gives a recommended workflow with `get_arrangement_clip_notes`, making the usage context complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_arrangement_loopA
Set the arrangement loop region.
Parameters:
start: Loop start position in beats
end: Loop end position in beats
enabled: Whether to enable looping
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| start | Yes | ||
| enabled | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state side effects, whether setting the loop affects playback, or any constraints (e.g., start < end). It only restates the core operation with minimal parameter details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with a clear one-line purpose followed by a simple parameter list. Every sentence earns its place without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with no output schema or nested objects, the description covers the core action and all parameters. However, it lacks usage context, side effects, and any relation to sibling tools, making it minimally sufficient but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meanings beyond the raw schema by explaining 'start' as loop start position in beats, 'end' as loop end position in beats, and 'enabled' as whether to enable looping. This compensates for the 0% schema description coverage, though it could include constraints like start < end.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set the arrangement loop region') with a specific resource. It distinguishes from sibling tools like set_clip_loop and set_clip_start_marker by specifying 'arrangement' and listing the exact parameters involved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, such as set_clip_loop or set_clip_start_marker. There are no prerequisites or exclusions mentioned. The usage context is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_chain_device_parameterA
Set a parameter on a device nested inside a rack chain, for example a drum pad's decay.
The parameter name is resolved within that one device only, so it cannot grab a same-named parameter from elsewhere.
Parameters:
track_index: The index of the track
device_index: The index of the rack on the track
chain_index: The index of the chain inside the rack
chain_device_index: The index of the device inside that chain
parameter_name: Name of the parameter to set
value: The new value (clamped to the parameter's range)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| chain_index | Yes | ||
| track_index | Yes | ||
| device_index | Yes | ||
| parameter_name | Yes | ||
| chain_device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses two important behaviors: parameter name resolution is scoped to the device, and the value is clamped to the parameter's range. These go beyond the basic mutation implication, providing useful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: an opening sentence stating purpose, a short note on scoping, and a bullet-like parameter list. Every sentence earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a setter tool with six parameters, no output schema, and no annotations, the description covers the essential behavioral and parameter details. It explains the scoping constraint and clamping, but could be slightly more complete by mentioning index base (e.g., 0-based) or error behavior if the device/parameter is not found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists and explains all six parameters, clarifying what each index refers to (e.g., 'index of the rack on the track', 'index of the chain inside the rack'). Since schema description coverage is 0%, this textual explanation is essential and mostly complete, though it does not specify zero-based vs one-based indexing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Set a parameter on a device nested inside a rack chain' and gives a specific example ('a drum pad's decay'). This distinguishes it from sibling tools like set_device_parameter or set_master_device_parameter, which target different locations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clarifies when to use this tool by specifying the target: a device nested inside a rack chain. It also warns that parameter name resolution is scoped to that one device, preventing accidental matches elsewhere. However, it doesn't explicitly name alternatives like set_device_parameter for non-rack devices, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_automationC
Set automation for a clip parameter.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
parameter_name: Name of the parameter to automate
envelope_data: List of points [{"time": 0.0, "value": 0.5}, ...]
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes | ||
| envelope_data | Yes | ||
| parameter_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It does not state whether this overwrites existing automation, whether changes are undoable, what happens if the clip or track does not exist, or how the envelope data is interpreted. The description 'Set automation' implies mutation but omits critical behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-sentence summary followed by a bulleted parameter list. Every line earns its place, there is no redundant fluff, and the essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 required params, no annotations, no output schema), this description is too sparse to support confident invocation. It lacks information on overwrite behavior, return values, error conditions, and relationship to other automation tools, leaving the agent to guess at important runtime semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no descriptions (0% coverage), so the description's parameter list adds value. It explains track_index, clip_index, parameter_name, and gives a concrete example of envelope_data as a list of {time, value} points. However, it does not specify valid parameter_name values, value ranges, time units, or indexing conventions, leaving many semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Set automation for a clip parameter.' This identifies the verb (set), the resource (clip parameter automation), and the scope. However, it does not explicitly distinguish itself from sibling tools like add_shaped_automation or set_device_parameter, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as get_clip_automation, clear_clip_automation, or add_shaped_automation. It also lacks context about prerequisites or intended workflows, providing only a parameter list with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_colorB
Set the color of a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
color: The color index (0-69 in Ableton's color palette)
| Name | Required | Description | Default |
|---|---|---|---|
| color | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only says 'Set the color' and lists parameters. It doesn't disclose side effects, requirements (e.g., valid clip indices), error behavior, or whether changes are reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-sentence purpose followed by a compact parameter list. Every line adds value, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the core action and parameter meanings for a simple setter, but lacks usage context, return-value information, and error/edge-case details. It is acceptable but not fully complete given no annotations or output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the parameter descriptions in the tool description are essential and add meaningful context. It explains each parameter's role and specifies the color index range (0-69), going beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Set the color of a clip') and clearly states the tool's function. It is unambiguous, though it doesn't explicitly differentiate from sibling tools like get_clip_color or set_track_color.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It simply states the operation without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_end_markerB
Set a clip's end marker, in beats.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
position: End marker position in beats
| Name | Required | Description | Default |
|---|---|---|---|
| position | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic action and units, but does not mention potential side effects, constraints on position relative to the start marker, validation behavior, or index conventions. This is too minimal for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is exceptionally concise and front-loaded. The first sentence states the purpose, followed by a compact parameter list. Every word adds value, and there is no redundancy or irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with three parameters and no output schema, the description covers the core operation and parameter meanings. However, it omits important context like the zero-based index convention and whether position must be after the start marker. This is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does list all three parameters with brief explanations, including the unit 'beats' for position. However, it lacks detail such as whether indices are zero-based, range limitations, or relationships between parameters, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Set a clip's end marker, in beats.' This clearly distinguishes it from sibling tools like set_clip_start_marker and set_clip_fade_out, and the unit of measurement is stated upfront.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only states what it does, not when it should be chosen over set_clip_start_marker or other clip-editing tools. No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_fade_inA
Set an audio clip's fade-in region, in beats.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
start: Fade-in start position in beats
end: Fade-in end position in beats
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| start | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys that the operation is a 'Set' (mutation) but does not disclose side effects, overwrite behavior, valid value ranges, or errors, similar to the update_drive calibration example.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single purpose statement followed by a compact parameter list. It is front-loaded with the core action and contains no unnecessary words or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter, the description covers the basic purpose and parameter semantics. However, it lacks usage context (e.g., audio-only clips, overwriting existing fades) and provides no information about return values or failure behavior, leaving it somewhat incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description manually explains all four parameters, adding meaning such as 'Fade-in start position in beats' and 'Fade-in end position in beats.' This compensates for the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set an audio clip's fade-in region, in beats,' which is a specific verb, resource, and scope. The sibling tool set_clip_fade_out exists, making it easy to distinguish from its counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, applicable clip types, or exclusion conditions, leaving usage fully implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_fade_outA
Set an audio clip's fade-out region, in beats.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
start: Fade-out start position in beats
end: Fade-out end position in beats
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| start | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool sets the fade-out region but does not mention whether it overwrites existing fades, whether it can be undone, any error conditions, or the need for the clip to be a valid audio clip. The description reveals the core action but omits side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-sentence summary followed by a clear parameter list. Every sentence contributes necessary information, and the format is easy to scan. It is appropriately front-loaded with the main action without redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic action and all parameter meanings, which is adequate for a simple setter. However, it lacks context about error handling, overwrite semantics, or prerequisites. Given the absence of annotations and output schema, this leaves some gaps, but it is a minimum viable description for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description compensates fully for the 0% schema coverage by explicitly listing and explaining all four parameters: track_index, clip_index, start, and end. It defines start and end as fade-out start/end positions in beats, and identifies the index parameters as track and clip slot indices. This adds complete meaning beyond the schema's bare types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Set an audio clip's fade-out region, in beats.' It uses a specific verb ('set') and resource ('audio clip's fade-out region'), and the unit (beats) is specified. This distinguishes it from siblings like set_clip_fade_in and set_clip_start_marker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or contrast with related tools such as set_clip_fade_in. The only context is the action itself, which is implied but not explicitly differentiated from similar clip-editing operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_follow_actionA
Set a clip's follow action, so it advances to another clip on its own.
This is how you get generative arrangements that progress while each track keeps looping independently.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
action_a, action_b: one of none, stop, again, previous, next, first, last, any, other, jump. The clip picks between A and B by chance.
chance: weighting between action_a and action_b (0.0 to 1.0)
time: how long before the action fires, in bars
enabled: turn the clip's follow-action switch on or off
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | ||
| chance | No | ||
| enabled | No | ||
| action_a | No | ||
| action_b | No | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It discloses that the clip advances on its own, that action_a/action_b are chosen 'by chance,' and that time is measured in bars. It doesn't mention permissions, reversibility, or return values, but the core behavioral mechanics are clearly described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: two purpose/usage sentences followed by a clean parameter list. Every sentence adds information—no filler or repetition of schema defaults.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All seven parameters are explained, and the general follow-action behavior is clear enough to invoke the tool. Some action values like 'any,' 'other,' and 'jump' are listed without further definition, and there is no mention of return values or error conditions, but the description covers the essential invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description fully compensates by explaining every parameter: track_index, clip_index, action_a/action_b with valid enum values, chance with a weighting range, time in bars, and enabled as a toggle. This is exactly the kind of semantics an agent needs to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Set a clip's follow action, so it advances to another clip on its own,' which clearly identifies both the action and its effect. It is specific enough to distinguish from sibling clip tools like set_clip_name or set_clip_loop, while also explaining the unique generative behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line 'This is how you get generative arrangements that progress while each track keeps looping independently' provides a clear use case and context. There are no explicit alternative tools or exclusions, but the intended scenario is well conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_gainB
Set the gain of an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
gain: Gain in dB (e.g., -6.0 for -6dB, 3.0 for +3dB)
| Name | Required | Description | Default |
|---|---|---|---|
| gain | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention valid dB ranges, whether clipping can occur, or whether the change is immediate and reversible. The example values (-6.0, 3.0) hint at format but not constraints or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized: a one-sentence purpose followed by a clean parameter list. Every part earns its place, with no redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with three required parameters and no output schema, this description is minimally viable. It clearly defines the parameters but lacks behavioral context, usage guidance, and edge-case handling. It does not mention index validity, gain limits, or possible errors, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only titles with no descriptions (0% coverage), so the description must compensate. It explains all three parameters, especially gain with dB examples and units, adding meaning beyond bare schema fields. However, it lacks details like zero-based indexing or what 'clip slot' means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set the gain of an audio clip') with a specific verb and resource, distinguishing it from sibling tools like set_track_volume or set_clip_pitch. It doesn't explicitly contrast with alternatives, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context or alternative guidance is provided. The description simply states what the tool does without explaining when to use it (e.g., adjusting clip loudness vs track volume) or any prerequisites such as the clip needing to exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_loopA
Set the loop settings of a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
loop_start: The start point of the loop in beats
loop_end: The end point of the loop in beats
looping: Whether looping is enabled
| Name | Required | Description | Default |
|---|---|---|---|
| looping | No | ||
| loop_end | No | ||
| clip_index | Yes | ||
| loop_start | No | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, but it only restates the action in generic terms. It does not explain the effect of toggling looping, the relationship between loop_start and loop_end, or any side effects on playback, leaving key behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, opening with a one-sentence purpose followed by a clean parameter list with one-line explanations. Each line adds value and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple setter with 5 parameters, and the parameter explanations cover the core semantics, but the description omits interaction rules (e.g., whether loop_start/end are ignored when looping is false) and any usage context. Given the lack of annotations and output schema, the description is serviceable but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite the schema having no property descriptions, the description explicitly explains each parameter, including track_index, clip_index, loop_start/end in beats, and the looping boolean. This provides essential semantic context beyond the schema's type and default information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Set') and resource ('loop settings of a clip'), clearly distinguishing it from sibling clip tools like set_clip_start_marker and set_arrangement_loop. The parameter list further clarifies exactly which loop settings are affected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance about when to use this tool versus alternatives such as get_clip_loop or set_arrangement_loop. It does not state any prerequisites or exclusions, leaving the agent to infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_nameB
Set the name of a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
name: The new name for the clip
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior. It only states the action 'set name' without mentioning side effects, whether the operation overwrites the existing name, potential errors, or any safety considerations. This is minimal and could mislead an agent about reversibility or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-line purpose followed by a bullet list of parameters. Every sentence is necessary and information-dense. It front-loads the core action and then lists parameters, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with no annotations and no output schema, the description is under-specified. It does not disclose expected return behavior, failure conditions, or whether the clip must exist. The description is adequate only for the most basic understanding but lacks critical context for safe operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only titles with 0% description coverage, so the description must add meaning. It does give brief explanations for each parameter (e.g., 'track_index: The index of the track containing the clip'), which clarifies their role. However, it does not go beyond obvious semantics and lacks constraints like valid ranges or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set the name of a clip' which is a specific verb + resource. It distinguishes from sibling tools like set_track_name by explicitly targeting clips, and from fire_clip/stop_clip by the action being a rename.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that set_track_name should be used for tracks, nor does it provide any context about prerequisites or exclusions. The usage is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_pitchA
Set the pitch shift of an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
pitch: Pitch shift in semitones (-48 to +48)
| Name | Required | Description | Default |
|---|---|---|---|
| pitch | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits beyond the operation itself. It lacks details on side effects, reversibility, or error conditions. The semitone range is more parameter semantics than behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, starting with a clear purpose statement followed by a compact parameter list. Every line provides useful information with no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter, the description covers the essential parameters and purpose. However, it does not mention the return value, error handling, or prerequisites (e.g., existing clip), which would be useful for an agent to invoke it correctly without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds brief explanations for all three parameters, including the pitch range (-48 to +48), which is helpful given the schema only provides titles. However, it omits important context such as whether track/clip indices are 0-based or 1-based, limiting its completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set') and the resource ('pitch shift of an audio clip'), making it easy to distinguish from sibling setters like set_clip_gain or set_clip_loop. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage (to adjust clip pitch) but does not explicitly state when to use it versus alternatives such as get_clip_pitch for reading the current pitch. No exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_start_markerA
Set a clip's start marker, in beats.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
position: Start marker position in beats
| Name | Required | Description | Default |
|---|---|---|---|
| position | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral effects. It only states the intended action without revealing side effects, error handling, undo behavior, or what happens with invalid indices. The description adds no behavioral context beyond the purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence establishing purpose and a compact parameter list with minimal explanations. No redundant or filler sentences; every element carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with three parameters, the description covers the essential facts, but lacks any context about valid ranges, relationship to end marker, or failure modes. Given no output schema or annotations, a bit more context (e.g., 'must be before end marker') would improve completeness, but it is minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description is the only source of parameter meaning. It explains all three parameters: track_index, clip_index, and position (start marker position in beats). This fully compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Set a clip's start marker, in beats.' It identifies the specific resource (clip start marker) and the unit, distinguishing it from the sibling set_clip_end_marker. The verb and object are precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives such as set_clip_end_marker or set_clip_loop. No prerequisites, constraints (e.g., position must be less than end marker), or context for valid usage. The description implies usage but does not state it explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_warp_modeB
Set the warp mode of an audio clip.
Parameters:
track_index: The index of the track
clip_index: The index of the clip slot
warp_mode: Warp mode (beats, tones, texture, repitch, complex, complex_pro)
| Name | Required | Description | Default |
|---|---|---|---|
| warp_mode | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure, but it only states the action without any side effects, preconditions, or reversibility information. For a mutation tool, this is a significant omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is minimal, using one sentence for the purpose and a concise list for parameters. No filler or redundant content, so it earns a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple setter, but with no annotations and no output schema, the description should cover prerequisites, side effects, and perhaps the meaning of warp mode choices. It only covers basic operation and parameter labels, leaving gaps for an agent to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description is the sole source of parameter meaning. It identifies all three parameters and provides enum values for warp_mode, but it does not explain the semantics of each warp mode or indexing conventions (e.g., zero-based vs one-based).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Set' and identifies the resource as 'the warp mode of an audio clip.' This clearly distinguishes it from sibling tools like set_clip_fade_in or add_warp_marker, which target different aspects of clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lacks exclusions or references to any sibling tools, leaving the agent to infer usage from the function name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_device_parameterA
Set a device parameter value.
Parameters:
track_index: The index of the track containing the device
device_index: The index of the device on the track
parameter_index: The index of the parameter to set
value: The new value for the parameter (will be clamped to valid range)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| track_index | Yes | ||
| device_index | Yes | ||
| parameter_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that value is clamped to a valid range, which is a useful behavioral detail. However, it omits side effects, permissions, or behavior on invalid indices, so transparency is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-line action followed by a bullet list of parameters. Every sentence adds value and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with 4 parameters, the description covers all inputs and the clamping behavior. It doesn't specify return value or error handling, but that's likely unnecessary. Missing some context about device types, but still adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description fully compensates by explaining all four parameters: track_index, device_index, parameter_index, and value. It even adds the clamping note for value, going beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set a device parameter value', using a specific verb and resource. It distinguishes from sibling tools like set_master_device_parameter and set_chain_device_parameter by implying it targets a device on a track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like set_master_device_parameter or set_chain_device_parameter. It doesn't mention any prerequisites or exclusions, so the agent is left to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_master_device_parameterA
Set a parameter on a Master-track device (e.g. the Glue Compressor threshold).
Parameters:
device_index: The index of the device on the Master track
parameter_name: Name of the parameter to set
value: The new value (clamped to the parameter's range)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| device_index | Yes | ||
| parameter_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It adds one useful trait: the value is clamped to the parameter's range. However, it does not disclose potential errors (e.g., non-existent device or parameter), side effects, or whether the change persists. Without annotations, this is a moderate but incomplete disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: one purpose sentence plus a compact parameter list. Every sentence adds value, with no redundancy or fluff. It is easy to scan and directly usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple setter, covering purpose, parameters, and clamping. However, it lacks guidance on discovering device_index or parameter_name (e.g., via get_master_device_parameters), and it does not explain return behavior or error handling. Given no output schema and no annotations, the description could be more complete for an agent unfamiliar with the domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description lists all three parameters with brief meanings. It clarifies that device_index is the index on the Master track, parameter_name is the parameter's name, and value is clamped. This goes beyond the bare schema titles and compensates for the lack of schema documentation, though the parameter_name explanation is somewhat generic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action (Set a parameter) and the specific resource (a Master-track device), with an example (Glue Compressor threshold). This distinguishes it from sibling tools like set_device_parameter, set_chain_device_parameter, and set_return_device_parameter, which target different track types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly defines when to use it: for any parameter on a Master-track device. It provides clear context through the 'Master-track' qualifier, but it does not explicitly state exclusions or mention alternative tools (e.g., use set_device_parameter for other tracks). This is clear but lacks explicit contrast with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_master_panA
Set the master track panning.
Parameters:
pan: Pan position from -1.0 (full left) to 1.0 (full right). 0.0 is center.
| Name | Required | Description | Default |
|---|---|---|---|
| pan | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the valid range of the pan parameter (-1.0 to 1.0, 0.0 center), which is useful behavioral context. However, it does not mention side effects (e.g., whether it changes playback, is reversible, or requires specific permissions), leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for the action and a clear bullet for the parameter. Every word earns its place, and it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter setter, the description is complete: it names the target resource, the action, and fully documents the parameter. No output schema is needed, and there are no nested objects or complex return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only lists a number parameter with no description (coverage 0%). The tool description fully compensates by explaining the meaning, allowed range, and center value, making the parameter's semantics complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set') and the specific resource ('the master track panning'), which distinguishes it from sibling tools like set_track_pan and set_return_pan. It is concise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage for the master track, which differentiates it from track or return panning. However, it does not explicitly mention alternatives or conditions for when to use this tool versus siblings, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_master_volumeA
Set the master track volume.
Parameters:
volume: Volume level from 0.0 (silent) to 1.0 (unity gain). 0.85 is Ableton's default.
| Name | Required | Description | Default |
|---|---|---|---|
| volume | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action and parameter range, without mentioning side effects, prerequisites, or behavior on invalid input. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: one for the action and one for the parameter. It is front-loaded, concise, and every word contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter setter, the description covers the core functionality and parameter semantics. However, it omits any context about prerequisites (e.g., an open Ableton set) or out-of-range handling, leaving a minor completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema property 'volume' has no description (0% coverage), but the description fully compensates by explaining the valid range (0.0 to 1.0) and the default value (0.85). This adds crucial meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Set the master track volume'), clearly distinguishing it from sibling tools that target track or return volumes. It is unambiguous and directly states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like set_track_volume or set_master_pan. It simply states the action without any contextual usage notes or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_metronomeA
Turn the metronome on or off.
Parameters:
enabled: True to enable, False to disable
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states the action (turning the metronome on/off) and explains the 'enabled' parameter, but it does not disclose any side effects, prerequisites, or persistence semantics. For a simple boolean setter, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded. It states the core action in one sentence and immediately follows with a parameter explanation. Every sentence serves a purpose without redundant elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity tool with a single required boolean parameter and no output schema. The description fully covers what the tool does and what the parameter means. It is complete for the tool's simplicity and context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by explaining the sole parameter: 'enabled: True to enable, False to disable.' This adds semantic meaning beyond the raw boolean type, clearly mapping each value to its effect on the metronome.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Turn the metronome on or off.' It uses a specific verb and resource, distinguishing it from the sibling get_metronome_state, which extracts state rather than changing it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the on/off behavior, but it does not explicitly mention when to use it versus alternatives like get_metronome_state or toggle_device. There is no clear when-to-use or when-not-to-use guidance beyond the direct purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_overdubB
Set overdub mode.
Parameters:
enabled: True to enable overdub, False to disable
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the functional effect (enabling/disabling overdub) without mentioning side effects, permissions, or interaction with recording/playback, which are critical for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with a clear one-sentence purpose followed by a parameter explanation. It avoids redundancy and stays within an appropriate length for a simple tool, though it could be slightly richer without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple boolean setter, the description is minimally sufficient: it names the action and parameter semantics. However, it lacks context about what overdub mode affects in the broader workflow, such as recording behavior, and offers no clues about typical use cases or related settings, leaving room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, but the description directly explains the 'enabled' parameter with 'True to enable overdub, False to disable'. This adds meaningful semantics beyond the schema's bare boolean type and fully compensates for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Set overdub mode' uses a clear verb+resource structure. It distinctly identifies the action and target, though it doesn't explicitly differentiate from sibling tools or specify the scope (global vs track-specific).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of recording contexts, prerequisites, or exclusions, leaving the agent without direction on selecting this over similar set_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_return_device_parameterA
Set a parameter on a return-track device (e.g. reverb decay on Return A).
Parameters:
return_index: The index of the return track (0 = A, 1 = B, ...)
device_index: The index of the device on that return track
parameter_name: Name of the parameter to set
value: The new value (clamped to the parameter's range)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| device_index | Yes | ||
| return_index | Yes | ||
| parameter_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavior disclosure. It does disclose helpful behavior: the value is clamped to the parameter's range, and the return_index mapping (0 = A, 1 = B) is explained. However, it doesn't mention potential side effects, error handling, or whether the operation is reversible. A score of 3 reflects that some valuable behavioral context is provided but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. The first sentence states the purpose, followed by a bullet list of parameters. Every sentence earns its place, with no fluff or redundant information. The example aids understanding without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameter-setter tool with no output schema or annotations, the description is largely complete. It covers the action and all parameters with sufficient detail. The lack of usage guidance is a minor gap but does not hinder basic understanding. A score of 4 is appropriate given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides clear, meaningful explanations for all four parameters, compensating fully for the 0% schema description coverage. Each parameter is defined with enough detail, including the index mapping and clamping behavior for value. This adds significant value beyond the bare schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Set') and resource ('return-track device'), and provides a concrete example ('reverb decay on Return A'). While it doesn't explicitly contrast with sibling tools like set_device_parameter, the resource is unambiguous, making it easy to identify the appropriate tool for return-track parameter editing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. It doesn't mention that this should be used specifically for return tracks instead of other setter tools, nor does it state any exclusions or prerequisites. The context is only implied by the name and description, with no explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_return_panB
Set the panning of a return track.
Parameters:
return_index: The index of the return track
pan: The pan position (-1.0 = left, 0.0 = center, 1.0 = right)
| Name | Required | Description | Default |
|---|---|---|---|
| pan | Yes | ||
| return_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the pan range but does not disclose any side effects, whether the change is immediate, reversible, or requires specific permissions. As a setter, some behavioral context (e.g., 'this overrides existing pan automation') would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a clear summary line followed by a parameter list. Every sentence adds value, and there is no redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter tool with no output schema, the description is mostly complete. It provides the essential purpose and parameter semantics. However, the lack of indexing convention (zero-based vs one-based) and any note about behavior on invalid indexes leaves slight gaps in a fully autonomous context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions are absent (0% coverage), so the description must compensate. It does so by explaining the meaning of 'return_index' and specifying the valid range for 'pan' (-1.0 to 1.0). However, it does not clarify whether return_index is zero-based or one-based, which is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set the panning') and the resource ('a return track'), which distinguishes it from sibling tools like set_track_pan and set_master_pan. It could be more explicit about being for return tracks only, but the name and description together make it clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives. It neither mentions that this is for return tracks specifically nor points to set_track_pan for regular tracks. Usage must be inferred from the tool name and description, which is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_return_volumeA
Set the volume of a return track.
Parameters:
return_index: The index of the return track
volume: The volume level (0.0 to 1.0)
| Name | Required | Description | Default |
|---|---|---|---|
| volume | Yes | ||
| return_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It makes clear this is a mutating operation and adds the volume range constraint (0.0 to 1.0), which is useful. However, it does not disclose behavior on invalid indices or relationship to other settings, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single purpose sentence followed by a clear parameter list. No redundant information; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter, the description covers the core purpose and parameters. However, it lacks context on how to determine valid return_index values (e.g., using get_return_tracks) and does not mention error behavior or the actual effect on the session. The zero-based ambiguity further reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description's explicit list of both parameters with explanations is essential. It adds the critical volume range and clarifies that return_index refers to the index of the return track. Yet it does not specify whether the index is zero-based, which is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'set' with a clear resource 'the volume of a return track'. This distinguishes it from sibling tools like set_track_volume which targets regular tracks, and set_return_pan which targets pan. Purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'return track' provides clear context for when this tool applies, and the parameter list makes it easy to use. However, it does not explicitly mention alternatives or state when not to use it (e.g., for regular tracks), though the distinction is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_scene_colorA
Set the color of a scene.
Parameters:
scene_index: The index of the scene
color: The color index (0-69 in Ableton's color palette)
| Name | Required | Description | Default |
|---|---|---|---|
| color | Yes | ||
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It only mentions the color palette range (0-69), but does not disclose side effects, error behavior on invalid scene_index, whether the operation is destructive, or any return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with a single purpose sentence followed by a compact parameter list. No wasted words or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with two parameters, the description is mostly complete, but it lacks details on index base (0 vs 1) and expected behavior on invalid input. There is no output schema, so return behavior is unaddressed, but this is typical for mutation tools. Overall, it's minimally viable with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only types and titles, so the description adds critical meaning: scene_index is 'the index of the scene' and color is 'the color index (0-69 in Ableton's color palette)'. This compensates for the 0% schema coverage, though scene_index semantics (zero-based vs one-based) remain unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb and resource: 'Set the color of a scene.' This distinguishes it from siblings like set_clip_color (scene vs clip) and get_scene_color (set vs get).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention related tools like get_scene_color or set_clip_color, nor any prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_scene_nameB
Set the name of a scene.
Parameters:
scene_index: The index of the scene to rename
name: The new name for the scene
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the basic operation. It does not mention side effects (e.g., persistent rename), whether the scene must exist, validation of the index, or error conditions. This is insufficient for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, with no unnecessary words. However, it is so terse that it borders on under-specification, though it is not bloated. It earns a high score for structure but misses the extra value a bit more context could provide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool, the description covers the basics (what the parameters mean and the action performed). However, given the lack of annotations and output schema, it does not fully round out the context, such as how to determine valid scene indices or what happens after renaming. It is minimally complete but with noticeable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 0% of the parameter semantics, and the description merely repeats the parameter names with minimal elaboration ('index of the scene to rename', 'new name'). It adds no additional meaning beyond the schema titles, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set the name') and the resource ('a scene'), immediately distinguishing it from sibling tools like set_scene_color or select_scene. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the name and description, but no explicit guidance is provided about when to use this tool versus alternatives (e.g., renaming scenes via other methods) or any prerequisites. There is no exclusion or alternative mention, so it meets only the 'implied usage' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_send_levelA
Set the send level from a track to a return track.
Parameters:
track_index: The index of the source track
send_index: The index of the send (corresponds to return track index)
level: The send level (0.0 to 1.0)
| Name | Required | Description | Default |
|---|---|---|---|
| level | Yes | ||
| send_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It explains the basic action and parameter semantics, including the level range (0.0 to 1.0), but omits any side effects, error behavior, or whether this modifies existing automation or is reversible. The description lacks sufficient transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the action in one sentence, followed by a clear bulleted parameter list. Every sentence serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple setter, and the description fully specifies all required parameters. However, it lacks context about potential pitfalls such as invalid indices, zero-based indexing, or interaction with return track configuration. For a no-annotation, no-output-schema tool, this could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by clearly explaining each parameter: track_index (source track), send_index (corresponds to return track index), and level (0.0 to 1.0). This provides meaning beyond the schema's bare titles, though it could add more detail about expected types or indexing conventions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Set the send level from a track to a return track.' This is specific, uses a verb+resource structure, and differentiates from sibling tools like get_send_level by explicitly indicating the write operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. While the parameter description clarifies the meaning of track_index, send_index, and level, it does not mention any prerequisites, edge cases, or alternative tools (e.g., get_send_level for reading, or set_track_volume for volume).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_song_root_noteA
Set the song's root note. Pair with set_song_scale to set the key.
Parameters:
root_note: 0 to 11, where 0 is C, 1 is C#, ... 9 is A, 11 is B.
| Name | Required | Description | Default |
|---|---|---|---|
| root_note | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states the action clearly but does not mention side effects, prerequisites, or whether existing notes are affected. The hint to pair with `set_song_scale` adds some context, but overall it lacks deeper behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a compact parameter list. The main action is front-loaded, and every word earns its place without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with one parameter and no output schema, the description is nearly complete: it explains the parameter and its role in setting the key. It does not discuss side effects, but the tool's simplicity makes that less critical. The only modest gap is the absence of any note about whether existing notes are transposed or if it affects the current project only.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, but the description fully compensates by mapping root_note values to note names (0=C, 1=C#, ... 11=B). This provides exactly the missing meaning and makes the parameter self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Set'), names the resource ('song's root note'), and distinguishes itself from the sibling `set_song_scale` by explicitly saying to pair with it for setting the key. This makes the tool's purpose immediately clear and differentiates it from related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context by recommending pairing with `set_song_scale` to set the key, which clarifies when this tool should be used. It does not explicitly mention when not to use it, but there are no competing tools for root note, so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_song_scaleA
Set the song scale. Pair with set_song_root_note to set the key.
Use get_song_scale_names first to see the accepted names.
Parameters:
scale_name: A scale name Live recognises, for example "Major", "Minor", "Dorian", "Lydian".
| Name | Required | Description | Default |
|---|---|---|---|
| scale_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the operation and mentions that the scale name must be 'recognised' by Live, but does not disclose side effects, validation behavior on invalid input, persistence of changes, or any error conditions. This is minimal transparency for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single purpose sentence, followed by usage guidance and a parameter breakdown. Every sentence adds value and there is no filler or redundancy. It is appropriately sized for a simple one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one required parameter and no output schema, so the description covers the core essentials: what it does, how to use it, and what the parameter means. However, it lacks any mention of the effect on the song (e.g., overwriting existing scale) or what happens on invalid input, which would be more complete given the absence of annotations. This is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides 'scale_name' as a string with no description. The description compensates by explaining what the parameter accepts ('A scale name Live recognises') and gives concrete examples ('Major', 'Minor', 'Dorian', 'Lydian'). It also directs users to get_song_scale_names for the full list, adding value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear, specific action: 'Set the song scale.' This is a distinct verb+resource combination that aligns with the tool name and is not ambiguous. It also differentiates from sibling tools like set_song_root_note by framing them as complementary, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance: 'Pair with set_song_root_note to set the key' and 'Use get_song_scale_names first to see the accepted names.' This explains the correct sequence and prerequisite, which is strong usage guidance. However, it does not explicitly state when NOT to use this tool or discuss alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_tempoA
Set the tempo of the Ableton session.
Parameters:
tempo: The new tempo in BPM
| Name | Required | Description | Default |
|---|---|---|---|
| tempo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Set the tempo' without mentioning side effects, constraints (e.g., Ableton tempo range), or whether changes apply immediately to live playback. This leaves significant behavioral ambiguity for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of one sentence plus a parameter listing. Every word earns its place, with no redundant information. This is a model of minimalism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with a single parameter, the description covers the core meaning and parameter, but it lacks behavioral context such as side effects, error conditions, or return behavior. The absence of annotations and output schema means the description alone is not fully complete, though it is serviceable for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description supplies the crucial semantic that the tempo is 'in BPM', which is absent from the schema (which only provides type and title). This adds real value beyond the structured data. However, it does not specify allowed ranges or default values, which would be even more helpful, but for a single parameter this is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Set the tempo of the Ableton session', which is a specific verb + resource. It clearly distinguishes from sibling tools (e.g., set_track_volume, start_playback) as none of them handle tempo manipulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. The usage context is implied by the tool name and description, but the description does not state any exclusions or mention when to prefer this tool over others. Since no tempo-related sibling exists, the ambiguity is low, but clear guidance is still missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_armA
Set the arm (record enable) state of a track.
Parameters:
track_index: The index of the track
arm: True to arm for recording, False to disarm
| Name | Required | Description | Default |
|---|---|---|---|
| arm | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It accurately describes the core behavior of arming/disarming a track, but does not disclose any side effects, prerequisites, or edge-case behaviors (e.g., invalid track_index, monitoring implications). The explanation 'True to arm for recording, False to disarm' adds some clarity but stops short of being comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence plus two bullet-point parameter definitions. Every phrase earns its place, and the structure immediately conveys the tool's purpose and parameters without any fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description covers the essential information. It explains both parameters and the overall action, making it complete for a basic setter. The only gaps are minor details like index base and potential side effects, which prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does define both parameters: track_index as 'the index of the track' and arm with clear True/False semantics. However, it doesn't specify whether track_index is zero-based or one-based, leaving an important detail ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set the arm (record enable) state of a track', using a specific verb and resource. This distinguishes it from sibling tools like set_track_mute or set_track_solo, which have similar naming patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives. It does not mention related tools like unarm_all or set_track_monitoring, nor does it specify prerequisites such as the track being a recording track. The description only states what it does, leaving usage context entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_colorA
Set the color of a track.
Parameters:
track_index: The index of the track
color: The color index (0-69 in Ableton's color palette)
| Name | Required | Description | Default |
|---|---|---|---|
| color | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses a useful behavioral constraint: the color index must be in the range 0-69 (Ableton's palette). However, it does not mention whether the operation is reversible, what happens on invalid input, or if there are side effects. For a simple setter, this is acceptable but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, starting with a clear purpose, followed by a brief parameter list. Every sentence earns its place with no redundant information. The structure is easy to scan and front-loads the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 parameters, no output schema), the description covers the essential purpose and parameter semantics. It lacks explicit error handling or valid track index range, but these are not typically required for a simple setter. Overall, it is complete enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only type information (integers) with no descriptions. The description adds meaning by explaining 'track_index' as 'the index of the track' and 'color' as 'the color index (0-69 in Ableton's color palette)'. This compensates well for the 0% schema coverage, though it could specify whether the track index is zero-based.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action 'Set the color of a track' with a clear resource (track). This distinguishes it from sibling tools like 'get_track_color', 'set_clip_color', and 'set_scene_color' by targeting the track's color specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It is implied from the name that you use it for changing track color, but there is no mention of prerequisites (e.g., track selection) or exclusions (e.g., use set_clip_color for clips). This is adequate but lacks clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_delayA
Set a track's delay compensation in milliseconds (nudges the track early or late).
Parameters:
track_index: The index of the track
delay_ms: Delay in milliseconds (can be negative to pull the track earlier)
| Name | Required | Description | Default |
|---|---|---|---|
| delay_ms | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral transparency. It adds key behavioral details beyond the schema, such as the ability to use negative delay_ms to pull the track earlier. It does not discuss side effects or reversibility, but for a simple setter this is adequate and meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose, followed by a compact parameter list. Every sentence adds value, with no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two simple parameters, no output schema, and no annotations, the description is complete. It covers the operation, the meaning of each parameter, and the key behavioral nuance (negative values). Missing details like zero-based indexing are minor and not essential for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. It explains track_index as the index of the track (though somewhat obvious) and, more importantly, clarifies delay_ms semantics, including the ability for negative values to pull the track earlier. This adds significant meaning beyond the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets a track's delay compensation in milliseconds, with the effect of nudging the track early or late. This specific verb+resource combination (set + track delay) distinguishes it from sibling tools like set_track_pan or set_track_volume.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool (to adjust timing of a track by setting delay compensation). It does not explicitly name alternatives or exclusions, but the context is unambiguous given the precise wording. No alternative tool for delay compensation exists in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_input_routingA
Set the input routing of a track.
Parameters:
track_index: The index of the track
routing_type: The input routing type (use get_available_inputs to see options)
routing_channel: The input channel (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| routing_type | Yes | ||
| routing_channel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Set the input routing of a track.' It does not disclose side effects, error handling, permissions, or whether the operation is reversible. For a mutation tool, this lack of detail is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main action, and uses a clean parameter list. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, no output schema, and no annotations, the description provides a minimum viable understanding. It includes a pointer to get_available_inputs but lacks information about return values, error conditions, or behavior on invalid inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It provides brief but useful explanations: track_index as the track's index, routing_type with a pointer to get_available_inputs for options, and routing_channel as optional. This adds meaning beyond the bare schema. However, routing_channel semantics could be clearer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'set' and resource 'input routing of a track', distinguishing it from the sibling 'set_track_output_routing'. It is specific and unambiguous about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions using 'get_available_inputs' to see routing options, which provides some usage context. However, it does not explicitly state when to use this tool versus alternatives like set_track_output_routing, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_monitoringA
Set the monitoring mode of a track.
Parameters:
track_index: The index of the track
monitoring: Monitoring mode (in, auto, off)
| Name | Required | Description | Default |
|---|---|---|---|
| monitoring | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only says 'Set' without disclosing side effects, permissions, or impact on playback/recording. The mutation is implicit but no deeper behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single action sentence followed by a tight parameter list. No wasted words, though 'monitoring' appears in both the description and parameter explanation, which is acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with two parameters and no output schema, the description is largely complete—it explains the purpose and all parameters. It falls short only in not providing behavioral context (e.g., when monitoring mode takes effect or any prerequisites), but the low complexity keeps the gap small.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions and 0% coverage, so the description compensates by explaining both parameters. It clearly defines track_index and lists the allowed values for monitoring ('in', 'auto', 'off'), which is essential for correct invocation. The tracking index explanation is slightly tautological but still useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Set' with the resource 'monitoring mode of a track', clearly distinguishing it from sibling tools like get_track_monitoring and other set_track_* tools. It states exactly what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No explicit context, exclusions, or alternatives are mentioned, even though many track-related setter tools exist in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_muteA
Set the mute state of a track.
Parameters:
track_index: The index of the track
mute: True to mute, False to unmute
| Name | Required | Description | Default |
|---|---|---|---|
| mute | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of disclosing behavior. It states the core effect ('Set the mute state') and explains the mute parameter, but it does not mention potential side effects, prerequisites, or whether the operation is reversible. For a simple setter, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: a single-line purpose followed by a bulleted list of parameters. Every sentence provides necessary information without redundancy or filler. It is appropriately front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description is sufficiently complete. It states the action and parameter meanings. It lacks extra context such as error handling or track existence prerequisites, but these are not critical for this straightforward setter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only types and titles for track_index (integer) and mute (boolean), with no additional descriptions. The tool description compensates by explaining that track_index is 'the index of the track' and mute is 'True to mute, False to unmute.' This adds meaningful semantics beyond the schema, fully covering both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Set the mute state of a track.' This uses a specific verb ('set') and resource ('mute state of a track'), distinguishing it from sibling tools like set_track_solo or set_track_volume. The intention is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: it is for setting the mute state of an individual track. However, it provides no explicit guidance on when to use this tool versus alternatives such as unmute_all or set_track_solo. The context is clear but no exclusions or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_nameC
Set the name of a track.
Parameters:
track_index: The index of the track to rename
name: The new name for the track
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states the basic operation and lists parameters. There is no disclosure of side effects, error handling, index base (0-based vs 1-based), or return behavior. Since no annotations exist, the description carries this burden but fails to address it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with one sentence and two parameter bullets. Every word serves a purpose, and it is front-loaded with the core action. No extraneous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with no annotations and no output schema, the description is minimal. It omits critical context such as whether the track index is zero-based, what happens on invalid input, and whether the change is immediately reflected. The agent may need to guess these details, making the description incomplete for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to both parameters by specifying that track_index is 'the index of the track to rename' and name is 'the new name for the track'. This compensates for the schema's lack of property descriptions, but it does not clarify constraints like valid index ranges or name formatting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Set the name') on a specific resource ('a track'), which distinguishes it from sibling tools like set_track_volume or set_clip_name. However, it lacks additional context or scope, making it clear but not exceptionally helpful.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It simply describes the action without any exclusions, prerequisites, or contextual advice for an AI agent deciding between related setter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_output_routingA
Set the output routing of a track.
Parameters:
track_index: The index of the track
routing_type: The output routing type (use get_available_outputs to see options)
routing_channel: The output channel (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| routing_type | Yes | ||
| routing_channel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It merely states 'set' without mentioning potential side effects, failure conditions, authorization requirements, or whether the change is immediate and irreversible. This is a significant gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one imperative sentence and a compact parameter list. Every element serves a purpose, with no redundant or filler content, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple setter, and the description covers the core parameters and a necessary reference to get_available_outputs. However, it lacks guidance on failure conditions, when routing_channel should be provided, and how this tool interacts with get_track_output_routing, leaving gaps for an agent to fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds basic meaning for all three parameters: track_index, routing_type, and routing_channel. It also provides a valuable pointer to get_available_outputs for routing_type options. However, routing_channel semantics are vague (only 'output channel (optional)') and track_index is merely restated with no additional detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Set the output routing of a track' clearly identifies a specific verb (set) and resource (output routing of a track), making the tool's purpose unambiguous. It distinguishes itself from sibling tools like set_track_input_routing and get_track_output_routing by explicitly focusing on output routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description instructs the agent to 'use get_available_outputs to see options' for routing_type, providing actionable context on how to discover valid values. It does not explicitly state when to use this tool over alternatives, but the tool name and description make the use case obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_panA
Set the panning of a track.
Parameters:
track_index: The index of the track
pan: Pan position from -1.0 (full left) to 1.0 (full right). 0.0 is center.
| Name | Required | Description | Default |
|---|---|---|---|
| pan | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It uses the verb 'Set' to indicate a modification operation, and it discloses the valid range for the pan parameter (-1.0 to 1.0). It does not, however, describe other behavioral aspects such as output/return values or error handling, which are absent since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one declarative sentence followed by a two-item parameter list. It avoids fluff, front-loads the purpose, and every sentence contributes meaning. The structure is clean and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with 2 required parameters and no output schema, the description is nearly complete. It explains both parameters and the valid range. A minor gap is the lack of explicit clarification on whether track_index is zero-based or one-based, which is common in audio APIs, but this is a minor omission given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates by clearly explaining both parameters: track_index is 'the index of the track', and pan is 'Pan position from -1.0 (full left) to 1.0 (full right). 0.0 is center.' This adds essential meaning beyond the bare type/title information in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Set the panning of a track', a specific verb+resource combination that clearly identifies the tool's function. It distinguishes itself from sibling track controls like set_track_volume and set_track_mute by explicitly naming 'panning'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives. However, the intent is implied by the tool name and description: use this when you need to adjust a track's stereo pan position. This aligns with 'implied usage' rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_soloA
Set the solo state of a track.
Parameters:
track_index: The index of the track
solo: True to solo, False to unsolo
| Name | Required | Description | Default |
|---|---|---|---|
| solo | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic setter action and boolean semantics, without mentioning potential side effects (e.g., whether soloing a track automatically unsolos others), track index validation, or error behavior. This lack of context could lead to incorrect assumptions about exclusive solo behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the primary purpose, and includes only the necessary parameter breakdown. Every sentence is useful and there is no redundant detail. The structure is easy to scan and perfectly sized for a simple boolean setter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description covers the core purpose and parameters. However, it leaves out useful contextual details such as the index convention, possible side effects on other tracks' solo states, and any prerequisites for valid track indices. Given the lack of annotations, this is a noticeable gap for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage), so the description compensates by listing both parameters with brief meanings: 'track_index' is described as the index of the track and 'solo' is explained as True to solo, False to unsolo. While this adds basic semantics beyond the schema's bare titles, the track index description is vague and does not specify whether it is zero-based or one-based, leaving room for ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set') and the resource ('the solo state of a track'), making the tool's purpose unambiguous. It is easily distinguished from sibling tools like set_track_mute or unsolo_all because it specifically targets the solo state of a single track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context in which to use the tool is implied by the name and description: whenever the user wants to change a track's solo state. However, there is no explicit guidance on when to prefer this tool over alternatives such as unsolo_all for clearing all solos or set_track_mute for muting. The description does not mention exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_track_volumeA
Set the volume of a track.
Parameters:
track_index: The index of the track
volume: Volume level from 0.0 (silent) to 1.0 (unity gain). 0.85 is Ableton's default.
| Name | Required | Description | Default |
|---|---|---|---|
| volume | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It only specifies the volume range (0.0 to 1.0) and a default (0.85), but does not state whether track_index is zero-based, whether setting volume affects automation, or whether the change is undoable. The behavior of the setter is otherwise opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized: a one-sentence purpose and a clean bullet list of parameters. It is front-loaded with the main verb-resource statement and contains no extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity setter tool, the description is minimally adequate. It covers the essential parameters and their ranges, but omits contextual details like track_index orientation and volume scaling. Given the rich set of sibling track tools, a bit more surrounding context (e.g., index base) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no descriptions (0% coverage), so the description adds critical meaning. It explains both parameters: track_index as 'the index of the track' and volume with a range and default. However, it stops short of clarifying track_index base (0 vs 1) or volume scaling (linear vs dB), so it doesn't fully compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set the volume of a track' with a specific verb and resource, distinguishing it from sibling tools like set_track_pan or set_track_mute. The parameter list reinforces this purpose without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or when another tool would be more appropriate (e.g., using set_track_pan for stereo positioning). The only implied usage is from the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_playbackA
Start playing the Ableton session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior, but it only states the action. It does not mention side effects (e.g., whether it resumes from current position), preconditions (e.g., an open session), or behavior if already playing. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that is immediately informative. Every word earns its place, and it is front-loaded with the action and target. No redundant or extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple transport control, the description gives the core function, but it lacks context about session state or how it differs from 'fire_clip'. Since there are no annotations and no output schema, the description should provide more behavioral context to be fully sufficient, yet the tool's simplicity keeps it from being inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to explain. According to rubric, a 0-parameter tool gets a baseline of 4. The description adds no parameter-specific information, but it doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Start') and a clear resource ('Ableton session'), making the tool's function unambiguous. It naturally distinguishes itself from siblings like 'stop_playback' and 'fire_clip' by referring to the session-level transport.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool instead of related tools such as 'fire_clip' or 'stop_playback'. The expected context is implied by the name but not explicitly stated, offering no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_recordingB
Start recording in Ableton.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the action without side effects, required conditions, or behavior if already recording. It lacks any added context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler words. It is appropriately brief for a zero-param tool, though it offers no additional structure or tips.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-param tool, the description is minimally viable but leaves gaps: it does not specify arrangement vs session recording, prerequisites, or side effects. Given the rich sibling context, more specificity would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4 and the description does not need to explain parameter semantics. The schema is trivially 100% covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Start recording') and resource ('in Ableton'), giving a straightforward purpose. However, it does not differentiate from sibling tools like toggle_arrangement_record or toggle_session_record, leaving ambiguity about which recording mode it targets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool compared to alternatives. It does not mention prerequisites (e.g., armed tracks) or when stop_recording / toggle_session_record would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_all_clipsA
Stop every playing clip in the session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It clearly states the effect: stopping all currently playing clips in the session. It does not mention any side effects or prerequisites, but for this simple action, the behavior is transparent enough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It fully conveys the action and scope without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output mutation tool, the description is complete. It specifies what happens (stops every playing clip) and where (in the session), which is sufficient context for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (empty properties). The description adds no parameter details because there are none to explain. Per the rubric, a zero-parameter tool gets a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Stop') and resource ('every playing clip') with a clear scope ('in the session'). It directly distinguishes itself from sibling tools like stop_clip (single clip), stop_scene (scene), and stop_playback (transport).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the tool's scope ('every playing clip'), which implies when to use it versus alternatives like stop_clip. However, it does not explicitly name alternatives or state exclusions, so it lacks the explicit comparative guidance that would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_clipB
Stop playing a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only states the action without revealing side effects, idempotency, whether the clip must be currently playing, or how it interacts with clip slot state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a single clear sentence and a simple parameter list. No unnecessary fluff, though the parameter descriptions could be integrated more naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple stop operation, the purpose and parameters are covered. However, with no annotations, it lacks guidance on when to use it versus stop_playback and any behavioral context. Acceptable but incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no descriptions for the parameters, but the description clarifies that track_index is 'the index of the track containing the clip' and clip_index is 'the index of the clip slot containing the clip'. This adds meaningful context beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Stop playing a clip' clearly specifies the action (stop) and the resource (a clip). It distinguishes from sibling tools like fire_clip (which starts a clip) and stop_playback (which stops global playback).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like stop_playback or fire_clip. The description does not mention relevant contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_playbackA
Stop playing the Ableton session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavior; it only states the stop action without disclosing side effects like whether the playhead resets or all clips are stopped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence directly states the tool's function with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is sufficient, though it could benefit from a note distinguishing session stop from clip stop.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the description cannot add param semantics; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb 'stop' and the resource 'playing the Ableton session,' differentiating it from sibling tools like start_playback and stop_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus stop_clip or other playback controls; it only states the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_recordingB
Stop recording in Ableton.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the basic action and gives no details on side effects, requirements, or behavior across different recording modes (session vs arrangement).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that is front-loaded and free of unnecessary words. It earns its place perfectly for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema, so the description is adequate for basic understanding. However, it lacks context on scope (session vs arrangement recording) and does not mention related behavior that would be helpful given the sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description does not need to document any. The baseline for zero-parameter tools is 4, and the description adds no unnecessary parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'stop' and resource 'recording', clearly distinguishing it from siblings like 'start_recording' and 'stop_playback'. However, it does not specify whether it applies to session or arrangement recording, a slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'toggle_session_record' or 'stop_playback'. The description simply states the action without contextual use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_sceneA
Stop all clips in a scene.
Parameters:
scene_index: The index of the scene to stop
| Name | Required | Description | Default |
|---|---|---|---|
| scene_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It states that the tool stops all clips in a scene, which is a meaningful multi-clip action, but does not disclose potential side effects (e.g., playback state, follow actions, invalid index handling).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear, front-loaded purpose statement followed by a simple parameter list. It is efficient, though the parameter list could be integrated more elegantly to avoid redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers the core action and parameter. However, it lacks details about error handling, prerequisites, or interaction with playback state, making it minimally adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's parameter section merely restates the schema title: 'The index of the scene to stop' adds no meaningful detail beyond the parameter name. It does not clarify indexing conventions (e.g., zero-based) or error behavior, so it fails to compensate for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'stop' and the resource 'all clips in a scene', clearly distinguishing it from sibling tools like stop_clip (single clip) and stop_all_clips (all clips globally).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need to stop all clips within a specific scene. However, it does not explicitly mention alternatives or exclusions, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tap_tempoA
Tap the tempo once (call repeatedly in time to set a tempo by feel).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It explains the repeated-call behavior and the perceptual result ('by feel'), but doesn't mention any state changes, timeouts, or effects on the global tempo after multiple taps. Still, the behavior is simple enough that the description captures the core interaction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs the essential instruction and purpose into 17 words. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description sufficiently conveys the action and expected usage. It could explicitly mention that this affects the global tempo (like set_tempo does), but for a tap-to-set interaction, it's adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The description adds no parameter-specific meaning, but with no parameters to document, the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Tap the tempo once') and resource ('tempo'), with the purpose of setting the tempo by feel through repeated calls. This distinguishes it from set_tempo, which likely sets an explicit BPM value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: call repeatedly in time to set tempo by feel, rather than entering a precise numeric BPM. It doesn't explicitly name alternatives like set_tempo, but the context is clear for a simple tap interaction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_arrangement_recordA
Toggle arrangement record mode.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing side effects or prerequisites. It only states 'Toggle arrangement record mode' without explaining what toggling entails, such as arming recording or any state changes in the DAW.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise four-word sentence that directly states the action and target. It is appropriately sized for a no-argument toggle and contains no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple toggle with no parameters and no output schema, the description provides the essential information. However, it lacks context about the relationship to session recording or what 'arrangement record mode' means, which could be helpful but is not critical for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema confirms this. The description correctly refers to the target mode, so no additional parameter information is needed. With 0 params, the baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Toggle' and identifies the resource 'arrangement record mode', clearly stating the action. It distinguishes itself from the sibling tool 'toggle_session_record' by specifying 'arrangement' as the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like 'toggle_session_record' or other recording controls. The description only states what it does, not when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_deviceA
Toggle a device on or off.
Parameters:
track_index: The index of the track containing the device
device_index: The index of the device on the track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| device_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for disclosing behavior. It states the toggle action but does not describe side effects, error conditions, whether the change is reversible, or whether the device must be active. The lack of detail on consequences makes it insufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, opening with the action and following with a clear parameter list. Every line contributes meaningful information, with no redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter toggle, the description covers the essential purpose and parameter meanings. It lacks usage context and return behavior, but given the tool's simplicity, it is largely complete, especially with no output schema expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description compensates by explaining that track_index identifies the containing track and device_index identifies the device on that track. This adds meaning beyond the bare integer type, though it omits indexing conventions like zero-based numbering.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool toggles a device on or off, using a specific verb and resource. It distinguishes itself from sibling device tools like delete_device, move_device_left, and set_device_parameter, which perform different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where other device tools should be preferred, leaving the agent to infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_session_recordC
Toggle session record mode.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It merely states 'Toggle session record mode' without explaining what toggling does (e.g., starts/stops recording, affects session view), side effects, or state changes. This adds minimal value beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is a single short sentence, it is under-specified rather than concise. It essentially restates the tool name without adding meaningful detail, so the sentence does not fully 'earn its place' as a valuable explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple toggle operation with no parameters or annotations, the description is still incomplete. It does not explain the effect of toggling session record mode, how it relates to recording workflows, or what the user should expect. Given the lack of contextual signals, a more informative description is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description does not need to explain parameters, and it does not introduce any ambiguity about the lack of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'toggle' and identifies the resource 'session record mode', which differentiates it from the sibling tool 'toggle_arrangement_record'. However, it does not explain what 'session record mode' entails, making the purpose clear but slightly incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'toggle_arrangement_record', 'start_recording', or 'stop_recording'. There is no mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transpose_notesA
Transpose all notes in a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
semitones: Number of semitones to transpose (positive = up, negative = down)
| Name | Required | Description | Default |
|---|---|---|---|
| semitones | Yes | ||
| clip_index | Yes | ||
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavioral traits. It merely states the operation without mentioning side effects, reversibility, or whether it applies only to MIDI clips, which is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence followed by a clean parameter list. There is no redundancy or fluff, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter MIDI operation, the description is sufficient to identify the clip and transposition amount. It omits return values, but since no output schema exists and the operation is straightforward, this is not critical. It could mention that it applies to MIDI notes, but it's adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, and the description fully compensates by explaining each parameter in detail: track_index, clip_index, and semitones (including positive/negative direction). This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Transpose all notes in a clip.' This is specific and distinguishes it from sibling tools like set_clip_pitch (clip-level pitch) and quantize_clip_notes (timing-based processing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus the many related sibling tools. The description only explains parameters, not usage contexts, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unarm_allA
Unarm all tracks in the session. Useful before recording to ensure only specific tracks will record.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It goes beyond the name by explaining the effect on recording: after unarming all, only specific tracks will record, which is a behavioral consequence. It doesn't discuss reversibility but that's not critical for a simple state change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the action and followed by a use case. Every sentence earns its place, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, no-output tool, the description fully covers what the tool does and when to use it. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is empty and the description need not explain any. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action: 'Unarm all tracks in the session.' This is a clear verb+resource and the 'all' scope distinguishes it from sibling tools like set_track_arm.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Useful before recording to ensure only specific tracks will record' gives a concrete scenario for when to invoke this tool. It does not explicitly mention alternatives or exclusions, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
undoB
Undo the last operation in Ableton.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states that it undoes the last operation, but doesn't mention limitations (e.g., what operations can be undone), reversibility via redo, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words, making it highly concise and front-loaded. It efficiently conveys the tool's core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema. The description adequately states the core behavior, though it could benefit from mentioning undo limitations or the ability to redo. Overall, it is sufficiently complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the baseline score is 4. The description doesn't need to add parameter semantics because there are none to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool undoes the last operation in Ableton, using a specific verb and resource. It is distinct from the sibling 'redo' tool, though it doesn't explicitly differentiate beyond the shared name pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'redo' or other editing tools. The description only states the action without any context for when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unfold_trackB
Unfold (expand) a group track.
Parameters:
track_index: The index of the group track
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits, but it only says 'Unfold (expand) a group track.' It does not mention side effects, reversibility, whether any state is mutated, or what happens if the track is not a group. This is insufficient for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, with a single purpose statement followed by a parameter explanation. Every sentence earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description explains the action and parameter adequately. However, it lacks context about when to use it, any side effects, or how it relates to fold_track, leaving gaps for an agent navigating similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides a brief semantic for track_index ('The index of the group track'), adding meaning beyond the schema's bare type. However, it lacks details such as zero-based indexing or how to identify the index, so it only partially compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Unfold') and resource ('group track'), making the core purpose clear. It does not explicitly reference sibling tools like fold_track, so it misses the extra differentiation that would merit a 5, but the meaning is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like fold_track or ungroup_tracks. There is no mention of prerequisites (e.g., track must be a group track) or context, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ungroup_tracksA
Ungroup a group track, moving its children back out.
Parameters:
group_track_index: The index of the group track to ungroup
| Name | Required | Description | Default |
|---|---|---|---|
| group_track_index | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the main behavioral effect ('moving its children back out') but does not say whether the group track is deleted or remains as an empty track, nor does it mention any side effects or prerequisites. With no annotations, the description carries the burden, but the information is only minimally sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the primary purpose, and includes a clear parameter list. Every sentence adds necessary information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers the action and the parameter, but it leaves ambiguity about the fate of the group track itself and any potential consequences for the child tracks. This is a notable gap given the absence of annotations and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter description 'The index of the group track to ungroup' essentially repeats the schema title 'Group Track Index.' It adds no details about zero-based indexing, valid ranges, or how to determine the index in the session. Since schema coverage is low, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Ungroup a group track, moving its children back out.' This uses a specific verb and resource, and the outcome 'moving its children back out' distinguishes it from sibling tools like fold_track or unfold_track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The implied usage context is clear: use when you want to undo a group track's grouping. However, it does not explicitly name alternatives or when not to use it (e.g., vs flatten_track), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unmute_allA
Unmute every track.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It clearly states the effect (unmute all tracks), which is sufficient for a simple operation. It does not add extra context such as whether return tracks are included, but for a parameterless tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded and immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, simple operation, the description fully covers the functionality. No output schema exists, and the behavior is completely described by the one-sentence definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, which matches the description. Per the rubric, a baseline of 4 is appropriate when there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Unmute every track' uses a specific verb and resource, clearly stating the action and scope. It distinguishes itself from siblings like set_track_mute (individual track) and unsolo_all (different action).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as set_track_mute or unsolo_all. The description only states what it does, not the context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unsolo_allA
Clear solo on every track.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It accurately describes the core behavior (removing solo from every track) but does not disclose side effects, reversibility, or potential interactions with session/arrangement views. For a simple state-change tool, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no filler or redundant details. It earns its place by clearly conveying the action and scope without any waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description completely captures the operation's scope and effect. No additional context is necessary, as the task is simple and unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema confirms no properties. The description correctly implies no arguments are needed. As per the rubric, 0 params yields a baseline of 4, and the description adds no conflicting or extraneous parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Clear solo on every track' uses a specific verb (Clear), resource (solo), and scope (every track), making its purpose immediately clear. It distinguishes itself from sibling tools like set_track_solo (per-track solo) and unmute_all (mute control) by explicitly targeting all tracks and the solo state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given, and no alternatives are mentioned. However, the intent is implied by the name and description—use it when you want to unsolo all tracks. This is minimal viable but lacks explicit contextual instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
157 tool updates
v1.3.0- First observed
add_notes_to_clip - First observed
add_notes_with_probability - First observed
add_shaped_automation - First observed
add_warp_marker - First observed
apply_groove - First observed
browse_path - First observed
capture_midi - First observed
clear_clip_automation - First observed
commit_groove - First observed
create_arrangement_midi_clip - First observed
create_audio_track - First observed
create_clip - First observed
create_group_track - First observed
create_locator - First observed
create_midi_track - First observed
create_return_track - First observed
create_scene - First observed
delete_clip - First observed
delete_device - First observed
delete_locator - First observed
delete_return_track - First observed
delete_scene - First observed
delete_track - First observed
delete_warp_marker - First observed
duplicate_clip - First observed
duplicate_scene - First observed
duplicate_track - First observed
fire_clip - First observed
fire_scene - First observed
flatten_track - First observed
focus_view - First observed
fold_track - First observed
freeze_track - First observed
generate_bassline - First observed
generate_drum_pattern - First observed
get_all_scenes - First observed
get_arrangement_clip_notes - First observed
get_arrangement_clips - First observed
get_arrangement_length - First observed
get_available_inputs - First observed
get_available_outputs - First observed
get_browser_items_at_path - First observed
get_browser_tree - First observed
get_chain_device_parameters - First observed
get_clip_automation - First observed
get_clip_color - First observed
get_clip_gain - First observed
get_clip_loop - First observed
get_clip_notes - First observed
get_clip_pitch - First observed
get_clip_warp_info - First observed
get_cpu_load - First observed
get_current_view - First observed
get_device_by_name - First observed
get_device_parameters - First observed
get_groove_pool - First observed
get_locators - First observed
get_master_device_parameters - First observed
get_master_info - First observed
get_metronome_state - First observed
get_playback_position - First observed
get_rack_chains - First observed
get_return_device_parameters - First observed
get_return_track_info - First observed
get_return_tracks - First observed
get_scale_notes - First observed
get_scene_color - First observed
get_send_level - First observed
get_session_info - First observed
get_session_path - First observed
get_song_scale_names - First observed
get_track_color - First observed
get_track_info - First observed
get_track_input_routing - First observed
get_track_monitoring - First observed
get_track_output_routing - First observed
get_warp_markers - First observed
health_check - First observed
humanize_clip_timing - First observed
humanize_clip_velocity - First observed
is_session_modified - First observed
jump_to_time - First observed
load_drum_kit - First observed
load_instrument_or_effect - First observed
load_item_to_return - First observed
load_item_to_track - First observed
move_device_left - First observed
move_device_right - First observed
quantize_clip - First observed
quantize_clip_notes - First observed
redo - First observed
remove_all_notes - First observed
remove_notes - First observed
search_browser - First observed
select_clip - First observed
select_rack_chain - First observed
select_scene - First observed
select_track - First observed
set_arrangement_clip_notes - First observed
set_arrangement_loop - First observed
set_chain_device_parameter - First observed
set_clip_automation - First observed
set_clip_color - First observed
set_clip_end_marker - First observed
set_clip_fade_in - First observed
set_clip_fade_out - First observed
set_clip_follow_action - First observed
set_clip_gain - First observed
set_clip_loop - First observed
set_clip_name - First observed
set_clip_pitch - First observed
set_clip_start_marker - First observed
set_clip_warp_mode - First observed
set_device_parameter - First observed
set_master_device_parameter - First observed
set_master_pan - First observed
set_master_volume - First observed
set_metronome - First observed
set_overdub - First observed
set_return_device_parameter - First observed
set_return_pan - First observed
set_return_volume - First observed
set_scene_color - First observed
set_scene_name - First observed
set_send_level - First observed
set_song_root_note - First observed
set_song_scale - First observed
set_tempo - First observed
set_track_arm - First observed
set_track_color - First observed
set_track_delay - First observed
set_track_input_routing - First observed
set_track_monitoring - First observed
set_track_mute - First observed
set_track_name - First observed
set_track_output_routing - First observed
set_track_pan - First observed
set_track_solo - First observed
set_track_volume - First observed
start_playback - First observed
start_recording - First observed
stop_all_clips - First observed
stop_clip - First observed
stop_playback - First observed
stop_recording - First observed
stop_scene - First observed
tap_tempo - First observed
toggle_arrangement_record - First observed
toggle_device - First observed
toggle_session_record - First observed
transpose_notes - First observed
unarm_all - First observed
undo - First observed
unfold_track - First observed
ungroup_tracks - First observed
unmute_all - First observed
unsolo_all
TDQS
Scored across 157 tools
Several tools have overlapping purposes, notably quantize_clip and quantize_clip_notes which appear to do the same thing with different parameter names, and add_notes_to_clip versus add_notes_with_probability where the latter is a superset. While many tools are clearly distinct, the duplication and the sheer number of similar getters/setters (e.g., get_track_color vs get_track_info) make misselection a real risk.
The vast majority of tools follow a consistent verb_noun pattern, with get_/set_/create_/delete_/duplicate_ dominating. Minor exceptions like health_check and tap_tempo are rare and do not undermine the overall predictability. The naming is largely coherent.
At 157 tools, this is far beyond the recommended range and would overwhelm most agents. Many tools are overly granular—such as separate getters for track color, monitoring, and routing when get_track_info already returns detailed data—suggesting significant consolidation is possible. The count is excessive even for a complex DAW.
The tool set covers the major lifecycle areas: tracks (create/delete/duplicate/group), clips (create/delete/notes/automation/warp), devices (get/set/move/delete), scenes, transport, browser, and session state. Minor gaps exist such as no direct move-track operation and no getter for clip start/end markers, but agents can generally work around these. Overall coverage is strong.
Maintenance
Related MCP Connectors
AI music production assistant — audio profiling, AI mixing sessions, and service inquiries.
- mozonicOAuthcom.mozonic
AI mixing and mastering: analyze your mixes, run DSP autofix, render stems, and master tracks.
Edit DAW sessions, convert Logic/Ableton/FL/REAPER projects, separate stems, transcribe, generate
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects Ableton Live to AI assistants through Model Context Protocol (MCP), enabling natural language control of music production tasks like track creation, MIDI editing, instrument loading, and playback control.15MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to control Ableton Live through natural language by querying tracks, analyzing sessions, and exporting stems via AbletonOSC integration.91MIT
- AlicenseNot gradedqualityDmaintenanceControl Ableton Live using natural language via AI assistants like Claude or Cursor.8MIT
- FlicenseCqualityCmaintenanceEnables full control of Ableton Live from AI assistants, including transport, tracks, clips, devices, and scene management through 143 tools.100-