Gizmos Audacity MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Control one local English Audacity 3.7 session. Inspect status and describe effects before editing. Save a new project backup before destructive work; scripted effects have no per-call undo. Preview pipelines with dryRun. After an uncertain reply use dialogs and recover, inspect the project, and never replay an edit automatically.
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 |
|---|---|
| audacity_launchA | Start or attach to Audacity with a visible or hidden Windows project window. Waits for a real script-pipe response. |
| audacity_windowA | Show or hide the Audacity window on Windows. A hidden Audacity keeps working through the pipe. |
| audacity_quitA | On Windows, quit Audacity without a save prompt. Without saveTo the project is discarded (saved to a temporary file that is then deleted). |
| audacity_dialogsA | On Windows, list Audacity's open windows and dialogs; close=true closes the dialogs (WM_CLOSE, like the window's X; Cancel for questions). Use it when a call times out: a modal dialog blocks the pipe. |
| audacity_freshA | Get an empty project in a single window. A running session is backed up when it has tracks (backupTo required), then restarted, even when empty. Restart is Windows-only; on other platforms save and quit Audacity first. Never use the New menu: a second project window has crashed Audacity 3.7 under scripting. |
| audacity_statusB | Whether Audacity answers, and its tracks with name, kind, start/end, volume, pan, mute and solo. |
| audacity_infoB | Read native state: Tracks, Clips, Envelopes (points as t/y), Labels, Boxes, Selection, Preferences, Commands (full catalogue with parameters) or Menus. |
| audacity_describeA | Parameters of one scripting command or effect from the bundled English Audacity 3.7.8 catalogue. |
| audacity_commandA | Run a catalogue scripting command or effect on the current selection (Amplify, Compressor, Limiter, LoudnessNormalization, Normalize, High-passFilter, FilterCurve, AutoDuck, FadeIn, …). Parameters follow Audacity's own list; see audacity_describe. Native Set* setters use selected tracks: call audacity_select first. NoiseReduction requires a captured profile. |
| audacity_menuA | Run a menu command that needs no dialog (Play, Stop, Undo, Redo, SelectAll, SelectNone, NewMonoTrack, NewStereoTrack, NewLabelTrack, AddLabel, ZoomSel, FitInWindow, CursProjectStart, …). Use audacity_transport for guarded recording. |
| audacity_selectA | Select a time range on one or more tracks (all tracks when track is omitted; the whole project when start/end are omitted). |
| audacity_importA | Import an audio (or video, for its sound) file as a new track, name it and place it at start seconds. |
| audacity_track_setB | Set track properties: name, gain in dB (the track's volume slider; status reports it back as a linear factor), pan (-1..1), mute, solo. |
| audacity_clip_moveA | Move the clip that covers time |
| audacity_envelope_setA | Write a volume envelope on a track: points of time (s) and linear gain (1 = unchanged, 0.5 = -6 dB, 0.25 = -12 dB). Visible as the volume curve in Audacity. replace=true clears the old points first. |
| audacity_labels_setA | Add point or region labels to a named label track, creating it if needed and retaining existing labels. Use them for chapters, picture events or script lines. Disable the label naming dialog in Preferences > Tracks > Track Behaviors before adding labels. |
| audacity_effectA | Select a track/range and apply an effect using the bundled English Audacity 3.7.8 catalogue parameters. Default time scope is the track extent, avoiding silent gap clips. NoiseReduction requires a captured profile on this same track and params={}; it uses saved UI settings. Scripted effects add no undo entry: save a project backup first. |
| audacity_noise_profileA | Capture room tone in a fresh Audacity process, then apply NoiseReduction with params={}. Audacity 3.7.8 uses saved UI settings, ignores effect parameters and cannot reset its profile through scripting. Repeating this exact interval reuses its profile; a different interval requires audacity_fresh with backupTo. |
| audacity_exportA | Export the rendered mix or an explicit time range to WAV/FLAC/MP3/OGG by file extension, honoring gain, pan, mute, solo and envelopes. Selects time and tracks explicitly, including after label editing; channels is 1 or 2. |
| audacity_projectA | Open an existing .aup3 into an empty project or save to a new .aup3 path. Existing save destinations are refused to prevent a blocking modal. Use audacity_fresh with backupTo before opening when tracks are present. |
| audacity_pipelineB | Preview or run a reviewed cleanup/mastering chain on one track: voice, podcast, interview, audiobook, vocal, live, music, lo-fi or cleanup. dryRun lists exact ordered commands without changing selection. Noise reduction requires supplied room tone; normalization and limiting are explicit. Default range is the track extent, recalculated after edits. |
| audacity_editA | Split, split-new, trim, duplicate, delete, cut/copy, silence or join/disjoin audio on explicit tracks and time range. split accepts a cursor; delete closes the gap while split_delete retains timing. Paste is not offered: it depends on the system clipboard. |
| audacity_generateB | Generate tone/noise/silence/chirp/rhythm in a new mono/stereo track, or replace a range of an existing track. Uses a time selection for duration and validates kind-specific parameters before adding tracks. |
| audacity_clip_setA | Rename/color a clip or apply a relative gain in dB destructively to its samples. For name/color, at must lie strictly inside exactly one clip, avoiding shared boundaries. Use audacity_track_set gainDb for a reversible track slider, audacity_clip_move for timing. |
| audacity_track_editA | Add mono/stereo/label tracks, remove tracks, mix/render, or align selected tracks by start/end/selection. Track scope is explicit; add actions can name the new track. mix_new keeps the original tracks audible: mute them before exporting the new mix to avoid doubling. Find the new audio track in returned tracks; it can precede label tracks. |
| audacity_fadeA | Apply sample FadeIn or FadeOut on one track and time range. Omitting time applies to the track extent; use envelope_set for editable automation. |
| audacity_auto_duckA | Destructively duck bed samples under speech using native AutoDuck; save a project backup first. The unselected voice must be the immediately following track below the selected bed; import the bed first, then voice. dryRun lists exact parameters/range. Use audacity_envelope_set for editable ducking or an existing track order. |
| audacity_loudness_targetA | Measure then apply static gain to approach targetLufs while preserving measured true-peak headroom and respecting maxBoostDb. Requires ffmpeg and a non-silent audio track; default scope is its own extent. dryRun returns the measured input and Amplify plan without applying gain. Reports before/after and whether the target was achievable; it never compresses or guesses absent LUFS/true peak. |
| audacity_silenceA | Find quiet regions without deleting audio: every channel must stay below thresholdDb for minimumSeconds. Scan an optional file, or rendered tracks/currentSelection with selection restored. Times are absolute project seconds for Audacity ranges and file seconds for files. Returns capped regions plus the total count; current mute/gain/envelopes affect rendered silence. |
| audacity_probe_fileA | Inspect an audio/video file before importing or exporting: container, duration, audio codecs, sample rate, channels and stream metadata. Requires optional ffprobe (installed with ffmpeg); reads the file without changing Audacity. |
| audacity_measureA | Measure tracks, a time range, or currentSelection using a temporary export; restores selection and preserves track controls. Reports peak/RMS/DC/crest, advisory defects and silence. Optional ffmpeg adds integrated LUFS/LRA/true peak. Reads rendered gain/mute/solo/envelopes, so use file measurement for unprocessed source levels. With targets, returns {measurement,targetCheck}; otherwise returns the measurement directly. |
| audacity_measure_fileA | Measure an exported/source audio file without touching Audacity. Native PCM/float WAV peak/RMS/DC/crest and advisory defects need no dependencies; ffmpeg on PATH adds EBU R128 LUFS/LRA/true peak and decodes other containers. Unavailable targets report unknown. With targets, returns {measurement,targetCheck}; otherwise returns the measurement directly. |
| audacity_compare_filesA | Compare before/after audio files with the same measurement settings. Returns both reports and numeric changes only for metrics established on both sides; missing LUFS or true peak never becomes a zero change. |
| audacity_targetsA | List numeric house reference targets for podcast, video, broadcast, audiobook and premaster; use these with measurement targets. These references are not publishing certification. Recording noise floor requires isolated room tone. |
| audacity_contrastB | Measure the RMS level difference between foreground speech and background room tone without opening Audacity Contrast. Each range is exported with current track controls and selection restored. This is a numeric contrast check, not full accessibility certification. |
| audacity_transportA | Play a selected region, pause/resume, stop, or record using Audacity’s configured input. Appending requires an explicit audio track matching the configured recording channels (1 or 2). Record mode respects Audacity’s new-track preference, and recording always starts from a cursor point to avoid batch progress waits. status reports selection and a monotonic estimated position; manual transport changes are not tracked. record returns immediately unless duration is supplied. |
| audacity_historyA | Undo or redo existing native menu/import history entries. Individual scripted effects and pipelines add no undo entry; save a project backup before destructive processing. Stops before a step the native history does not have, or at Audacity’s own first error, and does not claim checkpoint rollback. |
| audacity_project_infoA | Read project tracks, clips, selection, length, active project paths and actual render sample rate. Rate is measured by a tiny temporary WAV export with selection restored; an empty project returns rate=null and its default preference separately. |
| audacity_preferencesA | Get a preference or list available preferences. Set is restricted to default project sample rate and recording channel count; never changes modules, UI language, devices or pipe settings. Original value and readback are returned. |
| audacity_macrosA | List or apply saved local Audacity macros without opening the Macro Manager. Every step is parsed and checked first; dryRun lists steps. Modal/lifecycle commands and implicit effect presets are refused. Export macros need explicit outputTo. |
| audacity_recoverA | Inspect process, pipe and crash-recovery entries; optionally close blocking dialogs and reconnect after a timeout. Never kills Audacity or replays edits. discardRecovery clears stale config entries only while Audacity is stopped, saving the config first and retaining all project files. |
| audacity_labelsA | List/find labels by text, edit one flat zero-based label index, delete one label, or create regular markers. Delete safely reconstructs only its label track at the bottom of the project, preserving every other label including overlaps; returned indices reflect the new order. |
| audacity_labels_fileA | Import Audacity TSV or JSON labels into a named track; export labels as TSV/JSON, SRT/VTT subtitles, timestamp chapters, CUE, Podlove or ffmetadata. Point-label subtitle ends come from the next marker or project end. Existing output files are refused. |
| audacity_label_regions_exportA | Export every positive-duration region in one label track as numbered audio files, using the current mix and explicit time/track selections. Point labels are skipped. Existing outputs are refused and all destinations are checked before export. |
| audacity_batchA | Clean/master audio files in Audacity using isolated temporary tracks and the reviewed pipeline. Preflights all paths/steps, dryRun lists jobs, and original tracks stay intact. Pause shortening requires an empty project because sync-lock may shift other tracks. Stops at the first failure; completed outputs are retained. Optional before/after reports measure the rendered result. Current solo tracks are refused because they could silence temporary-track exports. |
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 45 tools
Several clusters overlap: audacity_command, audacity_effect, audacity_pipeline, audacity_macros, and audacity_menu all execute processing or menu actions; audacity_measure, audacity_measure_file, audacity_compare_files, audacity_contrast, and audacity_loudness_target all measure audio; and the four label tools overlap. The descriptions are detailed and often say which tool to use when, but with 45 tools an agent can still misselect within these clusters.
All tools use the audacity_ prefix and lowercase snake_case, which is highly predictable. There is minor variation between action-first names (audacity_export, audacity_select) and noun-first names (audacity_track_set, audacity_labels_set, audacity_clip_move), but no chaotic mixed casing or prefixing.
The server exposes 45 tools, far above a well-scoped set, for a domain that is genuinely broad but also heavily fragmented into specialized measurement, label, diagnostic, lifecycle, and batch operations. Many individual tools are useful, but the total surface is heavy enough to make tool selection difficult.
Coverage is broad: project lifecycle, import/export, selection, track and clip editing, generating audio, effects, pipelines, labels, measurement, macros, transport, and batch processing are all represented. Minor gaps and deliberate limitations remain, such as no clipboard paste, restricted preference setting, and no undo entries for scripted effects, but most workflows have practical workarounds.