Skip to main content
Glama

cw_read_midi_file

Parse a Standard MIDI File to inspect track names, channels, note counts, and CC7/CC10 pan positions before importing or to read back a SONAR export.

Instructions

Parse a Standard MIDI File: per-track name, channels, note count, and any CC7/CC10 with the pan position spelled out. Use it to check what a file carries before importing it, or to read back a file SONAR exported.

Input Schema

NameRequiredDescriptionDefault
pathYesAbsolute path to a .mid file
includeNotesNoInclude the full note list (can be long)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full load. 'Parse' and 'read back' imply a read-only, non-mutating operation, but it never explicitly states that the file or project is untouched, nor does it describe failure behavior for missing or non-MIDI files. The output scope is reasonably disclosed.

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?

Two tight sentences, front-loaded with what the parse produces, then the usage scenarios. Nothing is wasted, though the second clause is slightly packed.

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?

There is no output schema, so the description does the work of explaining returns, and it does so well by listing track name, channels, note count, and CC/pan detail. Missing only error/prerequisite context (missing file, non-MIDI input) that an annotation-free tool should supply.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both 'path' and 'includeNotes' (including the 'can be long' caveat). The description adds no parameter-level detail beyond that, so the baseline 3 applies.

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?

States a specific verb (Parse) and resource (Standard MIDI File) and enumerates the returned content (track names, channels, note count, CC7/CC10 with pan). It implicitly contrasts with the sibling cw_write_midi_file, but never names it or another alternative outright.

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?

Gives two concrete when-to-use scenarios: inspecting a file before import and reading back a SONAR export. It stops short of saying when not to use it (e.g., use cw_get_notes for the open project, or cw_write_midi_file for creating files).

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