Skip to main content
Glama

get_notes

Read-onlyIdempotent

Retrieve MIDI clip notes from Ableton Live with pitch, time, and ID filters; returns note data for editing, deleting, or transforming.

Instructions

Notes of a MIDI clip with note_id, pitch, name (C3 = 60), start, duration, velocity, probability, velocity_deviation, release_velocity and mute, sorted by time.

Optional filters (combined): pitches (list), pitch_min/pitch_max (numbers or names), start/end (notes starting in [start, end), clip beats or "bar.beat.sixteenth"), note_ids. Use the ids with edit_notes, delete_notes or transform_notes. Example: get_notes(track="Bass", slot=0, start="2.1.1", end="3.1.1").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNo
slotNo
limitNo
startNo
trackYes
pitchesNo
note_idsNo
pitch_maxNo
pitch_minNo
arrangement_clipNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds genuine behavior: results are sorted by time, filters are combined (ANDed), and start/end is a half-open interval [start, end) over note start times. It omits the limit/pagination behavior despite a limit parameter defaulting to 200.

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

Conciseness4/5

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

Front-loaded with the return shape, then filters, then the downstream-tool routing and an example. Dense and mostly waste-free, though the field enumeration is long and the 'Optional filters (combined)' line reads slightly run-on.

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

Completeness4/5

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

With no output schema, the field list is essential and present; time formats and filter semantics are covered. Gaps remain for limit-based pagination and the slot/arrangement_clip addressing needed to actually target a clip.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry the load and largely does: it explains pitches, pitch_min/pitch_max (numbers or names), start/end, and note_ids, and gives the "bar.beat.sixteenth" vs clip-beats format with a worked example. It leaves limit, slot, and arrangement_clip unexplained.

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?

States a specific verb+resource ('Notes of a MIDI clip') and enumerates exactly what a note record contains (note_id, pitch, start, duration, velocity, etc.) plus the sort order. An agent can distinguish this read tool from write_notes/edit_notes/delete_notes without opening a schema.

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

Usage Guidelines4/5

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

Explicitly routes the returned ids to edit_notes, delete_notes or transform_notes, and gives a concrete call example. It does not state when to prefer this over get_clip or how it relates to arrangement clips, so it stops short of full when/when-not coverage.

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