Skip to main content
Glama
m8-tracker-mcp

m8-tracker-mcp

by cocopon

Press a note key (keyjazz)

press_note

Presses and releases a specified note key for a set duration, entering the note and current instrument into the Phrase row or just playing it depending on cursor position.

Instructions

Press a note key as if on a keyboard for duration_ms, then release it. The M8 uses the current instrument (the instrument number last set in a phrase), not the instrument on the cursor row. On the PHRASE screen with the cursor on the note column, this enters the note and the current instrument into that row; elsewhere it only plays the note. Move the cursor off the note column to only listen. Note numbers: 36 is C-4, 48 is C-5.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "note": "<note>",
      "duration_ms": "<duration_ms>"
    },
    "name": "press_note"
  }
}

Input Schema

NameRequiredDescriptionDefault
noteYes
velocityNo
duration_msYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/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 meaningful work: it discloses an important side effect (writing the note and the current instrument into the phrase row), warns that the instrument used is the one last set in a phrase rather than the cursor row, and distinguishes play-only from write behavior by cursor position. It omits timing/blocking semantics (does it await the full duration_ms?) and error behavior when not connected to a device.

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?

Action is front-loaded in sentence one, followed by instrument semantics, then the screen-dependent side effect, then note numbering – a logical order. Every sentence carries information, though the note-number examples are the densest and could be framed more clearly as a mapping.

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?

No output schema and no annotations, so the description must stand alone, and it covers purpose, side effects, instrument selection, cursor-dependent behavior, and note numbering. The main remaining gap is the undocumented velocity parameter and the lack of any statement about connection prerequisites or failure modes.

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 0%, so the description must compensate. It partially does: 'for duration_ms, then release it' clarifies duration_ms is a hold time bounded by release, and 'note numbers: 36 is C-4, 48 is C-5' supplies the MIDI numbering convention the schema cannot express. The 'velocity' parameter is never mentioned, leaving one of three parameters entirely to inference from min/max/default.

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 first sentence gives a concrete verb+resource ('press a note key... then release it'), and the keyjazz framing plus 'note key' distinguishes it from press_buttons (physical buttons) and press_sequence (macro playback). It never names a sibling explicitly, so an agent must infer the boundary rather than be told it.

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?

Explicit contextual guidance: on the PHRASE screen with the cursor on the note column it writes the note into the row; elsewhere it only auditions. 'Move the cursor off the note column to only listen' gives the agent a concrete way to get the non-mutating behavior. It stops short of saying when to prefer press_note over press_sequence or press_buttons.

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