Skip to main content
Glama

ableton-copilot-mcp

An MCP (Model Context Protocol) server built on ableton-js for real-time interaction and control with Ableton Live's Arrangement View, dedicated to assisting music producers in their music production.

🎯 Note

As a music producer, I have some understanding of using Ableton for music creation. During the creative process, we often need to handle various tedious operations, such as humanizing note properties, merging notes, recording one track to another audio track, etc. Previously, we could only rely on the functions provided by the host DAW for these operations. However, with the emergence of large language models and MCP, we now have the possibility to let AI help us with automation. Although it's still not realistic for AI to directly generate notes or create a complete song (it can't generate a good-sounding song), having AI assist us with auxiliary operations presents a new possibility.

Related MCP server: ableton-mind

πŸŽ₯ Demo

This is a simple demonstration video of MIDI operations.

https://github.com/user-attachments/assets/8d635c4c-a1f2-44be-93ae-062038d14c71

πŸš€ Features

🎡 Song Control

  • Get basic song information (root note, scale name, tempo, song length, etc.)

  • Get a list of all tracks

  • Create MIDI, audio, and return tracks

  • Delete and duplicate tracks

🎹 Track Management

  • Get all clips in a track

  • Create empty MIDI clips in the arrangement view tracks

  • Create audio clips in tracks based on provided sample file paths

  • Set track properties (mute, color, name, arm, solo, etc.)

  • Duplicate MIDI clips to specified tracks

🎼 Clip Operations

  • Get clips in the piano roll view

  • Get and manage all notes in a clip

  • Add, delete, and replace notes in clips

  • Set clip properties (name, color, looping, loop_start, loop_end, etc.)

🎧 Audio Operations

  • Supports recording track content based on time range

πŸ”Œ Device Management

  • Load audio effects, instruments and plugins

  • Modify device parameters

  • Browse available devices in the library

πŸ“ State Management

  • Operation history tracking and detailed logging

  • Support for operation rollback (currently only supports note operations)

  • Browse and restore previous states

πŸ“ To-Do List

  • Support automatic envelope adjustment

  • Support more snapshot types (track properties, device parameters, etc.)

⚠️ Warning

  • Direct manipulation of MIDI clips by AI may result in the loss of original notes and cannot be undone with Ctrl + Z. Please operate with caution. If needed, you can ask the AI to help you roll back note operations.

πŸ“₯ Installation

Prerequisites

  • Node.js environment: Ensure Node.js is installed (v20+ recommended) and the npx command is available

    πŸ”— Download: Node.js official website

Installation Steps

1. Install AbletonJS MIDI Remote Scripts

Choose ONE of the following three methods to install MIDI Remote Scripts:

  • Method 1: One-line installation (Recommended)

    npx @xiaolaa2/ableton-copilot-mcp --install-scripts
    # or use the short form
    npx @xiaolaa2/ableton-copilot-mcp -is
  • Method 2: Tool-assisted installation

    1. First, start ableton-copilot-mcp (see Usage section below)

    2. Let AI assistant or manually call the MCP tool init_ableton_js to complete the installation automatically

  • Method 3: Manual installation

    1. Create a folder named "Remote Scripts" in your Ableton User Library:

      • Windows: C:\Users\[username]\Documents\Ableton\User Library\Remote Scripts

      • Mac: /Users/[username]/Music/Ableton/User Library/Remote Scripts

    2. Download MIDI Remote Scripts from the ableton-js project

    3. Copy the downloaded midi-script folder to the location above

    4. Rename it to AbletonJS

πŸ”§ Usage

Quick Start

  1. Launch Ableton Live

  2. Enable AbletonJS Control Surface

    • Open Ableton Live Preferences: Preferences β†’ Link/MIDI

    • In the MIDI tab, locate the Control Surface section

    • Select AbletonJS from the dropdown menu

  3. Connect using an MCP client

    The following clients can be used as MCP endpoints:

Client Configuration

Cursor Configuration Example

Add the following configuration to your Cursor settings:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp"
    ]
}

For the latest version:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp@latest"
    ]
}

Custom Storage Path (Optional)

You can specify a custom data storage location using the BASE_PATH environment variable:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp"
    ],
    "env": {
        "BASE_PATH": "D:\\ableton_copilot_mcp"
    }
}

πŸ’‘ Tip: The storage path is used to save log files, operation history, and state snapshots

βœ… Compatibility Testing

Compatibility primarily depends on the version support of the ableton-js library.

Ableton Live Version

Test Status

12.1.10

βœ… Tested and working

11.x

⚠️ Not tested yet

10.x

⚠️ Not tested yet

🀝 Contributing

Issues and contributions are welcome. Please submit issues or suggestions through GitHub Issues.

πŸ“„ License

This project is licensed under the MIT License.

⚠️ Disclaimer

This is a third-party integration and not made by Ableton.

Available Tools

23 tools
add_notes_to_clipC

Add notes to clip by clip id

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
notesYes[array] the notes to add.

TDQS

C2.9/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 states the action ('Add notes') but doesn't explain whether this is an append operation, if it overwrites existing notes, requires specific permissions, or has side effects. This is inadequate for a mutation tool with zero annotation coverage.

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 a single, direct sentence with no wasted words, making it highly concise and front-loaded. Every word contributes to stating the tool's purpose efficiently.

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, no output schema, and incomplete parameter documentation (50% schema coverage), the description is insufficient. It doesn't address behavioral traits, usage context, or output expectations, leaving significant gaps for an AI agent to understand and invoke the tool correctly.

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 mentions 'clip id' and 'notes', aligning with the two parameters in the schema. However, with 50% schema description coverage (only 'notes' has a description), the 'clip_id' parameter lacks documentation in both schema and description. The description adds minimal value beyond the schema's partial 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 clearly states the action ('Add notes to clip') and specifies the resource ('clip by clip id'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'replace_all_notes_to_clip' or 'get_all_notes_by_clipid', which would require explicit comparison to achieve 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?

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites (e.g., clip existence), exclusions, or comparisons to similar tools like 'replace_all_notes_to_clip' or 'remove_clip_all_notes', leaving usage unclear.

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

create_empty_midi_clipC

create empty midi clip on track

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthYesLength is given in beats and must be a greater value than 0.0.
timeYes[float] the time in beats of absolute clip time. such as 4 is 4 beats
track_idYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention whether this is a destructive operation, what permissions are needed, how errors are handled, or what the expected outcome looks like (e.g., clip ID returned).

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 a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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 creation tool with 3 required parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'empty midi clip' means in practice, what happens after creation, or how to handle the result. The lack of behavioral and output information leaves significant 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?

Schema description coverage is 67%, with 'track_id' lacking a description in the schema. The tool description adds no parameter-specific information beyond what's implied by the action ('on track' hints at track_id). It doesn't compensate for the undocumented parameter or provide additional context about parameter interactions.

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') and resource ('empty midi clip on track'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'duplicate_clip_to_track' or 'crop_clip', but the specificity of 'empty midi clip' provides some implicit distinction.

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 'duplicate_clip_to_track' or 'record_by_time_range'. It lacks context about prerequisites (e.g., needing an existing track) or typical scenarios for creating empty clips versus populated ones.

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

create_trackC

create track and return raw track

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNo[int] index of track default 0, range [0, track count]
typeYesthe type of track, "return", "audio", "midi"

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 states the tool creates a track and returns a raw track, but doesn't disclose behavioral traits such as what 'raw track' means, whether this is a destructive operation, if it requires specific permissions, or how it interacts with other tracks (e.g., insertion at index). This is inadequate for a mutation tool with zero annotation coverage.

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 extremely concise ('create track and return raw track'), with no wasted words. It's front-loaded and efficiently conveys the core purpose in a single phrase, making it easy to parse quickly.

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 the complexity of a track creation tool in a music production context, no annotations, no output schema, and many sibling tools, the description is incomplete. It lacks details on the return value ('raw track'), error conditions, or how it fits into the broader workflow, leaving significant gaps for an AI agent to understand and use it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for both parameters (index and type). The description doesn't add any meaning beyond what the schema provides, such as explaining the significance of track types or index usage. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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 'create track and return raw track' clearly states the verb ('create') and resource ('track'), with the additional outcome of returning a 'raw track'. It distinguishes from siblings like 'duplicate_track' or 'delete_track' by specifying creation. However, it doesn't fully differentiate from 'create_empty_midi_clip' in terms of resource type, 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 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 doesn't mention prerequisites, context (e.g., when to create a track in a music production workflow), or exclusions. With many sibling tools for managing tracks and clips, this lack of guidance is a significant gap.

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

crop_clipB

Crops the clip. The region that is cropped depends on whether the clip is looped or not. If looped, the region outside of the loop is removed. If not looped, the region outside the start and end markers is removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

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 behavioral disclosure. It explains the cropping logic based on loop status, which is useful, but fails to disclose critical traits: whether this is a destructive mutation (likely yes, given 'crop'), if it requires specific permissions, what happens to the cropped data (e.g., permanent deletion), or error handling. This leaves significant gaps for a tool that modifies content.

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 appropriately sized and front-loaded: it starts with the core action ('Crops the clip') and efficiently explains the conditional behavior in two clear sentences. Every sentence adds value without redundancy, making it easy to parse quickly.

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 the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It explains the cropping logic but omits essential context: the nature of the clip (audio/MIDI), whether the operation is reversible, what the output looks like (e.g., modified clip or success status), and error cases. This makes it inadequate for safe and effective use by an agent.

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 1 parameter (clip_id) with 0% description coverage, so the schema provides no semantic context. The description adds no information about the clip_id parameterβ€”it doesn't explain what a clip is, how to obtain its ID, or format requirements. Since there's only one parameter, the baseline is higher, but the lack of any parameter guidance limits utility.

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 purpose: 'Crops the clip' with specific behavior based on whether the clip is looped or not. It distinguishes the action from siblings like 'duplicate_clip_region' or 'set_clip_property' by focusing on removal of regions. However, it doesn't explicitly mention what 'crop' means in this context (e.g., trimming audio/MIDI data), 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 implies when to use this tool by explaining its behavior with looped vs. non-looped clips, suggesting it's for removing unwanted regions. However, it doesn't explicitly state when to choose this over alternatives like 'duplicate_clip_region' for extraction or 'set_clip_property' for adjustments, nor does it mention prerequisites (e.g., clip must exist).

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

delete_trackC

delete track by index

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYes[int] index of track
typeYesthe type of track, "return", "audio", "midi"

TDQS

C2.9/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. 'delete track' implies a destructive mutation, but it doesn't specify permanence, confirmation requirements, error conditions (e.g., invalid index), or side effects (e.g., impact on clips). This is a significant gap for a destructive 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 a single, efficient phrase ('delete track by index') with zero waste. It's front-loaded and appropriately sized for a simple tool, earning its place by stating the core action clearly.

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 destructive tool with no annotations and no output schema, the description is incomplete. It lacks critical context: no mention of return values, error handling, or behavioral details like confirmation. The schema covers parameters well, but overall completeness is inadequate given the tool's complexity.

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

Parameters3/5

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

Schema description coverage is 100%, with clear parameter descriptions: 'index' as an integer and 'type' with enum values. The description adds no additional semantic context beyond the schema, such as index range or type implications. Baseline 3 is appropriate as the schema does the heavy lifting.

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 'delete track by index' clearly states the action (delete) and resource (track), with the 'by index' specifying the identification method. It distinguishes from siblings like 'duplicate_track' or 'create_track' by focusing on deletion, though it doesn't explicitly differentiate from other deletion-related tools (none are listed).

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 doesn't mention prerequisites (e.g., track existence), exclusions, or compare to siblings like 'duplicate_track' or 'set_track_property'. Usage is implied only 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.

duplicate_clip_loopB

Makes the loop twice as long and duplicates notes and envelopes. Duplicates the clip start/end range if the clip is not looped.

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

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 behavioral disclosure. It describes the core action (duplicating loop length, notes, and envelopes) and conditional behavior for non-looped clips, but fails to address critical aspects such as whether this is a destructive mutation, what permissions are required, how errors are handled, or what the output looks like. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its 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 extremely concise with two sentences that directly explain the tool's function and a conditional case. Every word earns its place, there is no redundancy, and it is front-loaded with the primary action. The structure is clear and 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 the tool's complexity (a mutation operation on clips with conditional behavior), no annotations, no output schema, and minimal parameter documentation, the description is insufficient. It covers the basic action but omits critical details like side effects, error conditions, return values, and how it interacts with sibling tools. The description does not adequately compensate for the lack of structured data.

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 1 parameter (clip_id) with 0% description coverage, so the schema provides no semantic context. The description does not mention the clip_id parameter at all, offering no compensation for the lack of schema documentation. However, with only one parameter, the baseline is higher; the tool's purpose inherently implies the parameter is a clip identifier, but explicit guidance on format or constraints is missing.

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 with specific verbs ('makes twice as long', 'duplicates notes and envelopes') and identifies the resource ('clip'). It distinguishes from siblings like 'duplicate_clip_region' or 'duplicate_clip_to_track' by focusing on loop-specific duplication rather than spatial or track duplication. However, it doesn't explicitly name the sibling alternatives for comparison.

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 for looped clips ('makes the loop twice as long') and provides a conditional for non-looped clips ('duplicates the clip start/end range if the clip is not looped'), giving some context. However, it lacks explicit guidance on when to use this versus alternatives like 'duplicate_clip_region' or 'crop_clip', and does not mention prerequisites or exclusions.

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

duplicate_clip_regionC

Duplicates the notes in the specified region to the destination_time. Only notes of the specified pitch are duplicated if pitch is not -1. If the transposition_amount is not 0, the notes in the region will be transposed by the transposition_amount of semitones. Raises an error on audio clips..

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
destination_timeYes
pitchYes
region_endYes
region_startYes
transposition_amountYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It discloses that the tool raises an error on audio clips, which is useful behavioral context. However, it doesn't mention whether this is a destructive operation (modifies the clip), what permissions are needed, rate limits, or what the return value looks like (success/failure indicators). The description adds some value but leaves significant gaps 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 appropriately sized with four sentences that each add value: core functionality, pitch filtering, transposition, and error condition. It's front-loaded with the main purpose. There's minimal waste, though the formatting with indentation is slightly unusual.

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 6-parameter mutation tool with no annotations and no output schema, the description is incomplete. It covers core functionality and one error case but lacks information about what the tool returns, whether it modifies the original clip, what units the time parameters use, or how to handle edge cases. The context signals indicate high complexity that isn't fully addressed.

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 compensate. It explains the purpose of 'pitch' (filtering when not -1) and 'transposition_amount' (semitones transposition), but doesn't clarify the other 4 parameters (clip_id, region_start, region_end, destination_time). The description adds meaning for 2 of 6 parameters, which is insufficient compensation for the schema gap.

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 duplicates notes in a specified region to a destination time, with optional pitch filtering and transposition. It distinguishes from siblings like 'duplicate_clip_loop' or 'duplicate_clip_to_track' by focusing on region-based duplication within a clip, but doesn't explicitly contrast with them.

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 for duplicating note regions with optional pitch filtering and transposition, and warns against use on audio clips. However, it doesn't provide explicit guidance on when to choose this over alternatives like 'duplicate_clip_loop' or 'add_notes_to_clip', nor does it mention prerequisites or error conditions beyond the audio clip restriction.

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

duplicate_clip_to_trackD

duplicate clip to track

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
timeYes
track_idYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action ('duplicate') without explaining effects (e.g., whether the original clip persists, if metadata is copied, error conditions, or response format). For a mutation tool with zero annotation coverage, this is a critical 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 extremely concise at three words, with no wasted text. However, this brevity comes at the cost of underspecificationβ€”it's concise but incomplete. Given the scoring criteria focused on efficiency, it earns full marks for zero redundancy.

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

Completeness1/5

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

For a mutation tool with 3 undocumented parameters, no annotations, and no output schema, the description is severely inadequate. It fails to explain behavior, parameter meanings, usage context, or expected outcomes, leaving the agent poorly equipped to invoke it correctly.

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

Parameters1/5

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

Schema description coverage is 0%, meaning all three parameters (clip_id, time, track_id) are undocumented in the schema. The description adds no parameter information beyond what's inferred from the tool name (e.g., that clip_id identifies the clip to duplicate). It doesn't explain parameter roles, formats, or constraints (e.g., time units, track_id validity).

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

Purpose2/5

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

The description 'duplicate clip to track' is essentially a tautology that restates the tool name without adding meaningful clarification. While it identifies the action (duplicate) and target resources (clip, track), it doesn't specify what duplication entails (e.g., creating an identical copy at a new position) or distinguish it from similar sibling tools like duplicate_clip_loop or duplicate_clip_region.

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

Usage Guidelines1/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 doesn't mention prerequisites (e.g., existing clip/track), use cases (e.g., arranging content), or differentiate from sibling duplication tools (duplicate_clip_loop, duplicate_clip_region), leaving the agent with no context for selection.

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

duplicate_trackC

duplicate midi or audio track by index

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYes[int] index of track

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but lacks behavioral details. It states what the tool does but doesn't disclose effects (e.g., whether duplication preserves track properties, if it's a destructive operation, or what happens on failure). This is inadequate for a mutation tool with zero annotation coverage.

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 a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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, the description is incomplete. It doesn't explain what gets duplicated (e.g., clips, settings), the return value, or error conditions. Given the complexity implied by sibling tools (e.g., track properties, routing), more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'index' documented as '[int] index of track'. The description adds minimal value by implying the index is used for duplication, but doesn't clarify semantics beyond what the schema provides (e.g., valid range, zero-based indexing). Baseline 3 is appropriate given high schema 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 clearly states the action ('duplicate') and resource ('midi or audio track'), specifying it's done 'by index'. However, it doesn't differentiate from sibling tools like 'duplicate_clip_loop' or 'duplicate_clip_region', which handle different resources (clips vs. tracks).

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 provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., existing tracks), exclusions (e.g., invalid indices), or comparisons to siblings like 'create_track' for new tracks or 'duplicate_clip_to_track' for clip duplication.

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

get_all_notes_by_clipidD

Get clip all notes by clip id

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

TDQS

D1.5/5.0
Behavior1/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. However, it only states the basic action without any details about what the tool returns (e.g., format, structure), whether it's read-only or has side effects, error conditions, or performance characteristics. This leaves the agent with insufficient information to understand how the tool behaves beyond its name.

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 extremely concise at four words, which is efficient but borders on under-specification. It's front-loaded with the core action, but the brevity comes at the cost of clarity and completeness. While not verbose, it lacks necessary detail to be truly helpful.

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

Completeness1/5

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

Given the tool's complexity (retrieving data with one parameter), lack of annotations, 0% schema coverage, and no output schema, the description is completely inadequate. It doesn't explain what 'notes' are, the return format, or any behavioral aspects, leaving the agent with minimal context to use the tool effectively.

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

Parameters1/5

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

The input schema has 1 parameter with 0% description coverage, meaning the parameter 'clip_id' is undocumented. The description adds no semantic information about this parameterβ€”it doesn't explain what a 'clip_id' is, its format, valid values, or where to obtain it. This fails to compensate for the schema's lack of documentation.

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

Purpose2/5

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

The description 'Get clip all notes by clip id' is a tautology that essentially restates the tool name with slightly different wording. It specifies the verb 'get' and resource 'notes', but lacks specificity about what 'notes' are (e.g., musical notes, annotations) or the scope of 'all'. While it distinguishes from some siblings like 'get_clip_info_by_id', it doesn't clearly differentiate from others like 'get_detail_clip' or 'remove_clip_all_notes'.

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

Usage Guidelines1/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 doesn't mention prerequisites, context, or exclusions, nor does it reference any sibling tools. For example, it doesn't clarify when to use this instead of 'get_detail_clip' or 'get_clip_info_by_id', which might overlap in functionality.

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

get_all_tracksD

get all tracks

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.8/5.0
Behavior1/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. 'get all tracks' implies a read operation, but the description doesn't specify what format the tracks are returned in, whether there's pagination, what happens if there are no tracks, or any performance considerations. For a tool with zero annotation coverage, this is a significant gap in behavioral information.

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

Conciseness2/5

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

While technically concise with just three words, this is under-specification rather than effective conciseness. The description doesn't front-load important information or provide any meaningful structure. Every word should earn its place, but here the words don't provide sufficient value beyond the tool name itself.

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

Completeness1/5

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

Given the complexity of the sibling tools (which suggest this is part of a music/audio production system) and the complete lack of annotations and output schema, the description is woefully incomplete. It doesn't explain what 'tracks' are, what information is returned, how results are structured, or any limitations. For a tool in what appears to be a DAW/audio system, this is inadequate.

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

Parameters4/5

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

The tool has 0 parameters, and schema description coverage is 100% (though there are no parameters to describe). The description doesn't need to compensate for any parameter documentation gaps. A baseline score of 4 is appropriate for a zero-parameter tool where the schema fully covers the parameter situation.

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

Purpose2/5

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

The description 'get all tracks' is a tautology that essentially restates the tool name. It doesn't specify what 'tracks' are in this context (audio tracks, MIDI tracks, etc.) or what information is retrieved about them. While it does contain a verb ('get') and resource ('tracks'), it lacks specificity and doesn't distinguish this tool from siblings like 'get_track_info_by_id' or 'get_tracks_count'.

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

Usage Guidelines1/5

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

The description provides no guidance about when to use this tool versus alternatives. There are multiple sibling tools that retrieve track information in different ways (by ID, count, etc.), but the description doesn't indicate when 'get all tracks' is appropriate versus these other options. No context, prerequisites, or exclusions are mentioned.

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

get_clip_info_by_idC

Get clip info by clip id

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

TDQS

C2.4/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 states the action but lacks details on permissions, rate limits, response format, or error handling. This is inadequate for a tool with potential read operations and no output schema.

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 single sentence, but it's under-specified rather than efficiently informative. It front-loads the core action but lacks necessary details, making it borderline between brevity and insufficiency.

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 the complexity (1 parameter, no annotations, no output schema), the description is incomplete. It doesn't explain what 'clip info' includes, how to interpret results, or handle errors, leaving significant gaps for an AI agent to use the tool effectively.

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%, and the description only mentions 'clip id' without adding meaning beyond the schema's 'clip_id' parameter. It fails to explain what a clip ID is, its format, or examples, leaving the parameter semantics unclear.

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 'Get clip info by clip id' clearly states the verb ('Get') and resource ('clip info'), but it's vague about what 'clip info' entails. It doesn't differentiate from siblings like 'get_detail_clip' or 'get_clips_by_track_id', leaving the scope ambiguous.

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 provided on when to use this tool versus alternatives such as 'get_detail_clip' or 'get_clips_by_track_id'. The description implies usage by clip ID but offers no context on prerequisites, exclusions, or comparisons to sibling tools.

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

get_clips_by_track_idD

get all clip by track id

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

TDQS

D1.5/5.0
Behavior1/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 basic action ('get all clip') without any information about permissions required, rate limits, side effects, return format, pagination, or error conditions. For a tool with no annotation coverage, this is inadequate and leaves critical behavioral traits unspecified.

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 extremely concise ('get all clip by track id'), which could be efficient if it were informative. However, it's under-specified and contains grammatical errors ('clip' vs. 'clips'), reducing clarity. While front-loaded, it lacks the substance needed to be truly helpful, making this brevity more of a deficiency than a virtue.

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

Completeness1/5

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

Given the tool's complexity (1 parameter, no annotations, no output schema), the description is incomplete. It doesn't explain what 'clips' are, what data is returned, or how this tool fits with siblings. For a retrieval tool in a music/audio context with multiple related tools, more context is needed to guide effective use.

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

Parameters1/5

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

The input schema has 1 parameter ('track_id') with 0% description coverage, meaning the schema provides no semantic information. The description mentions 'track id' but adds no meaning beyond what's implied by the parameter nameβ€”it doesn't explain what a track ID is, its format, valid values, or how it relates to clips. With low schema coverage, the description fails to compensate.

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

Purpose2/5

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

The description 'get all clip by track id' is a tautology that essentially restates the tool name with minor grammatical issues. It specifies the verb 'get' and resource 'clip' but lacks precision about what 'clip' means in this context (audio clips, MIDI clips, etc.) and doesn't distinguish from sibling tools like 'get_clip_info_by_id' or 'get_detail_clip'. The purpose is vague rather than specific.

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

Usage Guidelines1/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. There are multiple sibling tools for retrieving clip information (e.g., 'get_clip_info_by_id', 'get_detail_clip', 'get_all_notes_by_clipid'), but the description doesn't explain how this tool differs or when it's appropriate. No context, exclusions, or prerequisites are mentioned.

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

get_detail_clipC

Get detail clip/piano roll clip

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action ('Get') without disclosing behavioral traits like read-only status, error handling, or output format. It lacks details on permissions, rate limits, or what 'detail' includes, making it insufficient for a tool with zero annotation coverage.

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 a single, efficient sentence with no wasted words. However, it could be more front-loaded with clearer purpose, but its brevity is appropriate for the simple tool name.

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 the complexity implied by 'detail clip/piano roll clip', no annotations, and no output schema, the description is incomplete. It fails to explain what 'detail' includes, the return format, or how it differs from similar tools, leaving significant gaps for an agent to understand its use.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage, so no parameter information is needed. The description doesn't add param semantics, but this is acceptable given the absence of parameters, aligning with the baseline for zero parameters.

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 'Get detail clip/piano roll clip' states a verb ('Get') and resource ('detail clip/piano roll clip'), but is vague about what 'detail' entails and doesn't differentiate from siblings like 'get_clip_info_by_id' or 'get_all_notes_by_clipid'. It implies retrieval of clip information but lacks specificity about scope or content.

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 provided on when to use this tool versus alternatives such as 'get_clip_info_by_id' or 'get_all_notes_by_clipid'. The description offers no context, exclusions, or prerequisites, leaving usage unclear relative to sibling tools.

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

get_song_infoB

get song basic info, include tempo, time signature, root_note(begin from 0, C..B), scale name, song length

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 this is a 'get' operation, implying read-only behavior, but doesn't confirm if it's safe, whether it requires specific permissions, or if it has side effects. It also doesn't describe the return format or any limitations (e.g., error handling, availability). For a 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.

Conciseness5/5

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

The description is a single, efficient sentence that lists all key output attributes without unnecessary words. It's front-loaded with the core purpose ('get song basic info') and follows with specific details. There's zero waste, making it easy 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?

Given the tool has 0 parameters and no output schema, the description adequately covers the purpose and output attributes. However, it lacks behavioral context (e.g., safety, permissions) and usage guidelines, which are important for a tool in a music production environment with many sibling tools. Without annotations or output schema, the description should do more to compensate, but it meets the minimum viable threshold.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately adds no parameter information, focusing instead on the output semantics by listing the attributes returned (tempo, time signature, etc.). This provides clear value beyond the schema, though it doesn't specify data types or formats for these attributes.

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 purpose: retrieving basic song information including specific attributes like tempo, time signature, root note, scale name, and song length. It uses the verb 'get' with the resource 'song basic info' and lists the exact data fields returned. However, it doesn't explicitly differentiate from sibling tools like 'get_clip_info_by_id' or 'get_track_info_by_id', which target different resources.

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 doesn't mention prerequisites (e.g., whether a song must be loaded or selected), context for usage, or exclusions. Given the sibling tools include other 'get' operations for clips and tracks, this lack of differentiation leaves the agent guessing about appropriate use cases.

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

get_track_available_input_routingsD

get track available input routings

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description must fully disclose behavioral traits. However, it only states the action without any details on permissions, side effects, rate limits, or response format. For a tool with unknown behavior and no structured hints, this description fails to provide necessary transparency, leaving critical operational aspects unspecified.

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 as a single phrase, but this brevity results in under-specification rather than efficient communication. It is front-loaded with the core action but lacks any supporting details. While not verbose, it fails to convey necessary information, making it inadequate despite its short length.

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

Completeness1/5

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

Given the tool's complexity (1 parameter, no annotations, no output schema), the description is incomplete. It does not explain what 'available input routings' are, how they are returned, or any behavioral context. For a tool that likely involves querying technical audio/DAW data, this minimal description is insufficient for effective agent use.

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

Parameters1/5

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

The input schema has 1 parameter ('track_id') with 0% description coverage, meaning the schema provides no semantic information. The description does not compensate by explaining what 'track_id' represents, its format, or how it relates to 'available input routings'. This leaves the parameter's meaning and usage completely undocumented.

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

Purpose2/5

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

The description 'get track available input routings' is essentially a tautology that restates the tool name with minimal elaboration. It specifies the verb 'get' and resource 'track available input routings', but lacks specificity about what 'available input routings' entails or how it differs from sibling tools like 'get_track_info_by_id' or 'get_all_tracks'. This makes the purpose vague and insufficiently distinguished.

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

Usage Guidelines1/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. There are no explicit or implied instructions on context, prerequisites, or exclusions. Given the sibling tools include other track-related queries (e.g., 'get_track_info_by_id', 'get_all_tracks'), the absence of usage guidelines leaves the agent without direction for selection.

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

get_track_info_by_idD

get track info by id

ParametersJSON Schema
NameRequiredDescriptionDefault
track_idYes

TDQS

D1.7/5.0
Behavior1/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 ('get') without any details on permissions, rate limits, side effects, or response format. For a read operation with no annotation coverage, this is a significant gap, as it fails to inform the agent about critical behavioral traits.

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 extremely concise with no wasted words, consisting of a single phrase that directly states the tool's function. It is front-loaded and efficiently communicates the core purpose without unnecessary elaboration, though this brevity contributes to its overall inadequacy in other dimensions.

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

Completeness1/5

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

Given the complexity of a tool that retrieves specific track information, the description is incomplete. With no annotations, no output schema, and low parameter coverage, it fails to provide essential context such as what information is returned, error handling, or usage constraints. This makes it inadequate for effective tool invocation.

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

Parameters1/5

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

The input schema has 0% description coverage, with one parameter 'track_id' undocumented. The description does not add any meaning beyond the schema, such as explaining what a 'track_id' is, its format, or where to obtain it. With low schema coverage and no compensatory details, the parameter remains unclear.

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

Purpose2/5

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

The description 'get track info by id' is essentially a tautology that restates the tool name with minimal elaboration. It specifies the verb ('get') and resource ('track info') but lacks any distinguishing details about what 'track info' includes or how it differs from sibling tools like 'get_all_tracks' or 'get_clip_info_by_id'. This makes it vague and minimally informative beyond the obvious.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, context, or comparisons to sibling tools such as 'get_all_tracks' for listing all tracks or 'get_clip_info_by_id' for clip-specific information. This absence leaves the agent without direction on appropriate usage scenarios.

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

get_tracks_countC

get midi + audio tracks count

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as whether this is a read-only operation (implied by 'get'), potential side effects, performance characteristics, or error conditions. The description is minimal and lacks context beyond the core purpose.

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 extremely conciseβ€”a single phrase with zero waste. It's front-loaded with the core action and resource, making it easy to scan. Every word ('get', 'midi + audio tracks', 'count') earns its place by conveying essential information without 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?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain what the count includes (e.g., all tracks in a session, active tracks), the return format (e.g., a number, structured data), or any limitations. For a tool with no structured context, more detail is needed to guide effective use.

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 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. Baseline is 4 since there are no parameters to explain, and the description doesn't introduce unnecessary complexity.

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 'get midi + audio tracks count' clearly states the action (get) and resource (tracks count), but it's vague about scopeβ€”does it count all tracks in a project, or filtered ones? It distinguishes from siblings like 'get_all_tracks' (which likely returns track objects) by focusing on count, but lacks specificity on what 'midi + audio' entails (e.g., excludes other track types).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't explain if this is for quick summaries versus detailed track retrieval with 'get_all_tracks', or if it's preferred for performance reasons. The description implies a count operation but offers no context on prerequisites or exclusions.

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

record_by_time_rangeA

Opens Ableton's audio record button and starts playback from start_time to end_time. Before recording, please: ENSURE: 1. Set the recording track to record mode 2. Set the recording track's input routing to Resample or a specific audio track/input routing 3. After recording, disable the track's record mode

ParametersJSON Schema
NameRequiredDescriptionDefault
end_timeYes[int] end time of record
start_timeYes[float] the time in beats of absolute clip time. such as 4 is 4 beats

TDQS

A4/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 full burden of behavioral disclosure. It effectively describes the tool's behavior: it initiates recording and playback within a time range, and includes pre- and post-recording steps (setting record mode, input routing, and disabling record mode). This adds valuable context beyond basic parameters, though it lacks details on error handling or output format.

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 appropriately sized and front-loaded, starting with the core action and following with a structured 'ENSURE' list. Every sentence earns its place by providing essential setup steps, though it could be slightly more concise by integrating the list into a smoother narrative without sacrificing clarity.

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 no annotations and no output schema, the description is moderately complete. It covers the tool's purpose, prerequisites, and basic behavior, but lacks details on what happens after recording (e.g., output format, success indicators) and does not address potential errors or constraints like rate limits. For a tool with 2 parameters and no structured safety hints, it should do more to compensate.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters with descriptions. The description adds minimal semantics by mentioning 'start_time to end_time' in context, but does not provide additional meaning beyond what the schema states, such as unit clarifications or usage examples. Baseline 3 is appropriate as the schema handles most of the parameter 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 specific action: 'Opens Ableton's audio record button and starts playback from start_time to end_time.' It distinguishes from siblings by focusing on recording with time constraints, unlike tools like 'create_track' or 'get_all_tracks' which are about track management. The verb 'Opens' and resource 'audio record button' are precise.

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 explicit prerequisites in the 'ENSURE' list, detailing when to use this tool by outlining necessary setup steps before recording. However, it does not specify when not to use it or name alternatives among siblings, such as 'create_empty_midi_clip' for non-audio tasks, leaving some contextual gaps.

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

remove_clip_all_notesC

Remove clip all notes by clip id

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Remove' implies a destructive mutation, but it doesn't specify whether this is permanent, reversible, requires specific permissions, or what happens to the clip structure after removal. It also doesn't describe the return value or error conditions, leaving significant 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.

Conciseness5/5

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

The description is extremely concise with a single sentence that directly states the tool's function. There's no unnecessary verbiage or redundancy, making it efficient and front-loaded. Every word earns its place.

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 the tool's complexity (destructive mutation with 1 parameter), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like safety, return values, or error handling, nor does it provide adequate parameter semantics. For a mutation tool, this leaves critical gaps for an AI agent.

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 compensate. It mentions 'clip_id' as the parameter, which aligns with the schema, but adds no semantic context beyond what's inferred from the name. No details on format, constraints, or what constitutes a valid clip_id are provided, leaving the parameter poorly documented.

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 ('Remove') and target resource ('clip all notes'), making the purpose understandable. It specifies removal is 'by clip id', which provides context. However, it doesn't differentiate from sibling tools like 'replace_all_notes_to_clip' or 'get_all_notes_by_clipid' beyond the verb 'Remove'.

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. There's no mention of prerequisites (e.g., clip must exist), when not to use it, or how it differs from similar tools like 'replace_all_notes_to_clip' or 'crop_clip'. The agent must 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.

replace_all_notes_to_clipD

Replace clip all notes by clip id

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
notesYes[array] the notes to remove.

TDQS

D1.5/5.0
Behavior1/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. The description fails to explain key behavioral traits: whether this is a destructive mutation (likely, given 'replace'), what permissions are required, how it handles errors (e.g., invalid clip_id), or what the response looks like. For a mutation tool with zero annotation coverage, this lack of transparency 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.

Conciseness2/5

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

The description is a single, poorly structured phrase ('Replace clip all notes by clip id') that is grammatically awkward and lacks clarity. While concise, it's under-specified rather than efficiently informativeβ€”every word fails to earn its place by adding value. A more structured approach (e.g., specifying the action, target, and parameters) would improve usability.

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

Completeness1/5

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

Given the complexity of a mutation tool with 2 parameters, no annotations, no output schema, and incomplete schema coverage (50%), the description is wholly inadequate. It doesn't explain the tool's purpose, usage, behavior, or parameters sufficiently for an agent to invoke it correctly. The lack of output information further compounds the incompleteness.

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 50% (only the 'notes' parameter has a description, while 'clip_id' lacks one). The description adds no meaningful semantics beyond the schemaβ€”it doesn't clarify what 'clip_id' refers to (e.g., a unique identifier for a clip in a system) or how the replacement operation works (e.g., whether 'notes' completely overwrites existing notes). With low schema coverage and no compensatory details, the description falls short.

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

Purpose2/5

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

The description 'Replace clip all notes by clip id' is a tautology that essentially restates the tool name 'replace_all_notes_to_clip' without clarifying the actual action. It doesn't specify what 'replace' means in this context (e.g., does it overwrite existing notes with new ones, or swap note sets?). The description lacks a clear verb+resource combination that distinguishes it from sibling tools like 'add_notes_to_clip' or 'remove_clip_all_notes'.

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

Usage Guidelines1/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 doesn't mention prerequisites (e.g., needing an existing clip), compare it to similar tools like 'add_notes_to_clip' or 'remove_clip_all_notes', or specify scenarios where replacement is preferred over addition or deletion. Without such context, an agent cannot make informed decisions about tool selection.

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

set_clip_propertyD

set clip property

ParametersJSON Schema
NameRequiredDescriptionDefault
clip_idYes
propertyYes

TDQS

D1.1/5.0
Behavior1/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 but offers none. It doesn't indicate whether this is a read-only or destructive operation, what permissions might be required, whether changes are reversible, what happens on success/failure, or any side effects. For a tool that appears to modify clip properties, this lack of behavioral information is a critical gap.

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

Conciseness2/5

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

While technically concise with just three words, this is an example of harmful under-specification rather than effective brevity. The description fails to provide any meaningful information that would help an AI agent understand or use the tool correctly. Every word should earn its place, but here the words don't earn their place by adding value.

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

Completeness1/5

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

Given the complexity of the tool (2 parameters with a nested object containing 20+ properties, no annotations, no output schema), the description is completely inadequate. It provides no context about what the tool does, how to use it, what to expect, or how it relates to sibling tools. This leaves the agent with insufficient information to properly invoke this potentially complex property-setting operation.

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

Parameters1/5

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

The description provides zero information about parameters despite the input schema having 0% description coverage. With two required parameters (clip_id and property object with 20+ nested properties), the description doesn't explain what clip_id refers to, what format it should be in, or what the property object structure entails. This leaves all parameter semantics undocumented.

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

Purpose1/5

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

The description 'set clip property' is a tautology that merely restates the tool name without adding any meaningful clarification. It doesn't specify what kind of properties can be set, on what type of clip, or what the operation actually does beyond the obvious implication of the name. This provides no value beyond what the tool name already conveys.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance about when to use this tool versus alternatives. With multiple sibling tools like 'set_track_property', 'crop_clip', 'duplicate_clip_loop', and others that manipulate clips in different ways, there's no indication of when this specific property-setting operation is appropriate versus other clip manipulation tools.

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

set_track_propertyD

set track property

ParametersJSON Schema
NameRequiredDescriptionDefault
propertyYes
track_idYes

TDQS

D1.9/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. 'set track property' implies a mutation/write operation, but it doesn't disclose whether this requires specific permissions, what happens if invalid properties are provided, whether changes are reversible, or any rate limits. The description fails to provide the behavioral context needed for safe and effective tool invocation.

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 extremely concise at just three words, which could be appropriate if it were more informative. However, this brevity comes at the cost of being under-specified rather than efficiently informative. There's no wasted language, but it's too minimal to be truly helpful.

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

Completeness1/5

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

For a mutation tool with 2 parameters (one being a complex nested object with 15+ properties), 0% schema description coverage, no annotations, and no output schema, the description 'set track property' is completely inadequate. It doesn't explain what the tool does beyond the obvious, provides no parameter guidance, and offers no behavioral context. This leaves the agent with insufficient information to use the tool correctly.

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 description coverage is 0%, meaning none of the parameters are documented in the schema itself. The description 'set track property' provides no information about the required 'track_id' and 'property' parameters, their formats, or what values are acceptable. While the schema shows 'property' is a complex nested object with many fields, the description gives zero guidance about this critical input structure.

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

Purpose2/5

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

The description 'set track property' is essentially a tautology that restates the tool name without elaboration. It doesn't specify what kind of properties can be set, what 'track' refers to in this context, or how this differs from sibling tools like 'set_clip_property'. While the verb 'set' is clear, the resource 'track property' is too vague to be helpful.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, when this tool is appropriate versus sibling tools like 'set_clip_property' or 'create_track', or any context about the audio/music production domain implied by the sibling tools. The agent receives zero usage direction.

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

TDQS

C2.7/5.0
Disambiguation4/5

Most tools have distinct purposes, but some overlap exists. For example, 'add_notes_to_clip', 'replace_all_notes_to_clip', and 'remove_clip_all_notes' all modify clip notes, which could cause confusion. However, descriptions clarify their specific actions, and other tools like 'crop_clip' or 'duplicate_clip_region' are clearly differentiated.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern with snake_case throughout. Examples include 'create_empty_midi_clip', 'get_all_tracks', and 'set_clip_property'. There are no deviations in naming conventions, making the set predictable and easy to parse.

Tool Count4/5

With 23 tools, the count is slightly high but reasonable for a comprehensive Ableton Live automation server. It covers track, clip, and note operations extensively, though it might feel heavy compared to simpler domains. The tools are well-scoped, with each serving a specific function in music production workflows.

Completeness5/5

The tool set provides complete coverage for Ableton Live automation, including CRUD operations for tracks and clips, note manipulation, recording, and property settings. There are no obvious gaps; tools like 'get_song_info' and 'record_by_time_range' support core workflows, and the surface allows agents to perform end-to-end music production tasks without dead ends.

Maintenance

ActivityStale
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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xiaolaa2/ableton-copilot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server