Skip to main content
Glama

piano_roll_add_notes

Insert notes into FL Studio's open piano roll by specifying MIDI pitch, time, duration, and velocity. Enables programmatic composition without requiring MIDI input.

Instructions

Add notes to the currently-open piano roll (works WITHOUT MIDI).

notes: list of {midi: int, time_bars: float, duration_bars: float, velocity: 0..1, pan?: -1..1}.

Before calling, make sure:

  1. In FL Studio, open the target channel's piano roll (double-click the channel in the Channel Rack).

  2. Pick ComposeWithLLM from the piano-roll scripts dropdown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesYes
clear_firstNo
Install Server

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It usefully reveals the no-MIDI requirement and the exact script/prerequisite setup, but it does not describe whether notes are appended by default, the effect of clear_first, what happens if the piano roll is not open, or the return/error behavior.

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 purpose is front-loaded in the first sentence, the note shape is compressed into a small code block, and the prerequisites are terse numbered steps. Every sentence earns its place with no repetition or boilerplate.

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

Completeness3/5

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

The description covers the action, the note format, and setup steps, but it omits clear_first semantics and return/error behavior, and the schema provides no textual descriptions to fill that gap. For a mutating tool with no output schema, this leaves enough uncertainty that an agent may misuse the clear-first option or misjudge failure cases.

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?

The description overrides the 0% schema coverage for the nested notes object by listing midi, time_bars, duration_bars, velocity, and pan with useful ranges. It is incomplete, though: it omits the time and duration alternatives and never explains the top-level clear_first parameter that appears in the schema.

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 uses a specific verb-resource pair ('Add notes to the currently-open piano roll') and adds a distinctive qualifier ('works WITHOUT MIDI'), which separates it from sibling note-generation tools like add_chord and add_arpeggio. The target context is unambiguous.

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?

The numbered 'Before calling' steps give explicit environment preconditions, stating that the target channel's piano roll must be open and the ComposeWithLLM script selected. It does not, however, name alternatives or state when to prefer this over piano_roll_add_chord, add_arpeggio, or clear, so it falls short of explicit when-not guidance.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marconadas/MacFLStudioMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server