Audionaut MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUDIONAUT_DISABLE_ANALYTICS | No | Set AUDIONAUT_DISABLE_ANALYTICS=1 to switch analytics reporting off regardless (CI environments, scripts). CLI invocations report anonymous usage statistics under the same strictly opt-in consent as the app (one cli_command event: verb and exit code) — nothing is sent unless consent was granted in the app's settings. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_project_infoB | Summarizes an Audionaut project: tempo, tracks, clips with positions/durations and their audio files. Set raw=true for the full persistence JSON instead of the summary. |
| create_projectA | Creates a new empty Audionaut project (.audium package) with one track. Fails if the path already exists. |
| import_audioB | Imports one or more audio files into the project at the given position and saves it. Note: importing creates a new track holding the files. |
| export_audioA | Renders the project offline to a WAV file (no audio device needed). Pass region to bounce a single region instead - always dry, without any clip's gains or fades. |
| analyzeA | Runs Essentia audio analysis (segment boundaries, beats, BPM) on the project's audio files - or one standalone audio file - and caches the results next to the project for auto_edit/assemble to use. Fails with essentia_unavailable in builds without Essentia. |
| auto_editA | Segments a clip on a track using cached analysis results (run analyze first). Splits the clip into musically-aligned regions. |
| assembleB | Builds an arrangement of the given duration from the project's regions, sequentially or at random (requires regions - e.g. from auto_edit). |
| splitA | Splits the clip under the given timeline position into two on every track that has one there (the GUI's Split command). Fails with nothing_to_split when no clip spans the position. |
| create_regionA | Creates a named region from a timeline range on every track whose clip fully contains it (the GUI's Create Region command). The arrangement itself is unchanged. |
| set_regionA | Renames a region and/or retrims its source-relative range (clamped to the source audio). Clips have no length of their own, so a retrim affects every clip using the region. |
| remove_clipA | Removes the clip at a timeline position (one clip; ambiguity across tracks needs track), or every placement of a named region. delete_region also drops the region itself unless other clips use it. |
| move_clipA | Moves one clip to a new timeline position and/or onto another track. Address it by position (at) or region name; the address must match exactly one clip. to_track takes a track id, or "new" to create a track for it; without to the clip keeps its position. Give at least one of to and to_track. |
| place_clipA | Creates a new clip from an existing named region at a timeline position, on the track that owns the region (track only disambiguates same-named regions). |
| cleanup_regionsA | Deletes every region that has no clip on the timeline (the GUI's Delete Unused Regions). The audio files stay in the package. |
| clip_gainA | Sets the addressed clip's gain - linear by default, dB with db=true - on every destination channel, or one channel. The address (at or region) must match exactly one clip. |
| clip_speedA | Sets a clip's playback speed (ratio 0.25-4, 2.0 = double speed, half as long). The mode picks how: repitch (default, varispeed - pitch and length change together) or stretch (pitch-preserving time-stretch). Mode can also be changed on its own. lockTempo ties the clip to the project tempo (speed = project tempo / clip tempo, following tempo changes); the clip tempo is detected by beat tracking or given with |
| separate_stemsA | Splits a clip into Drums/Bass/Other/Vocals tracks with the Demucs (htdemucs) source separator, aligned with the source clip. Slow: minutes for a full song, CPU only. Needs the model weights, which the Audionaut app downloads once (Settings > Separation); fails with model_missing until then, and with demucs_unavailable in builds without Demucs. |
| clip_fadesA | Sets the addressed clip's fade lengths, ramp offsets (0 clears; offsets may be negative to reach outside the clip) and curve exponents (0.1-4, 0.5 = equal power). Values are clamped against each other within the clip. The address must match exactly one clip. |
| remove_trackA | Removes a whole track from the project, including its channels, clips and regions. Track ids are positions in the track list, so the ids of the tracks below shift up by one. The audio files stay in the package. |
| remove_channelA | Removes one channel (0-based) from a track, like deleting a channel strip in the GUI. Channel mappings and per-channel clip gains shift down; the audio files stay in the package. |
| request_featureA | Sends a feature request to the Audionaut maintainer as a GitHub issue. Use it when a task needs something the other tools cannot do: a missing verb or option, a limit that got in the way, or a workflow that took a clumsy workaround. Say what the user was trying to achieve and why the current tools fall short - that context is what makes the request actionable. Tell the user you are sending it; include their name or e-mail only if they offered it. If nothing could be sent, the reply carries a prefilled issue link to hand to the user. |
| report_bugA | Reports a bug in Audionaut to the maintainer as a GitHub issue. Use it when a tool misbehaves: an error that should not happen, a wrong or inconsistent result, a crash, or a project left in a bad state. Quote the exact tool call and error text - the CLI's code and message - and say what you expected instead; that is what makes the report reproducible. Never include the audio itself, and keep file paths to what is needed. Tell the user you are sending it; include their name or e-mail only if they offered it. If nothing could be sent, the reply carries a prefilled issue link to hand to the user. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Most tools target clearly distinct resources and actions, from project creation to clip gain/fades and stem separation. The main overlaps are request_feature vs report_bug (same GitHub issue mechanism, different intent) and the referenced but missing delete_region, which complicates remove_clip/cleanup_regions boundaries.
The set mostly follows a readable verb_noun pattern: get_project_info, create_project, place_clip, remove_track, report_bug. Minor deviations exist for clip_gain, clip_speed, clip_fades, and one-word tools like analyze/split, but these remain understandable.
22 tools is on the high side but reasonable for a DAW-like audio project server covering project, track, clip, region, analysis, export, and support operations. A few operations could likely be consolidated, but most tools earn their place.
Core workflows are covered: create/import/export, analyze, edit clips and regions, and remove tracks/channels. However, notable gaps remain, including no explicit track/channel create or rename operations, no project tempo/metadata update tool, and a delete_region operation referenced in remove_clip but absent from the tool list.