Skip to main content
Glama
newsbubbles

ismail: agent DAW (MCP server)

Midi Write

midi_write

Generate a Standard MIDI file from project specifications. Define tracks, tempo, meter, and DAW markers, creating note data compatible with software like Ableton and Logic.

Instructions

Write the song's notes to a Standard MIDI File (type 1) that Ableton, FL Studio, Logic, Reaper, MuseScore and any hardware sequencer open: one MIDI track per ismail track that has notes (named after it), the tempo, the meter, and markers. tracks: names to include (default every track with notes, muted ones too). bars: [a, b] writes only notes that start in those bars, moved so bar a is the file's bar 1 (default the whole song, bar 1 at the start). markers: {name: bar}, e.g. {'drop': 17}, shown as locators in the DAW. Nudged notes (@offset, a track's offset_ms) land where they sound, to the nearest tick (about 0.5 ms at 120 BPM). Kits go on channel 10 with ismail's own pad pitches (the reply lists which pitch is which pad); other tracks get channels 1 to 16 in order. The file carries notes, not sounds: in the DAW, put an instrument on each track. out: the file (default /exports/.mid).

Input Schema

NameRequiredDescriptionDefault
outNo
barsNo
tracksNo
markersNo
projectYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: muted tracks are included by default, kits are forced to channel 10 with ismail's own pad pitches, other tracks get channels 1-16 in order, nudged notes land at nearest tick (~0.5 ms at 120 BPM), and the file carries notes not sounds. It withholds overwrite/file-collision behavior and error conditions (e.g. what happens when no track has notes).

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?

Purpose is front-loaded in the first clause, followed by the file's contents, then parameter semantics. It is dense and parenthetical-heavy but nearly every clause adds actionable information; a little tightening would help readability but nothing is padding.

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?

For a 5-param export tool with no annotations, the description covers artifact structure, channel routing, timing quantization, and defaults. An output schema exists, so return-format explanation is unnecessary, though the missing overwrite and empty-song behavior leaves a small gap for a tool that writes to disk.

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 description coverage is 0%, so the description must compensate and largely does: tracks, bars (with the rebase-to-bar-1 semantics), markers (with a concrete example), and out (with the default path template) are all explained beyond their bare types. Only the required 'project' parameter is left implicit through the <project> references.

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 and resource (write the song's notes to a Standard MIDI File type 1) and enumerates exactly what the artifact contains — one track per track with notes, tempo, meter, markers. That level of specificity clearly separates it from midi_read, midi_play, and render.

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 this is the export path (default output under <project>/exports/) but never states when to choose it over midi_read, midi_play, or render, nor any exclusion. Usage is inferable from the verb and the default file path, not from explicit guidance.

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