Skip to main content
Glama
jhonsu01

SoundCraft MCP Server

by jhonsu01

Run SoundCraft engine commands

run_soundcraft_commands
Destructive

Run ordered SoundCraft engine commands to build, edit, and render multitrack sessions, or drive the open app, then write mix, stems, MIDI, or session outputs.

Instructions

Advanced: run any SoundCraft engine commands in order (session., file., edit., track., clip., mix., automation., event. (tempo, meter, key, MIDI edits), midi., markers., audiosuite.process...) plus the engine tools new_session / open_session / import_audio / inspect_session / bounce_mix / save_session (step id = the tool name), on a new or an opened session, then write outputs. Positions are samples, {"seconds": x} or "bars_beats:5|1|000". Parameters can use "$steps[N].field" for a value returned by step N (0-based). With live=true the steps drive the open SoundCraft app instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
liveNoDrive the open SoundCraft app (control port 7801) instead of a headless engine.
nameNosoundcraft
stepsNo
formatsNoWrite the result (needs output_dir or output_path).
bit_depthNo24
normalizeNo
open_pathNoAbsolute .scraft session to open first (never saved over; write a copy with formats).
overwriteNo
output_dirNo
output_pathNo
sample_rateNoNew session rate when there is no open_path.
stop_on_errorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, and the description adds real behavior beyond that: sequential execution, live=true driving the open app vs a headless engine, and the guarantee that open_path is never saved over. It still does not explain overwrite or stop_on_error semantics, but the additions are substantive.

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?

A single dense paragraph, but it is front-loaded with the 'Advanced: run any ... in order' framing and nearly every clause carries non-obvious information. The malformed quoting around the bars_beats example and the run-on length keep it from a 5.

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?

For a 12-parameter, destructive, no-output-schema tool the description covers the hard parts (ordering, step references, positions, live mode, open_path safety) but omits error handling and overwrite behavior and leaves a third of the parameters unexplained. Adequate but with clear gaps.

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 description coverage is only 33%, so the description must compensate, and it does for live, steps, and output writing by documenting the '$steps[N].field' chaining syntax and the position formats (samples, {"seconds": x}, bars_beats) that appear nowhere in the schema. Several parameters (bit_depth, normalize, overwrite, stop_on_error, sample_rate) remain undocumented in both places.

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 and resource (run SoundCraft engine commands in order) and enumerates the command namespaces and engine-tool step ids, so the agent knows exactly what it executes. It does not, however, contrast itself against siblings like edit_session or process_audio, which overlap with the step ids it lists.

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 'Advanced:' prefix implies this is the heavyweight option and listing engine tools as steps hints at the relationship to siblings, but there is no explicit when-to-use / when-not or routing statement (e.g. 'prefer create_session for a simple new session'). Usage is only implied.

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