Skip to main content
Glama

ablenton-mcp

简体中文 | English

通过支持 MCP 的 AI 助手控制 Ableton Live:编写 MIDI、加载乐器和效果器、 调整设备参数,以及在 Arrangement View 中构建编曲。

本项目基于 Siddharth Ahuja 创建的 ahujasid/ableton-mcp,是保留 MIT 许可证的独立衍生版本。新增本机连接限制、修复命令超时,并提供源码安装指南。 本项目与 Ableton 官方无隶属关系。

验证状态: 连接层回归测试已通过;尚未在运行中的 Ableton Live 中完成端到端验证。 本项目没有独立发布到 PyPI,请从本仓库源码安装。

安装详解(英文) · 排错指南(英文) · 变更记录(英文) · 贡献指南(英文) · MIT 许可证

功能

领域

支持的操作

工程读取

查看轨道、片段、设备以及工程快照

轨道

创建 MIDI / 音频轨道,修改轨道名称

MIDI

创建片段,读取、清空、添加音符

音频

将已有的本地音频文件导入 Session 片段槽位

音色与效果

浏览并加载乐器和效果器,读取和修改设备参数

播放控制

设置速度,开始/停止播放,触发/停止片段

编曲

查看编曲片段,将 Session 片段复制到时间线,重命名片段,添加定位标记

目前没有提供音频渲染导出或音频听辨工具。可用音色取决于你的 Live 版本和已安装音色包。

Related MCP server: ableton-mcp

工作原理

MCP 客户端(Codex / Claude / Cursor)
                  │ 标准输入/输出(stdio)
                  ▼
本机 Python MCP 服务
                  │ TCP · 127.0.0.1:9877
                  ▼
Live 内运行的 AbletonMCP Remote Script
                  │ Live API
                  ▼
当前 Live 工程

客户端、MCP 服务与 Live 应运行在同一台电脑上。TCP 协议没有身份验证,因此本版本 只监听本机回环地址;同一电脑上的其他进程仍然可以连接。仓库继承的 Docker / Smithery 文件不是推荐安装方式,因为容器的回环地址与宿主机相互独立。

本版本修复了什么

  • 限制网络访问: 两份 Remote Script 均由 0.0.0.0 改为监听 127.0.0.1

  • 修复超时覆盖: 音频导入保留 65 秒超时;已列出的修改命令使用 15 秒,其余命令使用 10 秒。 这些是单次套接字操作的超时,不是整个请求的总时限。

  • 增加回归测试: 检查分块响应的超时设置、本机地址绑定,以及两份脚本的一致性。

  • 完善文档: 明确 Python 3.10+ 要求、Live 11/12 编曲功能要求,并提供关闭数据收集的配置。

快速安装

1. 安装依赖与本项目

需要 Git、uvPython 3.10+;建议使用 Ableton Live 11 或 12。 Live 10.1.13 起支持 User Library 下的控制脚本,但编曲复制调用 Live 11/12 API;旧版本未经验证。

通过本仓库 GitHub 页面的 Code → HTTPS 地址克隆,进入克隆后的目录。

macOS:

uv venv --python 3.12
uv pip install --python .venv/bin/python -e .

Windows PowerShell:

uv venv --python 3.12
uv pip install --python .venv/Scripts/python.exe -e .

显式选择 Python 3.12,避免继承的 .python-version 文件自动选择 3.13。 不要直接运行 uvx ableton-mcp 来安装本版本:该命令获取的是上游 PyPI 包,不包含这里的修复。 仓库名 ablenton-mcp 与继承的 Python 包名、命令名 ableton-mcp 不同,这是有意保留的兼容设置。

2. 安装 Live 控制脚本

macOS:

.venv/bin/ableton-mcp-install-script --list-targets
.venv/bin/ableton-mcp-install-script

Windows 使用 .venv/Scripts/ableton-mcp-install-script.exe 运行同样的参数。 安装器会将本仓库附带的脚本复制到检测出的 User Library;已有且内容不同的脚本会备份为 __init__.py.bak。如果音色库在自定义位置,可指定 Remote Scripts 父目录:

.venv/bin/ableton-mcp-install-script --target "/path/to/User Library/Remote Scripts"

在 Ableton Live 中启用脚本

安装脚本后,先保存当前工作,完全退出 Ableton Live(macOS 按 ⌘Q),然后重新打开。 Live 需要重启才能识别新安装的控制脚本。

  1. 打开 Settings/Preferences → Link, Tempo & MIDI(Live 12.4 中名称为 Tempo & MIDI)。

  2. Control Surface 中选择 AbletonMCP,将 InputOutput 均设为 None

  3. 打开一个空白 Set。完成下方的 MCP 客户端配置后,向助手回复 “ready”, 让助手检查连接并开始创作音乐。

如果菜单中没有 AbletonMCP,请确认脚本位于 User Library/Remote Scripts/AbletonMCP/__init__.py,然后完全退出并重新打开 Live。 仅关闭设置窗口或关闭 Set 不等于重启 Live。

3. 配置客户端

始终使用虚拟环境可执行文件的绝对路径,并替换以下示例路径。一次只运行一个 MCP 服务实例。

Codex

将以下条目合并到 Codex MCP 配置(例如 ~/.codex/config.toml),保留已有配置:

[mcp_servers.ableton_local]
command = "/absolute/path/to/ablenton-mcp/.venv/bin/ableton-mcp"
args = []

[mcp_servers.ableton_local.env]
ABLETON_HOST = "127.0.0.1"
ABLETON_MCP_DISABLE_TELEMETRY = "true"
ABLETON_MCP_DISABLE_DATASET = "true"

Claude Desktop / Cursor

在支持 mcpServers 的客户端配置中添加:

{
  "mcpServers": {
    "AbletonMCPLocal": {
      "command": "/absolute/path/to/ablenton-mcp/.venv/bin/ableton-mcp",
      "args": [],
      "env": {
        "ABLETON_HOST": "127.0.0.1",
        "ABLETON_MCP_DISABLE_TELEMETRY": "true",
        "ABLETON_MCP_DISABLE_DATASET": "true"
      }
    }
  }
}

Claude Desktop 可在 Settings → Developer → Edit Config 中编辑配置;Cursor 使用其 MCP 设置。Windows 路径应指向 .venv/Scripts/ableton-mcp.exe,JSON 中可使用正斜杠。 修改后重启或重新加载客户端;图形界面应用未必继承终端环境变量,因此请将变量保留在客户端配置里。

4. 首次验证

先保存当前工程,在空白测试工程中尝试:

读取当前 Session 信息,并报告 Remote Script 的版本和能力列表。

然后:

创建名为 Bass 的 MIDI 轨道,速度设为 110 BPM,在第一个 Session 槽位创建四小节 C 小调贝斯片段。浏览已安装的音色,加载一个可用贝斯乐器,并播放片段。

工具索引从 0 开始;长度和编曲位置以为单位。4/4 拍的四小节为 16 拍。 Remote Script 版本仍为 1.7.0、Python 包版本为 1.4.0;版本一致不代表已安装修复, 请务必用本仓库的安装器重新安装脚本并重启 Live。

macOS 可检查监听地址:

lsof -nP -iTCP:9877 -sTCP:LISTEN

应看到 127.0.0.1:9877,而不是 *:9877。Windows 可运行 Get-NetTCPConnection -LocalPort 9877 -State Listen 查看 LocalAddress

隐私与数据收集

上游遥测及数据集代码仍然保留。本仓库没有 MCP_Server/config.py 或 Supabase 凭据, 缺少配置时收集会被禁用;这里的客户端示例另外显式关闭遥测和数据集记录。 这些变量只控制本服务,不会改变 AI 客户端自身的数据政策。

如果有人另外配置了数据收集,上游继承的逻辑会将未回答的同意提示视为允许记录。 内容可能包括提示词、MIDI、工程结构、名称和设备参数;该记录代码不会上传音频。 TERMS.md 保留了原维护者的数据使用条款作为来源说明;本衍生版本没有引入新的收集服务。 本地日志仍可能含有路径和工具参数,公开问题报告前请做脱敏。

常见问题

现象

排查方法

客户端找不到程序

使用 .venv 内可执行文件的绝对路径,不依赖终端激活状态

Control Surface 中没有 AbletonMCP

检查实际 User Library 位置、AbletonMCP 文件夹和 __init__.py,重启 Live

连接被拒绝

启动 Live 并选择控制脚本;服务与 Live 必须在同一台电脑

端口被占用

检查重复的 Live 实例或 AbletonMCP 控制脚本条目

更新后仍监听所有网络接口

可能仍加载旧脚本;检查安装后的 HOST 值,重新安装并重启

MIDI 有音符但没有声音

检查乐器加载、静音、路由、音频输出和播放状态

编曲功能不可用

使用 Live 11/12,并确认源 Session 片段存在

导入超时

很慢的导入仍可能超过 65 秒;重试前先查看目标槽位,避免重复导入

更多排查见 Troubleshooting。超时不一定表示操作未执行; Live 可能稍后完成操作,重试前请检查结果。

测试与开发

不需要第三方依赖的回归测试:

python3 -m unittest discover -s tests -p test_connection_safety.py -v

已安装虚拟环境后,可在 macOS 执行完整测试:

uv pip install --python .venv/bin/python pytest
ABLETON_MCP_DISABLE_TELEMETRY=true ABLETON_MCP_DISABLE_DATASET=true .venv/bin/python -m pytest -q

Windows 请使用对应可执行文件路径,并通过 PowerShell 的 $env: 语法设置两个环境变量。 目前仅已验证上述无依赖回归测试;完整 pytest 套件尚未在本环境运行。 上游片段测试使用模拟连接,不能替代 Live 实机测试。

修改时请保持以下两份脚本一致:

  • AbletonMCP_Remote_Script/__init__.py

  • MCP_Server/bundled_ableton_remote_script/AbletonMCP_init.py

更新时拉取本仓库、按需重装依赖、重新运行控制脚本安装器,再重启 Live 和客户端。 卸载时先禁用客户端 MCP 条目、将 Control Surface 设为 None 并关闭 Live,然后仅移除 Remote Scripts 下的 AbletonMCP 文件夹;如需恢复旧脚本,使用相应备份。无需删除工程或音色库。

致谢与许可证

基于上游提交 8731a47(2026-08-30,包版本 1.4.0),保留原作者的 MIT 许可证和版权声明。原始 README 存档于 docs/UPSTREAM_README.md,其中的安装命令指向上游版本。

Available Tools

37 tools
add_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

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
notesYes
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden. It states the tool 'adds' notes, implying non-destructive behavior, but does not disclose whether existing notes are merged, whether notes beyond the clip length are truncated, whether a MIDI clip is required, or any side effects. This is thin 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The one-line purpose is front-loaded, followed by a tidy parameter list. No redundant statements, though the parameter explanations are minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description plus parameter list covers the basic invocation, and an output schema handles return details. However, it omits preconditions (e.g., target clip must be a MIDI clip, not audio), behavior regarding existing notes, and any relationship to sibling operations like clear_notes_from_clip.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has no descriptions (0% coverage), but the description defines each parameter and the expected note fields (pitch, start_time, duration, velocity, mute). This meaningfully compensates for the schema gap, though units and valid ranges are not specified.

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

Purpose4/5

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

The description uses a specific verb and resource ('Add MIDI notes to a clip') and is distinguishable from siblings like clear_notes_from_clip. It does not explicitly name siblings, but the 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.

Usage Guidelines2/5

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 clear_notes_from_clip or create_clip. There are no preconditions, examples, or context about the intended workflow.

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

clear_notes_from_clipA

Remove all MIDI notes from a Session clip.

Writes are additive (add_notes_to_clip only appends), so to truly modify a clip you clear it first, then add the new notes. Use this with get_clip_notes and add_notes_to_clip for a real read -> modify -> write loop: read the notes, edit the list, clear_notes_from_clip, then add_notes_to_clip the edited notes.

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip slot containing the clip

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are present, so the description must carry the safety burden itself. It clearly states the operation removes all MIDI notes and, crucially, explains the additive behavior of the sibling tool. It does not explicitly state irreversibility or side effects on undo/history, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: what the tool does, the key behavioral caveat, and the recommended workflow. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the operation, the critical write behavior, and the companion tools needed to use it safely. Output schema handles return expectations, so nothing essential is missing; minor omission is whether the operation is undoable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only titles, and schema description coverage is 0%. The description compensates by explaining what each parameter refers to, including the user_prompt telemetry purpose.

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

Purpose5/5

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

Starts with an unambiguous action: “Remove all MIDI notes from a Session clip.” The verb, object, and scope are all explicit, and the read-modify-write context distinguishes it from add_notes_to_clip and get_clip_notes.

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

Usage Guidelines5/5

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

Provides concrete workflow guidance: clear the clip first, then repopulate with add_notes_to_clip, because add_notes_to_clip only appends. This tells the agent exactly when and how to use the tool in combination with siblings.

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

create_audio_clipA

Create a new audio clip in an audio track's clip slot by importing a file.

Requires Ableton Live 12.0.5 or newer — the underlying ClipSlot.create_audio_clip Live API was introduced in 12.0.5 and is not available in earlier 12.0.x releases.

Parameters:

  • track_index: The index of the audio track to create the clip in

  • clip_index: The index of the clip slot to create the clip in

  • path: Absolute path to a supported audio file (e.g. a .wav). The target track must be an audio track and the clip slot must be empty.

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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 mentions the API version requirement and prerequisites, which is useful, but it does not describe what happens on failure (e.g., errors if track is not audio, slot not empty), side effects on the session, or any rollback behavior. It also doesn't clarify the return value, though an output schema exists. The transparency is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise, with the core purpose stated first, followed by a version requirement and a bulleted parameter list. Each sentence serves a purpose. It could be trimmed slightly (e.g., the version requirement is detailed), but it remains efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with an output schema (though its content is unknown here), the description covers the essential invocation context: what it does, when it applies (prerequisites), and what each parameter means. It doesn't explain the return value, but the output schema likely covers that. Given the moderate complexity and existing schema, the description is sufficiently complete, though it could add failure scenarios to be more robust.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain all parameters. It does so clearly: track_index, clip_index, path, and user_prompt each get an explanation, including constraints like 'absolute path' and 'supported audio file'. It adds meaning beyond the schema (e.g., that the slot must be empty) and clarifies the telemetry purpose of user_prompt. This compensates well for the lack of schema descriptions.

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

Purpose4/5

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

The description clearly states the verb ('Create'), resource ('audio clip in an audio track's clip slot'), and method ('by importing a file'). It is specific and distinguishes it from generic 'create_clip' by explicitly mentioning 'audio', though it doesn't name sibling tools. It could be slightly stronger by explicitly contrasting with MIDI clip creation, but the 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.

Usage Guidelines4/5

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

The description provides concrete usage context: it requires Ableton Live 12.0.5+, and specifies prerequisites (target track must be audio, clip slot must be empty). This helps the agent decide when to use it. However, it doesn't explicitly state when NOT to use it or mention alternatives like create_clip or fire_clip, leaving some inference to the agent.

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.

Use this for recorded or imported audio (samples, stems, vocals). For MIDI instruments use create_midi_track instead.

Parameters:

  • index: The index to insert the track at (-1 = end of list)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNo
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It correctly indicates that the tool creates a new track but does not elaborate on side effects like whether the track is selected, visible in arrangement view, or how indices behave when inserting. The description also mentions telemetry (user_prompt) but lacks detail on what constitutes a valid 'original user prompt'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with the primary purpose in the first sentencefront-loaded. The usage guidance and parameter explanations follow logically, and every sentence adds value without repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple (2 params, no required ones), and the output schema exists, so return values are already encoded. The description covers creation context and parameters. It lacks some details like available track counts, naming behavior, or error conditions, but given the simplicity, it is nearly complete. The absence of side-effect notes slightly reduces completeness, hence a 4.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only names and defaults for the two parameters, with 0% description coverage in the schema. The description compensates by explaining 'index' as the insertion position with -1 meaning end of list, and 'user_prompt' as the original prompt for telemetry. This adds necessary meaning beyond the schema, though it could be more detailed on index semantics (e.g., what happens on out-of-range indices).

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

Purpose5/5

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

The description clearly states the tool's purpose: creating a new audio track in the Ableton session-time domain. It mentions the specific resource (audio track) and the action (create), and distinguishes it from the sibling tool 'create_midi_track' by explicitly noting that it is for recorded or imported audio, not MIDI instruments.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('for recorded or imported audio') and provides a clear alternative: 'use create_midi_track instead' for MIDI instruments. This directly addresses when not to use the tool and routes the agent to the correct sibling, leaving no ambiguity.

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

create_clipB

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)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthNo
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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 action (create) but doesn't disclose side effects, such as whether an existing clip in the slot will be overwritten, whether the clip is empty or contains default content, or whether the operation is undoable. The description also doesn't mention any constraints like track/clip index validity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main action, followed by a clear parameter list. It earns its place without excessive verbosity. The parameter list is a reasonable addition given the 0% schema coverage, though it could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema (not shown in detail) and 4 parameters, but the description doesn't explain return values or side effects. For a creation tool, it should clarify what happens on success/failure, whether existing clips are replaced, and any prerequisites. The parameter list helps, but the behavioral gaps make it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does list all four parameters with brief explanations, which adds meaning beyond the bare schema. However, the explanations are minimal—e.g., 'length' is described as 'length in beats' but no range or format is given, and 'user_prompt' is described as telemetry but its optionality is not clarified beyond the schema default.

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

Purpose4/5

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

The description clearly states the action ('Create a new MIDI clip') and the target resource ('in the specified track and clip slot'). It distinguishes itself from siblings like create_audio_clip and add_notes_to_clip by specifying MIDI clip creation, though it doesn't explicitly name those alternatives.

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

Usage Guidelines3/5

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

The description implies usage context by specifying the target track and clip slot, but it doesn't explicitly state when to use this tool versus alternatives like create_audio_clip or add_notes_to_clip. It provides the core parameters but no guidance on prerequisites (e.g., track must exist) or 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.

create_locatorA

Create a named locator (cue point) in the Arrangement at a beat position.

If a locator already exists at that beat (within ~1e-3 tolerance) it is renamed instead of toggled off. Time is in beats from the start of the arrangement (e.g. 0.0 = start, 16.0 = bar 5 in 4/4).

Parameters:

  • name: The locator label (e.g. "Chorus", "Verse 1", "Drop")

  • time: Beat position where the locator should sit

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
timeYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden and does so well: it discloses the rename-rather-than-toggle behavior, the ~1e-3 tolerance, and the beat-based time convention. This goes beyond a generic 'create' statement, though it does not mention permissions, failure modes, or side effects beyond the rename case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: the core purpose is front-loaded, followed by a relevant behavioral caveat, then a concise time-convention note, and finally a clear parameter breakdown. Every sentence adds value, and there is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with an output schema, the description covers everything needed to invoke it correctly: required parameters, units and examples, optional telemetry, and a non-obvious existing-locator behavior. An agent can confidently call this tool without further clarification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

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's parameter section adds critical meaning: it explains that 'name' is a locator label with examples, 'time' is measured in beats from arrangement start with concrete examples, and 'user_prompt' is for telemetry. This fully compensates for the schema gap.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Create a named locator (cue point) in the Arrangement at a beat position.' It clearly distinguishes this from arrangement navigation and clip manipulation siblings by focusing on named cue points, and even clarifies a key edge behavior (rename vs. toggle).

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

Usage Guidelines3/5

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

The description makes the tool's purpose obvious and gives contextual details about beat-time interpretation, but it does not explicitly state when to prefer this tool over alternatives or mention any exclusions. Since no sibling tool performs the same function, the usage context is reasonably implied rather than fully explicit.

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

create_midi_trackA

Create a new MIDI track in the Ableton session.

Parameters:

  • index: The index to insert the track at (-1 = end of list)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNo
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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 'Create a new MIDI track' without revealing side effects, reversibility, or interaction with session state. The parameter description for index hints at insertion behavior, but the overall behavioral transparency is minimal 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a single purpose sentence immediately followed by a clear parameter list. It is front-loaded with the core action and contains no filler, efficiently conveying the necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with two parameters, both explained, and an output schema exists to define return values. The description covers the essential purpose and parameter semantics. It lacks details on naming or session state effects, but for a straightforward creation operation, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description properly compensates by explaining both parameters: 'index' as the insertion point with -1 meaning end of list, and 'user_prompt' for telemetry. This adds meaningful semantics beyond the bare schema types and defaults, though it doesn't discuss range constraints beyond -1.

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

Purpose5/5

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

The description states a specific verb ('Create'), a specific resource ('MIDI track'), and the context ('in the Ableton session'). This clearly distinguishes the tool from its sibling create_audio_track, which creates an audio track instead. The purpose 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.

Usage Guidelines3/5

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

The description provides clear context (Ableton session) and implies usage when a MIDI track is needed, but it gives no explicit guidance on when to choose this over alternatives like create_audio_track or create_clip. No 'when not to use' or alternative routing is mentioned, leaving the agent to infer from the resource name.

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

delete_clipA

Delete the clip in the given clip slot, freeing it for reuse.

Use this before create_clip when you want to overwrite an existing clip (create_clip itself refuses to write into an occupied slot).

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip slot to clear

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior2/5

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 the tool deletes and frees a slot, implying a destructive action, but does not disclose irreversibility, permissions, or side effects. For a mutation tool without 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core action, followed by usage guidance and parameter explanations. 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with two indices, the description covers the essential purpose, usage, and parameters. The existence of an output schema covers return values, and the description doesn't need to elaborate on them. It could mention destructiveness more explicitly, but that falls under behavioral transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains each parameter's purpose (track index, clip index, user_prompt for telemetry) despite 0% schema coverage. This adds meaning beyond the schema's type/title fields and compensates for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool deletes a clip in a given slot and frees it for reuse. The verb 'delete' and resource 'clip slot' are specific, and it distinguishes from siblings like create_clip by the action it performs.

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

Usage Guidelines5/5

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

The description explicitly says to use this tool before create_clip when overwriting an occupied slot, and notes that create_clip refuses to write into occupied slots. This gives clear when-to-use guidance and names the alternative.

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

duplicate_to_arrangementA

Copy a Session-view clip into the Arrangement timeline.

Uses Live's track.duplicate_clip_to_arrangement() API (Live 11 / 12). The clip is placed at destination_time beats from the start of the arrangement on the same track it lives in.

Typical workflow:

  1. create_clip / add_notes_to_clip to build a Session clip

  2. Call duplicate_to_arrangement once per bar/section you need

  3. Call switch_to_arrangement_view to confirm the result in Live

Parameters:

  • track_index: Index of the track that owns the Session clip

  • clip_index: Index of the clip slot in that track (Session view)

  • destination_time: Beat position in the arrangement to place the clip (e.g. 0.0 = start, 8.0 = bar 3 in 4/4)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_indexYes
track_indexYes
user_promptNo
destination_timeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It explains the operation, placement at destination_time beats, and same-track behavior, and it mentions the underlying Live API. It does not disclose potential side effects such as overlap/overwrite behavior or failure conditions when the source clip or track is invalid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then uses a compact API note, a helpful workflow list, and a clear parameter block. Every sentence contributes usable information and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with no annotations, the description is nearly complete: purpose, parameters, workflow, and placement semantics are all present, and an output schema exists so return values need not be spelled out. The only notable gap is the lack of side-effect/failure context around placing a clip where arrangement content may already exist.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

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 documenting every parameter, including the telemetry-only user_prompt. destination_time gets a concrete beat-position explanation with an example, which is significantly more useful than the bare property name.

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

Purpose5/5

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

The description opens with a specific verb and resource: copy a Session-view clip into the Arrangement timeline. It names the exact API and its Live version, and the Session-vs-Arrangement framing distinguishes it from siblings like set_arrangement_clip_name and get_arrangement_clips.

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

Usage Guidelines4/5

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

A three-step typical workflow tells the agent to build a Session clip first, call duplicate_to_arrangement once per needed section, and confirm with switch_to_arrangement_view. This gives clear when-to-use context, though it does not spell out when not to use it or name direct alternatives.

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

fire_clipB

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

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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 state whether playback transport must be active, whether firing a clip stops or overlaps others on the same track, or any side effects — only that a telemetry parameter exists. The disclosed behavior is thin for a tool that triggers an audible action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tight — a one-sentence purpose followed by a compact parameter list with no filler. Purpose is front-loaded and every line earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no elaboration. The two required indices and the telemetry param are covered, but the missing distinction from start_playback and the unstated runtime precondition (whether transport must be running) leave the agent under-informed for a tool with audible side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: it explains what track_index and clip_index refer to ('the track containing the clip' and 'the clip slot containing the clip') and identifies user_prompt as telemetry. This adds meaning beyond the bare schema titles.

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

Purpose4/5

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

'Start playing a clip' states a specific verb and resource clearly. However, it does not differentiate from the sibling 'start_playback', which also initiates audio, leaving an agent to guess which one fires a single clip versus the whole transport.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. Notably, 'start_playback' and 'stop_clip' are siblings, and the description gives no hint about whether transport must already be running for fire_clip to have an effect, or how it relates to those tools.

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

get_arrangement_clipsA

List all clips placed in the Arrangement timeline for a track.

Returns each clip's name, start_time, end_time, length, and type.

Parameters:

  • track_index: The index of the track to inspect

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries behavioral burden. It does reveal that user_prompt is used for telemetry, and 'List' implies a read operation, but it never explicitly states read-only behavior, side effects, or behavior on invalid track_index. This leaves some ambiguity, but the read nature is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences including a param list, with no filler. The lead sentence front-loads the exact function, and the return format and parameter explainers each earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with output schema, the description gives enough for an agent to invoke it: param names, behavior, and return types. It only lacks core details like time units and track-index valid range, which are minor and likely discoverable from the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains track_index as 'the index of the track to inspect' and user_prompt as telemetry purpose. This adds meaningful value over the bare integer/string schema, though track_index lacks explicit 0-based vs 1-based detail.

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

Purpose5/5

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

Uses a specific verb 'List' with the resource 'clips placed in the Arrangement timeline for a track', which clearly distinguishes it from sibling tools like get_session_snapshot (Session view) and get_track_info. The scope and return fields are stated unambiguously.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance is given, though the use case is implied by 'List all clips placed in the Arrangement timeline for a track'. It does not mention alternatives like get_clip_notes, so the agent must infer when to choose this tool.

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

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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, and the telemetry note for user_prompt adds some transparency. However, it does not disclose behavior for invalid paths, missing categories, or empty results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the core purpose, and uses a clean parameter list. No filler or unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists and the tool is a straightforward look-up, the description is adequate: it names the operation, parameter format, and even explains the optional telemetry parameter. The main gap is not listing what browser categories are available, but that is likely discoverable from get_browser_tree or the environment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the parameter descriptions matter. The description adds meaningful detail: path format 'category/folder/subfolder' and the telemetry purpose of user_prompt. It could go further with example categories or edge cases, but it compensates for the schema gap adequately.

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

Purpose5/5

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

The description uses a specific verb and resource: 'get browser items at a specific path in Ableton's browser.' This clearly distinguishes it from tools like get_browser_tree or get_session_info, and the phrase 'at a specific path' clarifies its scoped behavior.

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

Usage Guidelines4/5

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

The description clearly conveys when to use the tool: when you need browser items for a specific path. It does not explicitly contrast it with alternatives like get_browser_tree, but the path-based framing supplies clear context.

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

get_browser_treeC

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')

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_promptNo
category_typeNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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 whether the operation is read-only or has side effects, the output format beyond 'hierarchical tree', or any rate limits or telemetry use (though 'user_prompt' parameter suggests telemetry). It lacks information on what happens with invalid category_type or if the tree includes specific details. The description is minimal and does not provide behavioral context beyond the basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and includes a parameters list, which helps structure. The core function is stated up front, and the parameter details follow. However, the parameter list is redundant with the schema, and the description could be more concise while adding more value. It's structured but not particularly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is an output schema (of unknown content), the description doesn't need to explain the return structure fullyhol, but it doesn't mention any output details either. The tool involves multiple category types and likely nested structures, but the description lacks specifics on usage constraints, error handling, or how the hierarchy is organized. It is adequate for a basic call but incomplete for a tool with this complexity and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no descriptions for the parameters. The description does list the parameters and gives an example list for category_type, which adds some value over the schema. However, it doesn't explain the semantics of user_prompt beyond 'for telemetry', which is vague, nor does it clarify the default behavior or what 'all' means in context. It partially compensates but leaves several parameters under-explained.

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

Purpose3/5

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

The description states that the tool gets a hierarchical tree of browser categories from Ableton, which is clear and specific. However, it doesn't explicitly differentiate from the sibling get_browser_items_at_path, which may also return browser hierarchy. The description names the resource (browser categories) and the verb (get), but the differentiation is weak, leaving some ambiguity.

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

Usage Guidelines3/5

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

The description lists the category_type parameter with options, which implies when to use different subtypes. It doesn't explicitly state when to use this tool versus alternatives like get_browser_items_at_path or get_session_info; the guidance is implied but not explicit. It doesn't mention any exclusions or prerequisites, so the guidance is moderate.

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

get_clip_notesA

Read all MIDI notes from a Session-view clip.

Returns pitch, start_time, duration, velocity, mute (and extended fields when available).

Parameters:

  • track_index: Track that owns the clip

  • clip_index: Session clip slot index

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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 return fields (pitch, start_time, duration, velocity, mute) and hints at extended fields, but does not explicitly state that it is a read-only operation with no side effects, nor does it mention potential failure conditions like invalid indices or missing clips. The description is reasonably transparent but leaves room for behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the purpose, and lists parameters in a structured list. It avoids unnecessary verbosity and is easy to scan, though the parameter list could be seen as slightly redundant given the schema already lists them.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description doesn't need to detail return values. It covers the key context: the tool reads from a Session-view clip, lists the fields, and clarifies parameter roles. It lacks details on error handling or edge cases, but for a read tool with a clear purpose, this is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It does: each parameter is given a meaningful explanation (track_index: Track that owns the clip, clip_index: Session clip slot index, user_prompt: telemetry). This adds value beyond the raw schema, though it lacks specific ranges or examples.

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

Purpose5/5

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

The description states a specific action ('Read all MIDI notes from a Session-view clip') with a clear resource (MIDI notes in a clip) and distinguishes it from sibling tools like get_track_info or get_session_info. It also lists the returned fields, which solidifies the purpose.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. An agent would have to infer that it is for reading clip notes based solely on the purpose, 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.

get_device_parametersB

Read all parameters for a device on a track (name, value, min, max).

Parameters:

  • track_index: Track that owns the device

  • device_index: Index into the track's device chain

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
track_indexYes
user_promptNo
device_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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 states that it reads parameters, implying no side effects, but it does not disclose behavior for invalid indices, missing devices, or return structure. There is no contradiction with annotations (none exist), but the disclosure is minimal and lacks error-handling context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the core purpose is stated in the first sentence, followed by a clean parameter list. There is no redundant or verbose language; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the existence of an output schema, the description covers the essential parameters and purpose. However, it omits any mention of failure modes (invalid indices) or return format, relying on the output schema (which is not detailed). With no annotations, this is a moderate gap, making it barely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description compensates well by explaining each parameter: track_index (owner track), device_index (index into device chain), and user_prompt (telemetry). This adds meaning beyond the bare schema and clarifies the purpose of each argument, though it stops short of describing value formats or constraints.

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

Purpose4/5

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

The description states a clear verb ('Read') and resource ('all parameters for a device on a track') and enumerates the kind of data returned (name, value, min, max). It is specific and unambiguous, but it does not explicitly differentiate from sibling tools like get_track_info or set_device_parameter beyond the verb itself, which is implicit rather than stated.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is a read-only operation suited for inspection, nor does it contrast with set_device_parameter or get_track_info. The user must infer usage from the verb and parameters alone.

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

get_remote_script_infoA

Report Ableton Remote Script version and capabilities (handshake).

Use this to verify the Live-side bridge matches this MCP server package.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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 implies a read-only operation ('Report') and a handshake check, which suggests no side effects. However, it does not mention error conditions or what happens on mismatch. For a simple info retrieval tool, this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with zero waste. The main purpose is front-loaded, and the usage guidance follows immediately. It is well-structured and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values need not be described. The description covers the core use case (verification) and the fact it is a handshake. However, it omits any explanation of the user_prompt parameter, which is a gap in completeness. Given the simplicity of the tool, this is a minor omission but still leaves the definition slightly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional parameter (user_prompt) with a default, and schema description coverage is 0%. The description does not mention this parameter at all, leaving its purpose unclear. While the parameter is optional and defaults to empty, an agent might need to know whether to pass it or not. The description fails to compensate for the lack of schema documentation.

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

Purpose5/5

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

The description clearly states the tool reports Ableton Remote Script version and capabilities, with a specific verb (report) and resource. It also mentions 'handshake' which clarifies its role in verifying the bridge. This distinguishes it from the sibling tools which are about sessions, tracks, and playback.

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

Usage Guidelines4/5

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

The description gives explicit guidance on when to use this tool: 'Use this to verify the Live-side bridge matches this MCP server package.' It provides a clear use case but does not mention alternatives or exclusions. Since the purpose is narrow and specific, this is adequate.

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

Parameters:

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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 says 'Get detailed information' but doesn't specify what 'detailed information' includes, whether the call is read-only, whether it requires a running session, or what the output structure is. An output schema exists, which helps, but the description itself adds little behavioral 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the main purpose in the first sentence. The parameter documentation is minimal and earns its place. It could be slightly more structured, but there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are presumably covered there. The description is complete enough for a simple read-only info tool, but it lacks detail on what 'detailed information' means and when to prefer this over get_session_snapshot or get_track_info. Given the sibling set includes several similar getters, a bit more context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does document the single parameter, user_prompt, explaining it is 'for telemetry.' This adds meaning beyond the schema, which only shows a default empty string. However, the description doesn't clarify whether the parameter is truly optional or how it affects the call, so it's adequate but not rich.

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

Purpose4/5

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

The description states a specific verb and resource: 'Get detailed information about the current Ableton session.' This clearly distinguishes it from sibling tools like get_track_info or get_clip_notes, which target narrower resources. However, it doesn't explicitly name a sibling or contrast itself, so it falls just 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.

Usage Guidelines3/5

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

The description implies usage: call this when you need detailed information about the current Ableton session. It doesn't explicitly state when not to use it or name alternatives like get_session_snapshot or get_track_info. The context is clear enough for an agent to infer, but there is no explicit routing guidance.

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

get_session_snapshotA

Capture a full project state snapshot for trajectory recording.

Includes session metadata, every track (mixer, devices, session clips, arrangement clips), optional MIDI notes, and optional device parameters. Used to version musical state S_t → S_{t+1}.

Parameters:

  • include_notes: Include MIDI note arrays in clips (default True)

  • include_params: Include device parameter values (default True)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_promptNo
include_notesNo
include_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses that notes and device parameters are optional and rarely included, but it does not explicitly confirm the operation is read-only, describe performance or payload size risks, or explain when to set include_notes/include_params to false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense, purposeful opening paragraph followed by a compact parameter list. It is front-loaded and avoids restating schema trivia or padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return value explanations are not needed. The description covers primary content, optional flags, and usage framing. It could still go further by noting the potential cost of a full-session snapshot and when to prefer more focused siblings like get_track_info or get_clip_notes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

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, and it does: each parameter gets a meaningful explanation, including user_prompt's telemetry purpose. This adds genuine value beyond the raw boolean/string schema.

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

Purpose5/5

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

The description starts with a specific verb+resource ('Capture a full project state snapshot') and then enumerates its exact scope: session metadata, every track, mixer, devices, session/arrangement clips. This clearly distinguishes it from lighter siblings like get_session_info or get_track_info.

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

Usage Guidelines4/5

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

It gives explicit usage context: the tool is for trajectory recording and versioning musical state S_t -> S_{t+1}. However, it does not explicitly state when not to use it or suggest a lighter alternative for one-off, targeted reads.

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

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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 that it's a read-only operation (getting info) but does NOT mention any prerequisites (e.g., whether a track must exist at the index), error handling (e.g., what happens if track_index is out of range), or return details. For an unannotated tool, this is a significant gap in 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear opening statement and parameters listed in a bullet-like format. It's front-loaded with the main purpose. The parameter descriptions are repetitive with the schema but not verbose. It earns a 4 for good structure and minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with 2 parameters (1 required), and an output schema exists, the description is incomplete. It doesn't discuss error conditions (e.g., invalid track_index), the expected return shape (even though output schema exists, it might be nested or complex), or any side-effects (likely none, but not stated). Given that annotations are absent, this feels under-specified. Should at least mention that the tool returns details without modification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 the parameters. It does restate the parameter names and basic purpose ('The index of the track', 'original user prompt for telemetry'), which adds minimal value over the schema. However, it doesn't clarify what 'track_index' means (0-based vs 1-based) or acceptable ranges, and 'user_prompt' is described but not fully justified. Since coverage is zero, the description should compensate but only barely does.

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

Purpose4/5

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

The description clearly states a specific verb and resource: 'Get detailed information about a specific track' in Ableton. It distinguishes itself from sibling tools like get_session_info by focusing on individual tracks. However, it doesn't explicitly contrast with siblings such as get_clip_notes or get_session_snapshot, 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.

Usage Guidelines3/5

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

The description implies usage context (when you need track details, use this), but it doesn't explicitly state when to prefer this over alternatives like get_session_snapshot for broader context. No exclusions or when-not-to-use guidance is provided. It's adequate for a simple read operation but lacks explicit routing.

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')

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
kit_pathYes
rack_uriYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

Annotations are not provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does but does not mention side effects, reversibility, permissions required, or what happens on failure. For a mutation-like operation (loading a kit into a rack), the agent has no idea if this overwrites existing content or requires specific authorization. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and well-structured, with a clear one-sentence summary followed by a parameter list. The main purpose is front-loaded, and the parameter details are concise. No unnecessary fluff. It could arguably be slightly more compact by removing the 'Parameters:' label, but it is efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema (though not shown), so return values are likely documented elsewhere. However, the description does not cover preconditions (e.g., the track must exist, the rack URI must be valid), error handling, or whether the operation is destructive. For a complex operation involving multiple steps, more context on expected state and failure modes would be needed. Given the available info, it is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

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 parameter list with explanations and examples for each parameter (track_index, rack_uri, kit_path, user_prompt). This adds substantial meaning beyond the schema's bare titles and types, fully compensating for the lack of schema descriptions. The examples clarify the expected format (e.g., 'Drums/Drum Rack').

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

Purpose4/5

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

The description clearly states the tool's function: 'Load a drum rack and then load a specific drum kit into it.' It specifies the verb (load) and resource (drum rack and kit), which is clear and specific. However, it does not explicitly distinguish itself from the sibling 'load_instrument_or_effect' or other loading tools, so it loses a point for lacking differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'load_instrument_or_effect' or 'create_midi_track'. It does not mention preconditions (e.g., track must already exist) or scenarios where another tool would be more appropriate. There is no when-to-use or when-not-to-use information.

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

load_instrument_or_effectB

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')

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

There are no annotations, so the description is the only source of behavioral information. It only states the action (load) without disclosing side effects, required permissions, reversibility, or error conditions. It does not mention what happens to existing devices on the track or whether the action can be undone. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, starting with the core purpose and then listing parameters. It is well-structured with a clear breakdown. The parameter list adds length but is necessary given the schema's lack of descriptions. No unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the parameters but omits critical context: how to obtain a valid URI, what happens if the track index is invalid, whether the tool replaces existing devices, and what the output schema contains (if anything). The presence of an output schema suggests a result, but the description doesn't hint at it. It also doesn't mention any prerequisites like a loaded session or selected track. Given the complexity of loading devices, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions (0% coverage), so the description takes on the role of explaining each parameter. It provides a clear explanation for track_index and uri, with a concrete URI example, and explains that user_prompt is for telemetry. This adequately compensates for the schema's lack of detail, though it could go further with URI handling or track requirements.

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

Purpose5/5

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

The description states exactly what the tool does: 'Load an instrument or effect onto a track using its URI.' It clearly distinguishes from sibling load_drum_kit by covering both instruments and effects, and from browsing tools by focusing on loading onto a track. The verb 'load' and resource 'track' are specific.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention that it is the general loader and load_drum_kit is for drum kits specifically, nor does it explain any preconditions like having a track selected or a valid URI from the browser. 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.

prefer_candidateA

Record a pairwise preference between two candidate actions or auditions.

winner should be 'a', 'b', or an explicit candidate id matching A or B.

Requires telemetry consent.

Parameters:

  • candidate_a: Id / URI / label for option A

  • candidate_b: Id / URI / label for option B

  • winner: 'a', 'b', or the winning id

  • reason: Optional reason ("C has the right attack")

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
winnerYes
candidate_aYes
candidate_bYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses a telemetry consent prerequisite and the winner format constraint, but does not describe the broader effect of recording, reversibility, or side effects. It adds some behavioral context but is 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. The main purpose is front-loaded, followed by a key constraint, a prerequisite, and a clear parameter list. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with an output schema, the description covers purpose, parameters, and a prerequisite. It does not detail post-recording behavior or edge cases, but the output schema likely covers returns, making it fairly complete. Minor gaps remain on what the recording affects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description fully compensates. It explains each parameter: candidate_a/b as Id/URI/label, winner as 'a','b', or id, reason as optional with an example, and user_prompt for telemetry. This adds significant meaning beyond the bare schema titles.

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

Purpose4/5

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

The description clearly states the verb 'Record' and the resource 'pairwise preference between two candidate actions or auditions', and clarifies the winner format. It is specific enough to distinguish from siblings like record_audition, though it could be slightly more precise about what 'candidate' refers to in context.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives like rate_last_action or record_audition. It only notes a telemetry consent requirement, but does not state conditions for selection or exclusions.

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

rate_last_actionA

Rate the most recent recorded action (or the track after an edit).

Ratings: better | same | worse | keep | reject | thumbs_up | thumbs_down Optional tags (comma-separated): groove, harmony, melody, sound, arrangement, energy, mix, emotion

Requires telemetry consent.

Parameters:

  • rating: Preference label

  • tags: Comma-separated aspect tags

  • note: Optional free-text reason

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
tagsNo
ratingYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It discloses the telemetry consent prerequisite and the accepted rating/tag vocabulary, which is meaningful context. It does not describe side effects, persistence, reversibility, or failure behavior, leaving the behavioral picture incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well structured, with a front-loaded purpose sentence followed by a concise enum list, example tags, a prerequisite, and a short parameter legend. Every section adds necessary information without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, valid values, tag options, all parameter meanings, and a prerequisite, which is strong for a tool with an output schema and one required parameter. It stops short of explaining boundary conditions such as how this relates to reject_last_action or what happens when telemetry consent is not granted, so it is not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description defines every parameter clearly: rating as a preference label, tags as comma-separated aspects, note as an optional free-text reason, and user_prompt as the originating prompt for telemetry. It also lists the allowed rating values, which the input schema omits entirely.

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

Purpose4/5

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

The description clearly identifies the action (rate) and the resource (most recent recorded action or track after edit), making the tool's purpose evident. It does not explicitly contrast with the sibling reject_last_action even though 'reject' appears as a rating value, so sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

The description provides useful usage context: the target is the most recent recorded action or edited track, and it lists valid rating values and optional tags. It does not explain when to prefer reject_last_action or record_audition over this tool, nor how to handle missing telemetry consent.

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

record_auditionA

Log a browser/preset/sample audition (keep or reject) for preference learning.

Call once per candidate auditioned. Does not load the device — use load_instrument_or_effect when kept=True and you want to commit.

Requires telemetry consent.

Parameters:

  • uri: Browser item URI (or stable preset/sample id)

  • kept: Whether this candidate was kept

  • search_query: Optional search text that led here (e.g. "analog bass")

  • dwell_ms: Optional time spent auditioning

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYes
keptNo
dwell_msNo
user_promptNo
search_queryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavior, and it discloses meaningful side-effect boundaries: it logs/records for telemetry and preference learning, does not load the device, and requires telemetry consent. It does not specify failure behavior when consent is absent or how logged data is retained, so it is not fully exhaustive, but it is transparent about the main 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly organized: a one-sentence purpose, two critical behavioral directives, and a compact parameter list. No sentence is redundant; each line carries operational information, and the most decision-relevant facts are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no annotations, this is complete: it covers purpose, calling cadence, consent prerequisite, side-effect boundary, the relationship to load_instrument_or_effect, and the meaning of each parameter. Since an output schema is present, return-value details do not need to be repeated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description compensates completely with a parameter list that adds meaning beyond the bare schema titles: uri is described as 'Browser item URI (or stable preset/sample id)', search_query includes a concrete example, and user_prompt explains its telemetry purpose. Every parameter receives useful semantic context.

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

Purpose5/5

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

The description opens with a specific action and scope: 'Log a browser/preset/sample audition (keep or reject) for preference learning.' This clearly identifies the resource and purpose, and the sentence 'Does not load the device' explicitly separates it from the sibling load_instrument_or_effect. An agent can tell what this tool is for without needing to inspect the schema.

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

Usage Guidelines5/5

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

It gives a clear call policy ('Call once per candidate auditioned'), a prerequisite ('Requires telemetry consent'), and an explicit when-not-to-use with an alternative ('Does not load the device — use load_instrument_or_effect when kept=True and you want to commit'). This is strong routing guidance beyond what the schema provides.

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

reject_last_actionA

Mark the last action as rejected (exploration / preference boundary).

Use when the human undoes or discards an agent edit. Requires telemetry consent.

Parameters:

  • reason: Optional why it was rejected

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses a meaningful behavioral trait ('Requires telemetry consent') and frames the action as a preference boundary, but it does not state whether the rejection is reversible, whether it modifies or deletes the last action, or what happens if consent is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and each sentence earns its place: trigger, consent prerequisite, then parameter explanations. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter feedback tool, the description covers what, when, prerequisite, and parameter semantics. An output schema is present, so return-value details are not required. It could be more complete by distinguishing itself from sibling feedback tools, but it is not missing critical invocation information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates by explaining both parameters: 'reason' as optional rejection rationale and 'user_prompt' as the originating prompt for telemetry. This adds meaning beyond the schema's type/default fields, though it could explicitly mark user_prompt as optional.

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

Purpose4/5

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

The description uses a specific verb and object ('Mark the last action as rejected') and adds domain context ('exploration / preference boundary'). It clearly conveys the tool's role, though it does not explicitly name or contrast sibling feedback tools like rate_last_action or prefer_candidate.

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

Usage Guidelines4/5

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

It gives an explicit trigger: 'Use when the human undoes or discards an agent edit,' plus a prerequisite ('Requires telemetry consent'). However, it does not say when not to use it or point to alternatives such as rate_last_action or prefer_candidate.

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

set_arrangement_clip_nameA

Set the name of a clip placed in the Arrangement timeline.

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip within track.arrangement_clips, in the same order returned by get_arrangement_clips (i.e. ordered by start_time)

  • name: The new name for the clip

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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 detailing side effects, reversibility, error conditions, or any state requirements. The mention of clip_index ordering is parameter semantics, not behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, front-loading the action and following with a clear parameter list. Every sentence earns its place, with no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema details, the description is incomplete. It omits error handling, validation rules, and what happens if indices are invalid. The lack of behavioral context makes it insufficient for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the schema, which has no descriptions. It explains that clip_index is ordered by start_time as returned by get_arrangement_clips, and clarifies user_prompt is for telemetry. This fully compensates for the 0% schema coverage.

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

Purpose5/5

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

The description clearly states the tool sets the name of a clip in the Arrangement timeline, using a specific verb and resource. It differentiates from the sibling set_clip_name by specifying the location, which is essential for selecting the correct tool.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like set_clip_name. It does not mention any prerequisites, conditions, or when not to use it, leaving the agent to infer from the Arrangement timeline mention.

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

set_arrangement_timeA

Move the arrangement playhead to a specific position.

Parameters:

  • time: Position in beats from the start of the arrangement (e.g. 8.0 = bar 3 in 4/4)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
timeYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It clearly states the state change and gives the position unit, but it does not disclose side effects such as what happens if playback is running, how invalid or negative values are handled, or 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: one purpose sentence followed by a minimal parameter list. Every line adds necessary information, and the most important action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter state mutation the core calling details are present, but the absence of annotations leaves gaps around transport state, valid ranges, and whether moving the playhead has any prerequisite. Since an output schema exists, lack of return-value detail is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description fully documents both parameters: 'time' includes unit, reference point, and a concrete example; 'user_prompt' explicitly labels its telemetry purpose. This exceeds what the bare schema provides.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Move the arrangement playhead to a specific position.' It clearly communicates the tool's unique function among siblings such as set_tempo or start_playback, with no apparent overlap.

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

Usage Guidelines2/5

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

The description gives no guidance about when to prefer this tool over alternatives, nor does it mention prerequisites or caveats such as needing arrangement view or stopping playback. Usage context is only implied by the action itself.

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

set_clip_nameC

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

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits itself. It only says 'Set the name' and does not mention what happens if the clip does not exist, whether the operation is reversible, or whether it requires a loaded session. The user_prompt telemetry detail is useful but is parameter context, not operation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core action, followed directly by a clean parameter list. Every line serves a purpose, and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is not required. However, with no annotations, no sibling differentiation, and sparse parameter semantics, the description leaves usage context and failure behavior largely implied. It is minimally viable but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the parameter bullets are the only source of semantics. They provide basic role information, such as 'the index of the track containing the clip' and 'the original user prompt... for telemetry', but they do not add constraints, value formats, or edge-case details. This is partial compensation, not full coverage.

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

Purpose4/5

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

The description states a specific action and resource: 'Set the name of a clip.' It is clearly distinct from sibling tools like set_track_name, and the mention of 'clip slot' implies session clips rather than arrangement clips. It does not explicitly name sibling alternatives, so it stops short of 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.

Usage Guidelines2/5

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 instead of set_arrangement_clip_name, set_track_name, or other clip-related tools. No prerequisites, conditions, or scenarios are given; the description is effectively only a parameter list.

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 to a specific value.

Use get_device_parameters first to discover parameter indices and ranges.

Parameters:

  • track_index: Track that owns the device

  • device_index: Index into the track's device chain

  • parameter_index: Index into device.parameters

  • value: New parameter value (Live parameter units)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
track_indexYes
user_promptNo
device_indexYes
parameter_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does a reasonable job: it identifies the mutation, states that values are in Live parameter units, and warns that ranges must be discovered first. It does not address failure/clamping behavior, but the essential behavior is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action sentence is front-loaded, and the parameter list is compact and informative without redundancy. Every sentence either defines the action or adds a necessary invocation detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description includes the key prerequisite, explains the unique value unit, and clarifies the telemetry parameter, so an agent has what it needs to call correctly. Minor caveats such as response/error behavior are left to the output schema and are not essential here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description supplies meaningful semantics for all five parameters, including ownership, indexing schemes, unit interpretation, and telemetry purpose. This fully compensates for the bare schema.

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

Purpose5/5

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

The description names a specific verb ('Set') with a precise resource ('a device parameter') and the target outcome ('to a specific value'). It is immediately distinct from siblings like get_device_parameters and set_track_name.

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

Usage Guidelines4/5

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

It gives an explicit prerequisite and names the sibling to call first: 'Use get_device_parameters first to discover parameter indices and ranges.' It does not spell out when not to use this tool, 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.

set_tempoB

Set the tempo of the Ableton session.

Parameters:

  • tempo: The new tempo in BPM

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
tempoYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose side effects, constraints, or reversibility. It only states the action without mentioning the effect on the session state, acceptable tempo range, or whether the change persists. The telemetry note for user_prompt is helpful but does not cover the mutation's behavioral footprint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loads the core action, and then lists parameters compactly. No wasted words; the telemetry explanation is valuable and placed after the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no disclosed output schema, the description is incomplete. It does not state whether the operation is reversible, what happens if the tempo is out of range, or any confirmation message. The existence of an output schema is not reflected, so the agent cannot anticipate the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining both parameters: tempo is in BPM and user_prompt is for telemetry. This adds meaning beyond the raw schema types. However, it lacks detail on tempo valid range or formatting, so it is not a full 5.

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

Purpose5/5

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

The description clearly states 'Set the tempo of the Ableton session' with a specific verb and resource. It is easily distinguished from sibling tools like set_track_name or set_device_parameter by the explicit resource and domain (Ableton tempo).

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives or context for its invocation. It does not mention conditions, prerequisites, or typical use cases beyond the bare action.

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

set_track_nameA

Set the name of a track.

Parameters:

  • track_index: The index of the track to rename

  • name: The new name for the track

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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 (set name) without mentioning side effects, mutability, reversibility, or error behavior (e.g., what happens if track_index is invalid). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loads the core purpose in one sentence. The subsequent parameter list is redundant with the schema, but it adds short descriptions that are helpful. There is no wasted text; however, the parameter list could be omitted if the schema already had descriptions, but given it doesn't, it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple setter, the description is mostly adequate. It explains what the tool does and the parameter roles. However, it does not mention how to obtain a valid track_index (e.g., from get_track_info) or handle potential errors, such as non-existent tracks. Given the complexity of the surrounding DAW context, a bit more context on prerequisites or return values would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists each parameter with a brief purpose: track_index, name, and user_prompt for telemetry. This adds meaning beyond the schema, which only provides types. However, it does not specify details like zero-based indexing or name length limits, but it covers the essential semantics.

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

Purpose5/5

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

The description clearly states the verb and resource: 'Set the name of a track.' It is specific enough to distinguish from sibling tools like set_clip_name or set_arrangement_clip_name, as it targets tracks rather than clips or arrangements. No ambiguity remains 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.

Usage Guidelines3/5

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

The purpose implies usage for renaming tracks, but there is no explicit guidance on when to use this vs alternatives or when not to use it. The description does not mention any prerequisites, such as obtaining a valid track_index, or contrast with similar tools. Usage is implied by the name and resource type, but not explicitly documented.

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

start_playbackB

Start playing the Ableton session.

Parameters:

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the transparency burden, but it only says playback starts. It does not disclose side effects such as whether playback begins from the current playhead, whether it can interrupt existing playback, or any state assumptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded, with a clear one-line action and a brief parameter explanation. No filler or redundant content is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and an output schema exists, so return-value documentation is not needed. However, the description lacks preconditions, behavior on repeated invocation, or relationships to other transport controls, so it is only partially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful context to the user_prompt parameter by labeling it as the 'original user prompt' used for telemetry, which is not evident from the raw schema. It does not fully specify optionality or format, but this is the only parameter and its purpose is clear.

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

Purpose4/5

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

The description clearly states a concrete action and resource: 'Start playing the Ableton session.' It is distinguishable from sibling tools like stop_playback, though it doesn't explicitly contrast itself with alternatives.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus similar transport or session controls. The agent is left to infer applicability 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.

stop_clipA

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

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_indexYes
track_indexYes
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It states only the primary effect, 'Stop playing a clip,' but omits observable side effects such as whether the clip is reset, whether it is idempotent, or what state the clip returns to.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded with the purpose, followed by a short parameter list. No filler, redundant information, or unnecessary detail is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter operation with an output schema, the description adequately defines the target and the required indices. However, it lacks surrounding context such as how this differs from stop_playback or how the clip state is affected, leaving the description only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates by defining each parameter: the track containing the clip, the clip slot, and the user prompt for telemetry. It does not clarify zero-based indexing or current-playback prerequisites, so a small semantic gap remains.

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

Purpose5/5

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

The description states the specific verb 'Stop' and the resource 'a clip', making the operation unambiguous. The parameter list names clip_index and track_index, which distinguishes it from nearby tools such as stop_playback and fire_clip.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use stop_clip versus stop_playback or other clip-control tools. An agent must infer the when-to-use from the tool name and parameter list, with no exclusions or alternatives mentioned.

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

stop_playbackB

Stop playing the Ableton session.

Parameters:

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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 only states the action without any side effects, reversibility, or what happens to the session state. For a playback control tool, an agent would benefit from knowing whether it affects all clips or only the main transport.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded, with a single clear sentence followed by a parameter list. There is no redundancy or filler, making it highly efficient for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, so reliance on the schema can fill in return details. However, the description provides no context about effects on the session (e.g., whether it stops all clips or just the global play) or any required state (e.g., must be in session view). This is the minimum viable for a stop action but leaves room for ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'user_prompt', is explicitly explained as 'for telemetry' and its purpose is clearly stated. Since the input schema has no description (coverage 0%), the tool description fully compensates by clarifying the parameter's role.

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

Purpose4/5

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

The description clearly states a specific verb ('Stop') and resource ('Ableton session'), making the tool's purpose immediately understandable. However, it does not explicitly differentiate it from related siblings like 'stop_clip' or 'start_playback', so it stops slightly 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.

Usage Guidelines2/5

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 prerequisites, conditions, or contrast with 'stop_clip' or other control tools. An agent would have 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.

submit_intentA

Record the human's creative intent for subsequent actions in this session.

Call this before a sequence of edits so trajectory steps are conditioned on intent. Levels: 1=atomic, 2=musical op, 3=section, 4=song, 5=creative goal.

Requires telemetry consent. Data is stored in Supabase (same project as telemetry).

Parameters:

  • text: Natural-language intent (e.g. "make the chorus feel bigger")

  • level: Hierarchical intent level 1–5 (default 5)

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
levelNo
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the telemetry consent requirement and where data is stored (Supabase), which are non-obvious behavioral traits. It also explains the level semantics. It stops short of describing failure modes or what happens without consent, but the key behaviors are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose, followed by a compact parameter list. Every sentence adds value—no filler. It efficiently communicates purpose, when to use, prerequisites, and parameter semantics in a short space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, return-value details are unnecessary. The description covers purpose, usage timing, prerequisites, parameter semantics, and level definitions. Nothing critical is missing for an agent to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It explains each parameter in plain language, provides an example for 'text', defines the 'level' scale, and clarifies 'user_prompt's purpose for telemetry. 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.

Purpose5/5

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

The description states a clear verb ('record') and a specific resource ('human's creative intent'), with a precise scope ('for subsequent actions in this session'). It differentiates from sibling tools by focusing on intent recording rather than audio, session, or transport operations.

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

Usage Guidelines4/5

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

Explicitly states when to call ('before a sequence of edits') and gives the rationale ('so trajectory steps are conditioned on intent'). It also notes a prerequisite ('Requires telemetry consent'), which is important for correct usage. It doesn't explicitly name alternatives, 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.

switch_to_arrangement_viewC

Switch Ableton's main window to the Arrangement view.

Parameters:

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

ParametersJSON Schema
NameRequiredDescriptionDefault
user_promptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description bears the full burden. It discloses only the action—switching to Arrangement view—with no mention of side effects, UI state changes, whether the current session view is affected, or that this mutates the application's view state. The user_prompt telemetry parameter is explained but broader behavioral context is absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core action ablative. The parameter list is redundant for a single telemetry param but not bloated; every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple view-switch tool with an output schema, the description covers the essential input and action. However, it lacks guidance on when to prefer this over related arrangement tools and any side effects, leaving minor but real gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the single user_prompt parameter as telemetry, adding meaning beyond the schema's title and default. Since there is only one parameter and no enums, this is adequate but minimal; it does not go beyond basic self-documentation.

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

Purpose4/5

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

The description states a specific action ('Switch Ableton's main window to the Arrangement view') with a clear resource and outcome. It is distinct enough from sibling tools like get_session_info or set_arrangement_time, though it doesn't explicitly contrast itself.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description simply states what the tool does without helping an agent decide between it and similarly named siblings.

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.

  1. 37 tool updatesv1.4.0
    • First observedadd_notes_to_clip
    • First observedclear_notes_from_clip
    • First observedcreate_audio_clip
    • First observedcreate_audio_track
    • First observedcreate_clip
    • First observedcreate_locator
    • First observedcreate_midi_track
    • First observeddelete_clip
    • First observedduplicate_to_arrangement
    • First observedfire_clip
    • First observedget_arrangement_clips
    • First observedget_browser_items_at_path
    • First observedget_browser_tree
    • First observedget_clip_notes
    • First observedget_device_parameters
    • First observedget_remote_script_info
    • First observedget_session_info
    • First observedget_session_snapshot
    • First observedget_track_info
    • First observedload_drum_kit
    • First observedload_instrument_or_effect
    • First observedprefer_candidate
    • First observedrate_last_action
    • First observedrecord_audition
    • First observedreject_last_action
    • First observedset_arrangement_clip_name
    • First observedset_arrangement_time
    • First observedset_clip_name
    • First observedset_dataset_consent
    • First observedset_device_parameter
    • First observedset_tempo
    • First observedset_track_name
    • First observedstart_playback
    • First observedstop_clip
    • First observedstop_playback
    • First observedsubmit_intent
    • First observedswitch_to_arrangement_view

TDQS

B3.2/5.0

Scored across 37 tools

Disambiguation3/5

Most DAW tools have clear targets, but several clusters are close: get_session_info vs get_session_snapshot, create_clip vs create_audio_clip, load_instrument_or_effect vs load_drum_kit, and the preference/trajectory tools (reject_last_action, rate_last_action, prefer_candidate, record_audition) overlap in purpose. Descriptions clarify the differences, but an agent could easily misselect without reading them carefully.

Naming Consistency4/5

Tool names overwhelmingly follow a clear verb_noun snake_case pattern: get_*, create_*, set_*, start_*, stop_*, fire_*, delete_*, load_*. Minor deviations exist, like create_clip lacking 'midi' while create_audio_clip explicitly says audio, and a few telemetry tools (prefer_candidate, record_audition, submit_intent) using varied verbs, but the overall pattern is coherent.

Tool Count2/5

At 37 tools, this is a large surface. A sizable subset consists of telemetry, consent, snapshot, intent, and preference-logging tools that are not core Ableton operations, making the set feel bloated and harder to navigate than necessary.

Completeness3/5

The core workflow is fairly well covered: clips can be created, populated, cleared, read, named, fired, stopped, deleted, and duplicated to arrangement; devices and browser browsing are covered. However, notable gaps remain, including no delete track, no mixer/solo/mute/volume/pan control beyond device parameters, no arrangement clip deletion/moving, and no locator deletion or listing, so some likely workflows end in dead ends.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    MCP server for controlling Ableton Live, enabling AI assistants to interact with Live sessions through tools for track/clip/scene management, playback control, and device parameter adjustments.
    48
    -
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that enables AI assistants to control Ableton Live, providing 104 tools for music production including track, clip, device, and mixer control.
    156
    7
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables AI agents to control Ableton Live 12 for music production, including generating grooves, basslines, and percussion, and executing live set operations through MCP.
    3
    2
    MIT