Skip to main content
Glama
newsbubbles

ismail: agent DAW (MCP server)

Deck Cost

deck_cost

Simulate the rendering cost of music decks prior to playback. Measure track render times, real-time factors, and mixer load to strategically plan sets or optimize resource allocation.

Instructions

What a song costs as a deck, before it plays: its first bar rendered offline the way the live engine renders it, timed (no live_start, nothing played, no engine touched). Reach for it when planning a set or a reset: which deck leaves a silent gap after live_load, how long, and which track makes it. project: the song's project folder, as live_load takes it. bars=[a, b]: the deck window live_load will get (its first bar is measured); bpm: the house tempo (default the song's). The report: each track's render seconds for that bar and its real-time factor (render seconds / the bar's seconds; above 1 that track alone renders slower than it plays), its slowest event, its first note (first-use cost), its effects' ms per mixer block; the total, the wait for the first bar with workers render workers (live_start's default), and the mixer's load for this deck alone. Then: load a heavy deck that many bars ahead and keep it cued, pick a lighter section, or track_freeze its heavy parts. The numbers are this machine as it is now: a busy machine reads slower. wait: stand in line this long when the machine is busy.

Input Schema

NameRequiredDescriptionDefault
bpmNo
barsNo
waitNo10m
projectYes
workersNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.1/5.0
Behavior5/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: it states that nothing is played and no engine is touched, that results are machine-state-dependent ('a busy machine reads slower'), and that `wait` queues the call when the machine is busy. That is meaningful non-obvious behavioral context that no structured field provides.

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

Conciseness3/5

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

Purpose is front-loaded, but the body is a dense run-on packed with parentheticals and semicolon-linked clauses. Most content earns its place, yet the same ideas (offline render, machine-dependent numbers) are restated, and the prose could be tightened substantially without losing signal.

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 five-parameter diagnostic tool with no annotations, the description covers what it measures, why it matters, and how the numbers should be interpreted. An output schema exists, so the lengthy enumeration of report fields is largely redundant, but nothing an agent needs in order to call it correctly is missing.

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 coverage is 0%, so the description must compensate, and it covers all five parameters: project ('the song's project folder, as live_load takes it'), bars ('the deck window live_load will get, first bar measured'), bpm ('the house tempo, default the song's'), workers (render workers, live_start's default), and wait ('stand in line this long when the machine is busy'). Only the string format of `wait` (e.g. '10m') and the shape of `bars` beyond a two-element window are left implicit.

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 description states a specific action and scope: an offline render of the song's first bar, timed the way the live engine renders it, with no playback. It distinguishes itself from live_start/live_load by emphasizing 'nothing played, no engine touched,' though the opening clause is wordy enough that the core purpose takes a few reads to land.

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?

It gives a concrete trigger ('Reach for it when planning a set or a reset'), a concrete question it answers ('which deck leaves a silent gap after live_load, how long, and which track makes it'), and names the follow-up alternatives (load heavier decks earlier, pick a lighter section, or track_freeze). Explicit exclusions are absent but the usage context is clear.

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