Skip to main content
Glama
TypeWolf

lmms-mcp

by TypeWolf

add_notes_batch

Add multiple notes to a track in a single operation, specifying key, position, length, volume, and panning for each note.

Instructions

Add multiple notes to a track at once.

Args: track_index: Zero-based track index notes: List of note objects, each with: key (int or str like "C4"), pos (ticks), length (ticks, default 48), volume (0-200, default 100), panning (-100 to +100, default 0)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesYes
track_indexYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full behavioral disclosure burden. It only states the mutating action 'Add' and then focuses on parameter defaults/ranges. It does not disclose whether notes are appended or replace existing notes, whether the track must pre-exist, how invalid values are handled, or any side effects. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: a one-line summary followed by a clear Args block. Every sentence earns its place, and the essential information is front-loaded. There is no filler or repetition.

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?

Given the output schema exists, the return value is covered elsewhere, so that gap is acceptable. The description thoroughly documents all input parameters and defaults. The main missing contextual detail is whether notes are appended or overwrite existing notes on the track, which is relevant for a batch mutation tool but not critical enough to lower the score further.

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?

The input schema provides only bare parameter names and types, with zero description coverage for the notes object. The description compensates thoroughly by documenting track_index as zero-based and specifying each note field: key formats ('C4'), pos in ticks, length default 48, volume range 0-200, panning range -100 to +100. This is the strongest part of the description.

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 ('Add'), a specific resource ('multiple notes to a track'), and the 'at once' phrase clearly distinguishes it from the single-note siblings add_note and add_note_by_name. An agent can immediately understand what this tool does without inspecting the schema.

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 batch usage ('at once') but never explicitly contrasts this with add_note/add_note_by_name or states when not to use it. No alternative routing or exclusion conditions are provided, so an agent must infer the intended use case.

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