Skip to main content
Glama

select_midi_notes

Select or deselect MIDI notes in REAPER by filtering pitch, channel, and beat range. Use exclusive mode to replace the current selection with matching notes.

Instructions

Select the MIDI notes matching the filter, as if clicked in REAPER's MIDI editor.

Args: selected: False deselects the matching notes instead; with no filter, clears the selection. exclusive: When selecting, deselect every note that does not match.

notes_changed counts notes whose selection flipped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsNo
channelNo
end_beatNo
selectedNo
exclusiveNo
pitch_lowNo
item_indexYes
pitch_highNo
start_beatNo
track_indexYes
return_notesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.7.5

TDQS

B3.4/5.0
Behavior4/5

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

Annotations only declare destructiveHint: false, so the description carries the burden of explaining behavioral nuance. It does this well for selection semantics: selected=False deselects, exclusive deselects non-matching notes, and notes_changed counts flipped notes. It does not mention undo behavior or side effects, but the core selection-state mutation is transparent.

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

Conciseness4/5

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

The description is concise and front-loaded: the main action appears in the first sentence, followed by focused parameter explanations. It contains no fluff or redundant phrases. However, the structure could be improved by grouping the remaining filter parameters, but it remains 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 high parameter count, 0% schema coverage, and lack of an output schema, this description is not complete enough for reliable invocation. It explains the selection/deselection behavior but leaves most filter parameters, the return_notes flag, and required track/item identifiers without explanation. An agent would need to infer too much.

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?

With 11 parameters and 0% schema description coverage, the description must explain parameter meaning, but it only covers two: selected and exclusive. It omits the filter parameters (channel, pitch_low/pitch_high, start_beat/end_beat, fields) and return_notes, which are not self-explanatory enough for an agent to pass correctly. This is a significant compensation gap.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Select the MIDI notes matching the filter.' This clearly distinguishes the tool from read-only siblings like get_midi_notes and editing tools like delete_midi_note or set_midi_note. The 'as if clicked in REAPER's MIDI editor' analogy reinforces the intended operation.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives such as get_midi_notes or delete_midi_note. It does not mention prerequisites, exclusions, or scenarios where another tool would be more appropriate. The usage context is only implied by the verb 'Select.'

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

Deploy Server

Other Tools