Skip to main content
Glama
newsbubbles

ismail: agent DAW (MCP server)

Midi Read

midi_read

Read Standard MIDI files to inspect tempo, meter, markers, tracks, channels, note counts, or import selected notes into existing project tracks with bar offset, replace/add mode and quantization.

Instructions

Read a Standard MIDI File (.mid, from a DAW, a score program or the web). Without into, it lists what the file holds: tempo and meter (and any changes), markers, and every track and channel with its note count, range and bars. With into={: } it writes those notes into existing tracks (track_add first), where is the track's name, '#', or 'ch<1-16>' (that channel across the file, e.g. 'ch10' for drums). bar: where the file's bar 1 lands. mode='replace' clears the span the notes cover on each target first, 'add' merges. quantize: a grid in beats (0.25 = 16ths) the starts snap to; default keeps them as played. Positions are read in beats, so a file at another tempo keeps its bars at this project's tempo (the reply says when the tempos differ).

Input Schema

NameRequiredDescriptionDefault
barNo
fileYes
intoNo
modeNoreplace
projectYes
quantizeNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and discloses key behavior: listing contents versus mutating tracks, the need for existing target tracks, destructive replacement semantics, merge behavior, quantization defaults, and tempo handling. The destructive effect of `mode='replace'` is explicitly called out.

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 dense but front-loaded and every sentence adds useful information for a complex six-parameter tool. It could be marginally clearer with separate sentences for bar/mode/quantize, but it avoids bloat.

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

Completeness5/5

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

For a tool with no annotations, zero schema description coverage, nested parameters, and an output schema, the description covers the critical usage modes, write behavior, prerequisite track setup, tempo implications, and parameter meanings. Return-value details can be left to the output schema.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: it explains `file`, `into` mapping syntax, file-track naming schemes, `bar`, `mode`, and `quantize` with concrete meaning. Only `project` is left implicit, which is reasonable given its obvious context.

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

Purpose5/5

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

The description states a specific verb and resource: it reads a Standard MIDI File and either lists its contents or imports notes into project tracks. The two operating modes are explicitly separated, so an agent can tell exactly what this tool does.

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

Usage Guidelines4/5

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

It clearly explains the conditional usage: omit `into` to inspect the file, or provide `into` to write notes into existing tracks after calling `track_add`. It does not explicitly compare against alternatives like `midi_write` or `notes_read`, but the mode-specific guidance is strong.

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