Skip to main content
Glama
jhonsu01

SoundCraft MCP Server

by jhonsu01

Why

SoundCraft is an open-source, Pro Tools-class digital audio workstation with a headless CLI (soundcraft-cli), 469 commands, 27 built-in plugins (EQ, dynamics, reverbs, delays, modulation, synths, drum synth, sampler) and an MCP mode. This Model Context Protocol server turns that engine into file-in / file-out tools for Claude, so you can ask things like:

"Make an 8-bar drum and bass loop at 110 BPM in A minor and export WAV, stems and MIDI." "Put this voice over this music for a podcast intro: music under the voice, fades, compressor on the voice, -16 LUFS." "Normalize every recording in D:\Interviews to -1 dBFS, cut the first 2 seconds and save 16-bit FLAC." "Pitch this sample up 3 semitones and make it 50 % longer without changing the pitch." "How loud is this master (LUFS, true peak)? Show me its waveform."

Sibling of designcraft-mcp-server, effectcraft-mcp-server, lightcraft-mcp-server, photocraft-mcp-server, vectorcraft-mcp-server, filmcraft-mcp-server, pdfcraft-mcp-server, wordcraft-mcp-server, deckcraft-mcp-server, gridcraft-mcp-server and audacity-mcp-server.

Related MCP server: chat-with-audio

Platforms

OS

SoundCraft package to install

Where the server finds it (no setup needed)

Status

Windows 10/11 (x64, x86, arm64)

MSI or portable zip

C:\Program Files\SoundCraft, %LOCALAPPDATA%\Programs\SoundCraft, PATH

✅ Verified (Windows 11)

Linux (x86_64, aarch64, riscv64)

.deb, .rpm or .tar.gz

/usr/bin, /usr/local/bin, /opt/soundcraft/bin, ~/.local/bin, PATH

✅ Verified (Debian 12, headless)

macOS 11+ (Apple silicon and Intel)

.dmg (the app) plus soundcraft-cli-<version>-macos-universal.zip

/Applications/SoundCraft.app, /usr/local/bin, /opt/homebrew/bin, ~/.local/bin, ~/bin, PATH

🟡 Supported, not yet tested on a Mac

All downloads: SoundCraft releases (there is also a FreeBSD tar.gz; set SOUNDCRAFT_DIR to it). Anywhere else: set SOUNDCRAFT_DIR (folder, .tar.gz root or SoundCraft.app) or SOUNDCRAFT_CLI.

  • macOS: the DMG contains only the app. Unzip the separate soundcraft-cli zip and move soundcraft-cli to /usr/local/bin (or point SOUNDCRAFT_CLI at it). The first run checks Apple's notarization online.

  • Linux: the AppImage and Flatpak contain only the app, not soundcraft-cli; use the deb, rpm or tar.gz. For an AppImage app, set SOUNDCRAFT_APP so open_in_soundcraft can start it. On a server without a GPU, the verified setup used libxkbcommon0 libvulkan1 libegl1 mesa-vulkan-drivers libasound2 fontconfig.

How it works

Part

What it is

SoundCraft engine (soundcraft-cli mcp)

SoundCraft's own engine: tracks, clips, MIDI, the built-in plugins, mixer, busses, automation, AudioSuite processing and the WAV / AIFF / FLAC / MIDI / .scraft writers. Started fresh and headless for each job, so it never touches the SoundCraft app or its audio devices.

MCP server (Node.js)

10 high-level tools. Builds sessions from a simple description (tracks, clips at seconds, notes in beats, effects, sends), checks every output first, measures the mix (peak, true peak, integrated LUFS) and draws a waveform picture of the result so the assistant can see it.

Live app (optional)

open_in_soundcraft control=true starts the app with its loopback-only control channel (port 7801) and run_soundcraft_commands live=true drives it. Close the app when you are done.

Tools

Tool

What it does

create_session

A multitrack session: audio tracks from files placed at times (clip gain, fades), instrument tracks played by the subtractive synth, the General MIDI drum synth or a sampler from notes in beats (with loops), MIDI files, volume, pan, mute, solo, insert effects, sends to aux busses, tempo, meter, key, markers. Writes the mixdown, stems, MIDI and the .scraft session, with peak, LUFS and a waveform

edit_session

A .scraft session changed: tempo, meter, key, markers, busses, new tracks, existing tracks renamed, re-mixed, with new effects and sends, or removed; written as a new copy and mixdown

export_session

One session, a list or a folder → WAV / AIFF / FLAC mixdown (range, normalize, bit depth), stems, MIDI, with loudness

process_audio

Audio files (one, a list or a folder): trim, normalize, gain, reverse, invert, pitch shift, time stretch, varispeed, effects, fades, volume and pan → WAV, AIFF or FLAC

convert_audio

Audio files → WAV, AIFF or FLAC, sample rate, bit depth, normalize

get_audio_info

Format, channels, rate, bit depth and length of audio files or the tracks of a session; optionally loudness (peak, true peak, LUFS) and a waveform

list_soundcraft_catalog

469 commands, the 27 plugins with every parameter (id, range, unit), drum note names, formats

run_soundcraft_commands

Any engine commands plus import_audio, inspect_session, bounce_mix... in one session ($steps[N].field references), headless or live, then write outputs

open_in_soundcraft

Open a session (or the demo song) in the SoundCraft app, optionally with the control channel

get_soundcraft_status

Platform, installation, version, commands, plugins, Pro Tools coverage, app / control port

Reads

WAV, AIFF, FLAC, MP3, OGG, M4A/AAC, ALAC, CAF, Standard MIDI Files, .scraft sessions

Writes

WAV, AIFF, FLAC (16 / 24-bit, 32-bit float), stems, MIDI, .scraft sessions (audio copied into "Audio Files")

Times are seconds; notes are in beats (quarter notes) from the start of their clip. Pitches are MIDI numbers, names like C4 / F#3 / Bb2, or, for drum_synth, kick, snare, clap, hat, open_hat, low_tom, mid_tom, high_tom, crash, ride.

Example

{
  "name": "Night drive",
  "tempo": 100,
  "key": "A minor",
  "busses": [{ "name": "Verb", "effects": [{ "plugin": "plate_reverb", "params": { "mix": 30 } }] }],
  "markers": [{ "name": "Intro", "at": 0 }, { "name": "Chorus", "at": 9.6 }],
  "tracks": [
    { "type": "instrument", "name": "Drums", "instrument": "drum_synth", "bars": 1, "repeat": 8,
      "notes": [{ "pitch": "kick", "start": 0 }, { "pitch": "hat", "start": 0.5, "length": 0.5 }, { "pitch": "snare", "start": 1 },
                { "pitch": "hat", "start": 1.5, "length": 0.5 }, { "pitch": "kick", "start": 2 }, { "pitch": "snare", "start": 3 }] },
    { "type": "instrument", "name": "Bass", "volume_db": -4, "pan": -0.2, "sends": [{ "bus": "Verb", "level_db": -14 }],
      "notes": [{ "pitch": "A1", "start": 0, "length": 2 }, { "pitch": "F1", "start": 2, "length": 2 }], "repeat": 4 },
    { "type": "audio", "name": "Voice", "files": [{ "path": "C:\\Audio\\voice.wav", "at": 4.8 }], "fade_in": 0.3, "fade_out": 1,
      "effects": [{ "plugin": "eq_7band", "params": { "hpf_on": 1, "hpf_freq": 90 } }, { "plugin": "compressor", "params": { "threshold": -18, "ratio": 3 } }] }
  ],
  "formats": ["wav", "stems", "mid", "scraft"],
  "normalize": true,
  "output_dir": "C:\\Music"
}

Requirements

  • SoundCraft with soundcraft-cli (tested with 0.6.1); see Platforms

  • Node.js ≥ 20 (bundled with Claude Desktop for .mcpb installs)

Installation

  1. Download soundcraft-mcp-server.mcpb from the latest release.

  2. Double-click it (or drag it into Claude Desktop → Settings → Extensions) and click Install.

  3. Optional: if SoundCraft is not in a standard location, fill in its folder or the soundcraft-cli path in the extension settings.

Sunsam Code

Install SoundCraft Bridge from the Sunsam Code marketplace, or drop the .mcpb into MCP → Install extension.

Codex (OpenAI)

Recommended — the marketplace (gets updates): Plugins → Add → Add marketplace, source jhonsu01/craft-marketplace, reference main, then install SoundCraft Bridge from Craft Bridges (craft-marketplace). New versions arrive by refreshing the marketplace. Or upload the zip (Codex then keeps it in your account and refuses a newer zip with the same name):

  1. Download soundcraft-mcp-server-<version>-codex.zip from the latest release.

  2. In Codex: Plugins → Add → New plugin, choose the zip and click Add plugin.

  3. Codex starts the server with node, so Node.js ≥ 20 must be on PATH. If SoundCraft is not in a standard location, set SOUNDCRAFT_DIR or SOUNDCRAFT_CLI as system environment variables (Codex has no settings form for local plugins).

DeepSeek Harness

  1. Plugins → Add plugin, enter github:jhonsu01/craft-marketplace#path:/plugins/soundcraft-mcp-server and click Install, then Enable now.

  2. Harness runs the server with its own MCP client and node (Node.js ≥ 20 on PATH); the tools appear as mcp__soundcraft__<tool> and the output files as cards that open in Harness.

  3. Harness does not update plugins by itself yet: to upgrade, uninstall the plugin and install it again with the same address.

Claude Code / other MCP clients

git clone https://github.com/jhonsu01/soundcraft-mcp-server.git
cd soundcraft-mcp-server
npm install
npm run build

Windows:

claude mcp add soundcraft -- node "%CD%\dist\bundle.cjs"

macOS / Linux:

claude mcp add soundcraft -- node "$PWD/dist/bundle.cjs"

Configuration

Variable

Meaning

SOUNDCRAFT_DIR

SoundCraft folder, one of its executables, a .tar.gz root (with bin/) or SoundCraft.app. Default: auto-detect

SOUNDCRAFT_CLI

Path of soundcraft-cli / soundcraft-cli.exe (wins over SOUNDCRAFT_DIR)

SOUNDCRAFT_APP

Path of the desktop app when it lives elsewhere (e.g. a Linux AppImage)

SOUNDCRAFT_CONTROL_PORT

Control port of the desktop app (default 7801)

SOUNDCRAFT_MCP_TIMEOUT

Maximum seconds per engine call (default 3600)

Safety

  • Files are never overwritten unless overwrite: true: a free name (_2) is used in folders and an existing output_path is an error. Inputs are only read; an edited file is saved only as a new copy (_edited).

  • All paths must be absolute. The engine runs headless and never touches the SoundCraft app unless live: true.

  • Everything runs locally with no network access. Each job uses a private engine in a temporary folder that is deleted at the end.

Development

npm run build       # TypeScript + single-file bundle (dist/bundle.cjs)
npm test            # unit tests (Windows, macOS and Linux path logic)
npm run test:e2e    # 27 end-to-end checks (29 with `E2E_LIVE=1`) over real MCP stdio (synthetic audio)
npm run pack:mcpb   # soundcraft-mcp-server.mcpb
npm run pack:codex  # Codex / DeepSeek Harness plugin zip

Linux test in Docker (unpack soundcraft-<version>-linux-x86_64.tar.gz first):

docker run --rm -v "$PWD:/work:ro" -v "/path/to/soundcraft-0.6.1-linux-x86_64:/opt/soundcraft:ro" -e SOUNDCRAFT_DIR=/opt/soundcraft -w /work node:22-bookworm bash -c "apt-get update && apt-get install -y libxkbcommon0 libvulkan1 libegl1 mesa-vulkan-drivers libasound2 fontconfig && node scripts/e2e.mjs"

License

Apache-2.0. SoundCraft is © its authors (Storytold), MIT or Apache-2.0. This project is not affiliated with or endorsed by SoundCraft or Storytold. Pro Tools is a trademark of Avid.

Available Tools

10 tools
convert_audioConvert audio filesB

Convert audio files (one, a list or a folder; WAV, AIFF, FLAC, MP3, OGG, M4A/AAC, ALAC, CAF in) to WAV, AIFF or FLAC, optionally changing the sample rate and bit depth or normalizing, with SoundCraft's converter.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNowav
suffixNo
bit_depthNo
input_dirNoEvery audio file directly in this folder.
normalizeNo
overwriteNoReplace existing outputs.
input_pathNo
output_dirNoAbsolute output folder (default: next to the input; required for new files).
input_pathsNo
output_pathNoAbsolute output file for the first format (its extension must match).
sample_rateNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the safety profile (not read-only, not open-world, not idempotent, not destructive). The description adds useful operational context — accepted input formats, target formats, and the fact that it delegates to SoundCraft's converter — but does not disclose overwrite semantics, where outputs land, or whether existing files are affected, which matters for a tool that writes to disk.

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 front-loaded sentence led by the verb, with no filler. It is dense with parenthetical format lists but every clause carries information; the only mild cost is readability from packing all options into one sentence.

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 an 11-parameter write tool with no output schema and only 36% schema coverage, the description covers the core conversion story but omits output behavior (where files are written, what is returned) and several parameters. It is adequate to attempt a call but incomplete for confident edge-case handling like overwriting.

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 36%, so the description must compensate, and it partially does: it clarifies input cardinality (one, a list, or a folder, mapping to input_path/input_paths/input_dir) and names sample rate, bit depth, and normalize. However it says nothing about suffix, overwrite, or output_path/output_dir semantics beyond what the schema provides.

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 gives a specific verb (convert) and resource (audio files), and enumerates accepted input formats (WAV, AIFF, FLAC, MP3, OGG, M4A/AAC, ALAC, CAF) and target formats (WAV, AIFF, FLAC), plus its optional transformations. It clearly describes the operation, though it never explicitly distinguishes itself from the sibling process_audio, leaving some ambiguity about which to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains optional capabilities (sample rate, bit depth, normalizing) but gives no guidance on when to use this tool versus process_audio or export_session, nor any prerequisites or exclusions. Usage is only weakly implied by the verb 'convert'.

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

create_sessionCreate a multitrack sessionB

Build a song, podcast or soundtrack with SoundCraft (a Pro Tools-class DAW) and mix it down: audio tracks from files placed at times (clip gain, fades), instrument tracks played by the built-in subtractive synth, General MIDI drum synth or a sampler from notes in beats, imported MIDI files, per-track volume, pan, mute, solo, insert effects (EQ, compressor, reverb, delay, chorus, saturation...) and sends to aux busses, tempo, meter, key and markers. Writes the mixdown (wav, aiff, flac), the stems, the MIDI and the editable .scraft session, reports peak and integrated loudness (LUFS) and returns a waveform picture of the mix.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoBounce up to this time (seconds; default the end of the last clip).
keyNoKey, e.g. "C major", "A minor".
nameNoFile name without extension.session
startNoBounce from this time (seconds; default the session start).
tempoNoTempo in BPM (default 120).
bussesNoAux busses (e.g. a shared reverb) that tracks send to.
tracksYes
formatsNoOutputs: wav / aiff / flac (the mixdown), scraft (the editable SoundCraft session; its audio is copied into an "Audio Files" folder beside it), mid (the MIDI of the instrument tracks) and stems (one file per track, in a <name>_stems folder).
markersNoMarkers (seconds).
previewNoReturn a waveform picture of the mix.
bit_depthNoBit depth of wav / aiff / flac / stems (flac: 16 or 24).24
normalizeNoNormalize the mixdown to -0.1 dBFS peak.
overwriteNoReplace existing outputs.
output_dirNoAbsolute output folder (default: next to the input; required for new files).
output_pathNoAbsolute output file for the first format (its extension must match).
sample_rateNo
meter_numeratorNoTime signature top (default 4).
meter_denominatorNoTime signature bottom (default 4).

TDQS

B3.4/5.0
Behavior4/5

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

Annotations declare it is a non-read-only, non-destructive, non-idempotent operation, so the mutation profile is covered. The description adds genuinely useful behavior beyond that: it discloses exactly which files are written (wav/aiff/flac, stems, MIDI, editable .scraft session) and that it reports peak and integrated LUFS plus returns a waveform picture, which the annotations do not convey.

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?

The purpose is front-loaded in the opening clause, which is good. However, the description is a single sprawling run-on sentence that enumerates nearly every field the schema already documents, so much of its length does not earn its place and hurts scannability.

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 an 18-parameter tool with no output schema, the description does well by describing the return artifacts (mix files, stems, MIDI, LUFS, waveform image). It omits nuance around overwrite/output path behavior, but those are covered by parameter descriptions, so nothing critical is missing for correct invocation.

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 89%, so the schema itself already documents nearly every parameter, giving a baseline of 3. The description usefully ties the parameter surface to a workflow (clip gain, fades, sends to aux busses, tempo, meter, key, markers) but adds no syntax, defaults, or constraints beyond what the schema already states.

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 names a specific verb and resource ('Build a song, podcast or soundtrack with SoundCraft... and mix it down') and enumerates the concrete artifacts it produces (mixdown, stems, MIDI, .scraft, LUFS report). It is clear what the tool does, but it never distinguishes itself from siblings like export_session (which also produces mixdowns) or edit_session, so an agent must infer the create-from-scratch scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no named alternative. With siblings like edit_session, export_session, and run_soundcraft_commands available, the agent gets no rule for choosing this tool over them; the create-from-scratch scenario is only weakly implied by 'Build a song... and mix it down'.

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

edit_sessionEdit a SoundCraft sessionA

Open a .scraft session (or start from audio files) and change it: tempo, meter, key, markers, busses, add tracks (audio, instrument, MIDI file), change existing tracks by name (rename, volume, pan, mute, solo, add effects and sends), remove tracks, then write a new mixdown, stems, MIDI or a new copy of the session. The original session is never changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoBounce up to this time (seconds; default the end of the last clip).
keyNoKey, e.g. "C major", "A minor".
startNoBounce from this time (seconds; default the session start).
tempoNoTempo in BPM (default 120).
bussesNoAux busses (e.g. a shared reverb) that tracks send to.
suffixNoAdded to the input name for outputs._edited
formatsNoOutputs: wav / aiff / flac (the mixdown), scraft (the editable SoundCraft session; its audio is copied into an "Audio Files" folder beside it), mid (the MIDI of the instrument tracks) and stems (one file per track, in a <name>_stems folder).
markersNoMarkers (seconds).
previewNo
bit_depthNoBit depth of wav / aiff / flac / stems (flac: 16 or 24).24
normalizeNoNormalize the mixdown to -0.1 dBFS peak.
overwriteNoReplace existing outputs.
add_tracksNo
input_pathYesAbsolute .scraft session.
output_dirNoAbsolute output folder (default: next to the input; required for new files).
output_pathNoAbsolute output file for the first format (its extension must match).
change_tracksNoChanges to existing tracks; `name` renames.
remove_tracksNoNames of tracks to delete.
meter_numeratorNoTime signature top (default 4).
meter_denominatorNoTime signature bottom (default 4).

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=false, and the description corroborates the key safety claim with a strong, explicit statement: "The original session is never changed." It also discloses that outputs are written (mixdown, stems, MIDI, new session copy), which is useful context beyond the flags. It omits the preview default-of-true and the confirmation/overwrite behavior, so it is helpful but not exhaustive.

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?

Front-loaded with the core action and followed by a one-sentence guarantee about the original session. The long middle sentence is dense but each clause maps to real capability, so little is wasted; it is only slightly list-heavy for a description.

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 20-parameter, deeply nested mutation tool with no output schema, the description covers the essential mental model: what gets modified, what gets produced, and that the input is preserved. Remaining details (preview, output_dir being required for new files, overwrite semantics) live in the well-covered schema, so nothing critical is missing.

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 90%, so the schema already documents nearly every parameter, including the default output formats and the name-based track addressing. The description's contribution is an inventory of the changeable categories (tempo, meter, key, markers, busses, tracks, outputs) rather than syntax or format detail, which is the expected baseline when the schema does the heavy lifting.

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?

States a specific verb (open/change/edit) and resource (a .scraft SoundCraft session) and then enumerates the full edit surface: tempo, meter, key, markers, busses, add/change/remove tracks, and output writing. This makes it unmistakably distinct from create_session (new session) and export_session (write-only) without needing to name them.

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?

Gives clear usage context – it applies to an existing session or to starting a project from audio files – and implies the edit-then-render workflow. It never states when to prefer a sibling such as export_session or process_audio, nor any exclusions, so it lands at clear-context-without-alternatives rather than full routing guidance.

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

export_sessionExport SoundCraft sessionsA

Mix down one .scraft session, a list or every session in a folder: wav / aiff / flac mixdown (range, normalize, bit depth), stems (one file per track), MIDI, with peak and loudness (LUFS) of each mix.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoBounce up to this time (seconds; default the end of the last clip).
startNoBounce from this time (seconds; default the session start).
formatsNoOutputs: wav / aiff / flac (the mixdown), scraft (the editable SoundCraft session; its audio is copied into an "Audio Files" folder beside it), mid (the MIDI of the instrument tracks) and stems (one file per track, in a <name>_stems folder).
previewNoReturn a waveform picture of the first mix.
bit_depthNoBit depth of wav / aiff / flac / stems (flac: 16 or 24).24
input_dirNoEvery .scraft directly in this folder.
normalizeNoNormalize the mixdown to -0.1 dBFS peak.
overwriteNoReplace existing outputs.
input_pathNo
output_dirNoAbsolute output folder (default: next to the input; required for new files).
input_pathsNo
output_pathNoAbsolute output file for the first format (its extension must match).

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare a non-destructive write (readOnlyHint=false, destructiveHint=false), lowering the burden. The description usefully adds output composition, e.g. stems land in a <name>_stems folder and scraft copies audio into an 'Audio Files' folder, plus normalize-to--0.1 dBFS and LUFS reporting. It does not address overwrite semantics, permissions, or failure behavior, so it adds moderate context but not rich disclosure.

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 front-loaded sentence led by the verb 'Mix down', with parentheticals and slashes packing detail efficiently and no filler. It is slightly dense to parse, but every clause contributes information and nothing is redundant with the title.

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?

With 12 parameters, no required fields, and no output schema, the description still conveys the modes, the output formats, and the return information (peak and LUFS of each mix). It leaves the input_path vs input_paths vs input_dir selection and the first-format-only output_path behavior to the schema, but overall it is adequate for the tool's complexity.

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 83%, so the schema documents most parameters (range, bit depth, normalize, overwrite, output_dir). The description echoes the key ones (range, normalize, bit depth, stems) without adding syntax or constraints beyond the schema, so the baseline of 3 applies.

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 names a specific verb ('mix down') and resource ('one .scraft session') and enumerates the three input modes (single session, list, folder) plus the concrete output types (wav/aiff/flac, stems, MIDI, LUFS reporting). It is clearly an export/render operation distinct from edit_session or create_session. It stops short of explicitly contrasting with convert_audio, which is the nearest ambiguous sibling, so it earns a 4 rather than 5.

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 three modes imply when each path parameter is relevant, but the description never states explicit when-to-use/when-not guidance or names an alternative (e.g., convert_audio for format-only changes). Usage is only inferable from the phrasing, matching the 'implied usage' level.

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

get_audio_infoAudio file or session infoB
Read-onlyIdempotent

Format, channels, sample rate, bit depth and length of audio files, or the tracks, clips, plugins, busses, markers and tempo of a .scraft session. With loudness=true also the peak, true peak and integrated loudness (LUFS); with waveform=true a picture of it.

ParametersJSON Schema
NameRequiredDescriptionDefault
loudnessNoMeasure peak, true peak and LUFS (renders the audio once).
waveformNoReturn a waveform picture of the first file.
input_dirNo
input_pathNo
input_pathsNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is covered. The description does add real behavioral context beyond the annotations — loudness=true "renders the audio once" (a cost side effect) and waveform=true returns a picture of only the first file — but omits batch behavior and the 200-item cap.

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?

Two dense sentences with no filler, front-loading the returned fields before the optional flags. Every clause carries information, though the first sentence is long enough to be slightly dense.

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?

With no output schema, the description has to carry the return-value burden, and it does list the field categories. However, it says nothing about how inputs are selected (dir vs path vs array) or the shape/nesting of the result, which an agent needs for a 5-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 40%, and the three undocumented parameters (input_dir, input_path, input_paths) are the ones that actually control what gets inspected — yet the description never explains the difference between them or what happens when the multiple-path array is used. The loudness/waveform explanations largely restate what the schema already documents.

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 names the concrete resource and the fields returned: format, channels, sample rate, bit depth, length for audio files, and tracks/clips/plugins/busses/markers/tempo for .scraft sessions. This clearly distinguishes it from siblings like get_soundcraft_status or list_soundcraft_catalog. It lacks an explicit verb ("get"/"inspect"), but the enumeration makes the capability unambiguous.

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?

It describes what the loudness and waveform flags do, which implies when to enable them, but never states when to prefer this tool over alternatives or what preconditions apply (e.g., must the file exist, does it need SoundCraft open?). No exclusions or sibling routing are given, so 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.

get_soundcraft_statusSoundCraft statusA
Read-onlyIdempotent

Check the SoundCraft installation: platform, executables, version, engine commands, built-in plugins, Pro Tools feature coverage, formats, whether the app is running / listening for control.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds one useful behavioral signal — that it reports whether the app is currently running and listening for control, i.e., live state rather than static config — but says nothing about behavior when SoundCraft is absent or the output shape.

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?

One sentence, front-loaded with the verb and resource, followed by a tight colon-delimited list of inspected facets. No filler, no restatement of the title.

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?

There is no output schema, but the description effectively enumerates what the response covers (platform, version, plugins, formats, running state), which largely substitutes for one. It falls short only on error/edge behavior, e.g., what is returned when SoundCraft is not installed.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the enumerated check list is informational rather than parameter guidance.

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?

States a specific verb ('Check') and resource ('SoundCraft installation') and then enumerates the exact facets inspected: platform, executables, version, engine commands, plugins, Pro Tools coverage, formats, and running/listening state. This is clearly distinguishable from siblings like list_soundcraft_catalog or run_soundcraft_commands, which act on content rather than installation health.

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?

Usage is implied rather than stated: an agent can infer this is the preflight/diagnostic call to make before run_soundcraft_commands or open_in_soundcraft, but the description never says when to use it or when to prefer a sibling. No exclusions or prerequisites are given.

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

list_soundcraft_catalogList commands, plugins, drums, formatsA
Read-onlyIdempotent

What SoundCraft can do: commands (the engine commands with parameters and menu place, for run_soundcraft_commands), plugins (the built-in effects and instruments with every parameter id, range and unit, for effects and instrument_params), drums (the drum_synth note names) and formats (read and write).

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
filterNoCase-insensitive text to match (id, label, menu or category).

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing behavioral beyond content scope — no note on result size, caching, or whether the catalog is static. It is a passive static-data read, so little is needed, but the description itself contributes no extra behavioral context.

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 sentence, front-loaded with the tool's overall purpose and then cleanly partitioned by kind. The nested parentheticals are dense and require careful reading, but every clause carries information — there is no filler to cut.

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 two-parameter, closed-world, read-only catalog with no output schema, the description tells the agent what content each kind returns and which downstream tool consumes it. It omits only the concrete shape/size of the returned structure, which is a minor gap given the tool's simplicity.

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 only 50%; the 'kind' enum has no per-value description in the schema, and the description compensates by explaining what each of the four enum values actually yields and why it matters. That is genuine added meaning beyond the schema, though the 'filter' parameter is left entirely to the schema and no matching semantics are elaborated.

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?

Opens with 'What SoundCraft can do' and enumerates exactly what each of the four kinds returns (commands with parameters/menu place, plugins with parameter id/range/unit, drum note names, formats). An agent can tell it is a read-only catalog lookup distinct from the action siblings like run_soundcraft_commands or open_in_soundcraft. It never uses a crisp verb like 'List/Return', which keeps it from a 5.

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?

It implicitly gives usage by naming the consumers of each kind ('for run_soundcraft_commands', 'for `effects` and `instrument_params`'), which tells an agent why it would fetch a given kind. But it never states when to call this versus the sibling tools, whether it should be called before running commands, or when the filter is worth using. Usage is implied rather than instructed.

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

open_in_soundcraftOpen in SoundCraftA

Open a .scraft session in the SoundCraft desktop app to listen and keep editing by hand. With control=true the app also starts its loopback-only control channel so run_soundcraft_commands live=true can drive it (play, edit, screenshots).

ParametersJSON Schema
NameRequiredDescriptionDefault
demoNoOpen the built-in demo song instead.
pathNoAbsolute .scraft session to open (default: an empty session).
controlNo

TDQS

A4.6/5.0
Behavior4/5

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

Adds real behavioral context beyond annotations: opening launches a GUI, and control=true starts a loopback-only control channel (a security-relevant detail). Annotations already cover the safety profile (non-read-only, non-destructive, not idempotent), but the description doesn't say what happens if the app is already open or what the call returns.

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?

Two sentences, zero waste, front-loaded with the core action before the conditional control-channel detail. Nothing repeated from title or schema.

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 exists, so the description should carry the burden of return behavior, and it does not state what the tool returns or what happens on failure/already-running app. Everything else an agent needs to invoke it correctly is present.

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 67% and the control parameter has no schema description at all; the description compensates by explaining exactly what control=true does (starts the control channel enabling live driving). demo and path already carry schema descriptions, so this is additive rather than duplicative.

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?

Specific verb+resource ('Open a .scraft session in the SoundCraft desktop app') with scope ('to listen and keep editing by hand'), clearly distinguishing it from create_session/edit_session siblings that manipulate sessions without launching the desktop app.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative explicitly and the condition that selects it: with control=true, run_soundcraft_commands live=true can drive the app. An agent can decide between this tool and run_soundcraft_commands without inference.

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

process_audioProcess audio filesB

Run audio files (one, a list or a folder) through SoundCraft: trim, AudioSuite processing (normalize to a peak, gain, reverse, invert, pitch shift in semitones, time stretch keeping the pitch, varispeed), insert effects (EQ, compressor, gate, de-esser, maximizer, reverb, delay, chorus, flanger, phaser, saturation, lo-fi...), fades, volume and pan, then write WAV, AIFF or FLAC at any bit depth, with peak and loudness (LUFS). Inputs are only read.

ParametersJSON Schema
NameRequiredDescriptionDefault
panNo
speedNoVarispeed (pitch and length change together): 2 = twice as fast.
formatNowav
invertNoInvert the polarity.
suffixNo_processed
effectsNoInsert effects, in order (rendered into the output).
fade_inNo
gain_dbNo
previewNoReturn a waveform picture of the first result.
reverseNo
stretchNoTime stretch keeping the pitch: 2 = twice as long.
fade_outNo
trim_endNoKeep up to this time (seconds).
bit_depthNo24
input_dirNoEvery audio file directly in this folder.
overwriteNoReplace existing outputs.
volume_dbNo
input_pathNo
output_dirNoAbsolute output folder (default: next to the input; required for new files).
trim_startNoKeep from this time (seconds).
input_pathsNo
output_pathNoAbsolute output file for the first format (its extension must match).
sample_rateNoOutput rate (default: the file's own).
normalize_dbNoNormalize the peak to this level (dBFS), before the effects.
pitch_semitonesNoPitch shift keeping the length.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false). The description usefully clarifies that 'Inputs are only read', which softens the readOnlyHint=false flag by telling the agent the source files are untouched. It stops short of explaining overwrite behavior, re-run/idempotency semantics, or failure handling for the many-file case.

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?

The core action is front-loaded, which is good, but the tool's identity is delivered as one very long sentence with two dense parenthetical catalogues of effects and formats. The plugin enumerations duplicate content already in the schema's plugin field, and breaking the pipeline into ordered steps would be far more scannable.

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 25-parameter tool with no output schema and 56% coverage, the description should do more. It conveys the overall pipeline shape but omits how outputs are named/located (suffix, output_dir vs output_path vs output_path), what happens with multiple inputs and multiple formats, and the default preview behavior, all of which an agent needs to call it correctly.

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 56% across 25 parameters, so the schema carries much but not all of the load. The description's capability list (trim, normalize, gain, reverse, invert, pitch shift, time stretch, varispeed, effects) maps loosely onto parameter names but adds no units, defaults, or interaction rules, so it only partially compensates for the undocumented half.

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 (run files through SoundCraft) and enumerates the concrete capability set: trim, AudioSuite processing, insert effects, fades, volume/pan, and encoding to WAV/AIFF/FLAC. It reads as a full processing pipeline rather than a tautology. However it never names or contrasts with the nearest siblings (convert_audio, run_soundcraft_commands, edit_session), so an agent must infer the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named despite clear overlap with convert_audio and run_soundcraft_commands. The only routing hint is the implicit 'processor, not editor' framing, which the agent has to derive from the capability list.

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

run_soundcraft_commandsRun SoundCraft engine commandsA
Destructive

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.

ParametersJSON 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

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.0.0
    • First observedconvert_audio
    • First observedcreate_session
    • First observededit_session
    • First observedexport_session
    • First observedget_audio_info
    • First observedget_soundcraft_status
    • First observedlist_soundcraft_catalog
    • First observedopen_in_soundcraft
    • First observedprocess_audio
    • First observedrun_soundcraft_commands

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target distinct lifecycle stages: create_session builds new, edit_session modifies existing, export_session only mixes down, process_audio transforms files, convert_audio changes formats. The main ambiguity is run_soundcraft_commands, a raw escape hatch that overlaps nearly everything, and export_session's mixdown overlaps the export capability embedded in create_session/edit_session, but the detailed descriptions keep boundaries usable.

Naming Consistency4/5

Nearly all names follow a clean verb_noun snake_case pattern (edit_session, create_session, export_session, process_audio, convert_audio, get_audio_info, list_soundcraft_catalog, run_soundcraft_commands, get_soundcraft_status). The only minor deviation is open_in_soundcraft, which uses verb_prep_noun. Consistency is strong overall.

Tool Count5/5

10 tools is well-scoped for a Pro Tools-class DAW server, covering the full lifecycle without bloat. Each tool earns its place, and run_soundcraft_commands provides depth without inflating the surface.

Completeness5/5

The surface covers create/edit/export of sessions, audio processing, format conversion, inspection, capability discovery, live app control, and status checks. The raw run_soundcraft_commands plus catalog tool act as escape hatches for any missing granular operations, leaving no obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic search of local audio samples by describing sounds, MIDI generation, stem separation, and other music production tools from Claude Desktop.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables chat-driven audio analysis and enhancement using local Claude, including denoising, EQ, compression, and loudness normalization, with an A/B viewer for synchronized comparison.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude to analyze and repair audio files by viewing spectrograms, measuring noise, and applying fixes like healing hums or isolating speakers, all with undoable operations and without uploading audio.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude Desktop to drive FL Studio 2025 and 2026 through natural language, diagnosing and repairing mixes, configuring plugins, writing notes and chords in any scale, exporting arrangements to MIDI, and analyzing audio for tempo, key, and melody.
    MIT