Skip to main content
Glama

midi

Create, add, get, replace, update, or delete MIDI notes on REAPER track items using absolute beat times. Manage note properties like pitch, velocity, channel, and muting.

Instructions

MIDI on a track item. Times are absolute project beats. action: create_item | add | get | replace | update | delete. replace rewrites the whole take in one undo step; add only appends.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mutedNo
notesNo
pitchNo
actionYes
channelNo
velocityNo
item_indexNo
note_indexNo
start_beatsNo
track_indexYes
length_beatsNo
note_indicesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description must carry behavioral disclosure itself. It does disclose two meaningful behaviors: replace rewrites the whole take in one undo step and add only appends, plus the time unit. However, it leaves the side effects and return behavior of get/update/delete/create_item unstated.

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 compact and front-loads the resource and action enum before the key caveat. Every sentence adds either domain context or behavior, with no filler.

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 12 parameters, no output schema, and no annotations, this is far too thin to guide correct invocation. It does not specify required parameters per action, return/output shape, or whether flat note fields are alternatives to the notes array.

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 0% schema description coverage, the description is responsible for explaining parameters, but it only clarifies that time values are in absolute project beats and lists action values already in the schema. It does not explain roles of notes, note_indices, item_index, muted, pitch/channel/velocity, or which parameters apply to which action.

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 identifies MIDI as the resource and enumerates six concrete actions, so an agent can tell this is the MIDI editing tool rather than sibling tools like item or track. There is no single explicit verb, but the action list makes the purpose unambiguous.

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

Usage Guidelines3/5

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

It gives some within-tool guidance by distinguishing replace (rewrites whole take in one undo step) from add (appends), and it states that times are absolute project beats. It does not say when to prefer midi over sibling tools, nor does it specify prerequisites such as needing an existing track/item for certain actions.

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