# Gizmos Audacity (npm · @gizmos-quest/audacity-mcp)

Safe local audio editing, analysis and production in Audacity 3.7 through mod-script-pipe.

- Trust score: 77/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- npm · `@gizmos-quest/audacity-mcp`: 77/100 (this document), [markdown](https://verifymcp.io/servers/gizmos-quest-gizmos-audacity-mcp/gizmos-quest-audacity-mcp.md), [page](https://verifymcp.io/servers/gizmos-quest-gizmos-audacity-mcp/gizmos-quest-audacity-mcp)

## Channel facts

- Registry: `npm`
- Package: `@gizmos-quest/audacity-mcp`
- Version: `0.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-17.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 0 of 4 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to gizmos-quest/gizmos-audacity-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 5 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 62/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 4549 tokens (~101/item across 45 items; 45 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 76/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 16% of tool parameters carry a description.
  - Structured output schemas are declared (78% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 45 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 46 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the Gizmos Audacity MCP server?

Gizmos Audacity runs locally as an npm package, launched with npx -y @gizmos-quest/audacity-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add gizmos-quest-gizmos-audacity-mcp -- npx -y @gizmos-quest/audacity-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "gizmos-quest-gizmos-audacity-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@gizmos-quest/audacity-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "gizmos-quest-gizmos-audacity-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@gizmos-quest/audacity-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add gizmos-quest-gizmos-audacity-mcp -- npx -y @gizmos-quest/audacity-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gizmos-quest-gizmos-audacity-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@gizmos-quest/audacity-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add gizmos-quest-gizmos-audacity-mcp --command npx --arg -y --arg @gizmos-quest/audacity-mcp
```

### Hermes

```yaml
mcp_servers:
  gizmos-quest-gizmos-audacity-mcp:
    command: "npx"
    args: ["-y", "@gizmos-quest/audacity-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "gizmos-quest-gizmos-audacity-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@gizmos-quest/audacity-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add gizmos-quest-gizmos-audacity-mcp -t stdio -c npx -a -y @gizmos-quest/audacity-mcp
```

### Other

```json
{
  "mcpServers": {
    "gizmos-quest-gizmos-audacity-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@gizmos-quest/audacity-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-14 (score 77, +27)

- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fair
- [functional] First check of Tool coverage: 78
- [functional] First check of Destructive annotations: pass
- [functional] First check of Tool coverage: 16
- [functional] First check of Schema quality: pass

### 2026-10-12 (score 50)

First indexed and scored.

## MCP tools (45)

### `audacity_launch` (~41 tokens)

Launch

Start or attach to Audacity with a visible or hidden Windows project window. Waits for a real script-pipe response.

Input parameters:

- `visible` (boolean)

Output parameters:

- `processes` (array)
- `started` (boolean)
- `visible` (boolean)

### `audacity_window` (~36 tokens)

Window

Show or hide the Audacity window on Windows. A hidden Audacity keeps working through the pipe.

Input parameters:

- `show` (boolean, required)

Output parameters:

- `windows` (number)

### `audacity_quit` (~56 tokens)

Quit

On Windows, quit Audacity without a save prompt. Without saveTo the project is discarded (saved to a temporary file that is then deleted).

Input parameters:

- `saveTo` (string): keep the project at this .aup3 path

Output parameters:

- `savedTo` (string)

### `audacity_dialogs` (~63 tokens)

Dialogs

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.

Input parameters:

- `close` (boolean)

Output parameters:

- `windows` (array)

### `audacity_fresh` (~100 tokens)

Fresh

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.

Input parameters:

- `backupTo` (string): .aup3 path for the current project
- `visible` (boolean)

Output parameters:

- `backedUpTo` (string|null)
- `processes` (array)
- `started` (boolean)
- `visible` (boolean)

### `audacity_status` (~33 tokens)

Status

Whether Audacity answers, and its tracks with name, kind, start/end, volume, pan, mute and solo.

Output parameters:

- `running` (boolean)
- `tracks` (array)

### `audacity_info` (~52 tokens)

Info

Read native state: Tracks, Clips, Envelopes (points as t/y), Labels, Boxes, Selection, Preferences, Commands (full catalogue with parameters) or Menus.

Input parameters:

- `type` (string, required)

### `audacity_describe` (~38 tokens)

Describe

Parameters of one scripting command or effect from the bundled English Audacity 3.7.8 catalogue.

Input parameters:

- `command` (string, required)

Output parameters:

- `id` (string)
- `name` (string)
- `params` (array)
- `tip` (string)
- `url` (string)

### `audacity_command` (~99 tokens)

Command

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.

Input parameters:

- `command` (string, required)
- `params` (object)

### `audacity_menu` (~77 tokens)

Menu

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.

Input parameters:

- `command` (string, required)

### `audacity_select` (~72 tokens)

Select

Select a time range on one or more tracks (all tracks when track is omitted; the whole project when start/end are omitted).

Input parameters:

- `end` (number)
- `start` (number)
- `track`: track index (0-based) or unique track name
- `trackCount` (integer)

### `audacity_import` (~56 tokens)

Import

Import an audio (or video, for its sound) file as a new track, name it and place it at start seconds.

Input parameters:

- `file` (string, required)
- `name` (string)
- `start` (number)

Output parameters:

- `name` (string)
- `track` (number)

### `audacity_track_set` (~113 tokens)

Track Set

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.

Input parameters:

- `gainDb` (number)
- `mute` (boolean)
- `name` (string)
- `pan` (number): normalized pan: -1 full left, 0 center, 1 full right
- `solo` (boolean)
- `track` (required): track index (0-based) or unique track name

Output parameters:

- `channels` (number)
- `end` (number)
- `focused` (number)
- `kind` (string)
- `mute` (number)
- `name` (string)
- `pan` (number)
- `selected` (number)
- `solo` (number)
- `start` (number)
- `volume` (number)

### `audacity_clip_move` (~60 tokens)

Clip Move

Move the clip that covers time `at` on a track so it starts at `start` seconds.

Input parameters:

- `at` (number, required)
- `start` (number, required)
- `track` (required): track index (0-based) or unique track name

### `audacity_envelope_set` (~99 tokens)

Envelope Set

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.

Input parameters:

- `points` (array, required)
- `replace` (boolean)
- `track` (required): track index (0-based) or unique track name

Output parameters:

- `points` (number)

### `audacity_labels_set` (~73 tokens)

Labels Set

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.

Input parameters:

- `labels` (array, required)
- `trackName` (string)

Output parameters:

- `labels` (number)

### `audacity_effect` (~131 tokens)

Effect

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.

Input parameters:

- `effect` (string, required)
- `end` (number)
- `params` (object)
- `start` (number)
- `track`: track index (0-based) or unique track name
- `trackCount` (integer)

### `audacity_noise_profile` (~103 tokens)

Noise Profile

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.

Input parameters:

- `end` (number, required)
- `start` (number, required)
- `track` (required): track index (0-based) or unique track name

### `audacity_export` (~92 tokens)

Export

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.

Input parameters:

- `channels` (integer)
- `end` (number)
- `file` (string, required)
- `start` (number)

Output parameters:

- `file` (string)

### `audacity_project` (~69 tokens)

Project

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.

Input parameters:

- `action` (string, required)
- `file` (string, required)

### `audacity_pipeline` (~309 tokens)

Pipeline

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.

Input parameters:

- `attackMs` (number)
- `bassDb` (number)
- `compress` (boolean)
- `dryRun` (boolean)
- `end` (number)
- `highPassHz` (number)
- `limitPeakDb` (number): optional limiter after normalization; measure the result
- `loudness` (string): normalization can raise quiet audio; select it explicitly
- `lowPassHz` (number)
- `lufs` (number)
- `noiseProfile` (object): explicit room-tone interval; omitting it skips noise reduction
- `peakDb` (number)
- `preset` (string)
- `ratio` (number)
- `releaseMs` (number)
- `removeClicks` (boolean): must remain false: native Click Removal can open a blocking result dialog
- `removeDc` (boolean)
- `rmsDb` (number)
- `shortenPauses` (object): optional destructive silence truncation; changes timing and video sync
- `start` (number)
- `thresholdDb` (number)
- `track` (required)
- `trebleDb` (number)

Output parameters:

- `applied` (array)
- `dryRun` (boolean)
- `notes` (array)
- `preset` (string)
- `steps` (array)

### `audacity_edit` (~98 tokens)

Edit

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.

Input parameters:

- `action` (string, required)
- `end` (number)
- `start` (number)
- `track` (required)
- `trackCount` (integer)

Output parameters:

- `action` (string)
- `end` (number)
- `reply` (string)
- `start` (number)
- `track` (number)

### `audacity_generate` (~205 tokens)

Generate

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.

Input parameters:

- `amplitude` (number)
- `beatsPerBar` (integer)
- `channels` (integer): new-track channel count; defaults to mono and must be omitted for an existing track
- `clickSound` (string)
- `duration` (number)
- `endAmplitude` (number)
- `endFrequency` (number)
- `frequency` (number)
- `interpolation` (string)
- `kind` (string, required)
- `name` (string)
- `noiseType` (string)
- `start` (number)
- `swing` (number)
- `tempo` (number)
- `track`: omit to create a new track; supplying it replaces audio in the range
- `waveform` (string)

Output parameters:

- `end` (number)
- `kind` (string)
- `name` (string)
- `start` (number)
- `track` (number)

### `audacity_clip_set` (~129 tokens)

Clip Set

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.

Input parameters:

- `at` (number, required): time inside the clip; name/color require a point strictly after its start and before its end
- `color` (string)
- `gainDb` (number): relative sample gain applied destructively with Amplify to this clip
- `name` (string)
- `track` (required)

Output parameters:

- `color` (string)
- `end` (number)
- `gainDbApplied` (number)
- `name` (string)
- `start` (number)
- `track` (number)

### `audacity_track_edit` (~123 tokens)

Track Edit

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.

Input parameters:

- `action` (string, required)
- `end` (number)
- `name` (string)
- `start` (number)
- `track`
- `trackCount` (integer)

Output parameters:

- `action` (string)
- `reply` (string)
- `track` (number)
- `tracks` (array)

### `audacity_fade` (~66 tokens)

Fade

Apply sample FadeIn or FadeOut on one track and time range. Omitting time applies to the track extent; use envelope_set for editable automation.

Input parameters:

- `direction` (string, required)
- `end` (number)
- `start` (number)
- `track` (required)

Output parameters:

- `direction` (string)
- `end` (number)
- `start` (number)
- `track` (number)

### `audacity_auto_duck` (~256 tokens)

Auto Duck

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.

Input parameters:

- `bed` (required): bed track index (0-based) or unique name; must immediately precede the voice track
- `dryRun` (boolean)
- `duckDb` (number): attenuation applied to the bed, in dB
- `end` (number)
- `fadeDown` (number): outer fade-down duration, in seconds
- `fadeUp` (number): outer fade-up duration, in seconds
- `innerFadeDown` (number): inner fade-down duration, in seconds
- `innerFadeUp` (number): inner fade-up duration, in seconds
- `maximumPause` (number): maximum pause to bridge while ducking, in seconds
- `start` (number)
- `thresholdDb` (number): voice detection threshold, in dB
- `voice` (required): voice track index (0-based) or unique name; must immediately follow the bed track

Output parameters:

- `bed` (number)
- `command` (string)
- `dryRun` (boolean)
- `params` (object)
- `scope` (object)
- `voice` (number)

### `audacity_loudness_target` (~196 tokens)

Loudness Target

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.

Input parameters:

- `dryRun` (boolean)
- `end` (number)
- `maxBoostDb` (number): maximum positive static gain, in dB; does not cap attenuation
- `start` (number)
- `targetLufs` (number): desired integrated loudness, in LUFS
- `toleranceLu` (number): allowed distance from targetLufs, in LU
- `track` (required)
- `truePeakCeilingDbtp` (number): maximum rendered true peak, in dBTP

Output parameters:

- `after` (object)
- `before` (object)
- `clippedSamples` (number)
- `dryRun` (boolean)
- `notes` (array)
- `plan` (object)
- `samplePeakDbfs` (number|null)
- `steps` (array)
- `targetCheck` (object)

### `audacity_silence` (~143 tokens)

Silence

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.

Input parameters:

- `currentSelection` (boolean)
- `end` (number)
- `file` (string)
- `maxRegions` (integer)
- `minimumSeconds` (number)
- `start` (number)
- `thresholdDb` (number)
- `track`
- `trackCount` (integer)

Output parameters:

- `count` (number)
- `file` (string)
- `minimumSeconds` (number)
- `notes` (array)
- `regions` (array)
- `scope` (object)
- `thresholdDb` (number)
- `truncated` (boolean)

### `audacity_probe_file` (~68 tokens)

Probe File

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.

Input parameters:

- `file` (string, required)
- `timeoutMs` (integer)

Output parameters:

- `file` (string)
- `format` (object)
- `streams` (array)

### `audacity_measure` (~158 tokens)

Measure

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.

Input parameters:

- `backend` (string)
- `currentSelection` (boolean)
- `dualMono` (boolean)
- `end` (number)
- `start` (number)
- `targets` (object)
- `timeoutMs` (integer)
- `track`
- `trackCount` (integer)

Output parameters:

- `backend` (string)
- `channels` (number)
- `clippedSamples` (number)
- `crestDb` (number|null)
- `dcOffset` (number)
- `discontinuities` (number)
- `dualMono` (boolean)
- `duration` (number)
- `dynamicRangeDbEstimate` (number|null)
- `file` (string)
- `frames` (number)
- `integratedLufs` (number|null)
- `loudnessRangeLu` (number|null)
- `measurement` (object)
- `notes` (array)
- `peak` (number)
- `peakDbfs` (number|null)
- `perChannel` (array)
- `quietRmsDbfsEstimate` (number|null)
- `rms` (number)
- `rmsDbfs` (number|null)
- `sampleRate` (number)
- `scope` (object)
- `silenceGapCount` (number)
- `silenceGaps` (array)
- `targetCheck` (object)
- `truePeakDbtp` (number|null)
- `unavailable` (object)

### `audacity_measure_file` (~119 tokens)

Measure File

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.

Input parameters:

- `backend` (string)
- `dualMono` (boolean)
- `file` (string, required)
- `targets` (object)
- `timeoutMs` (integer)

Output parameters:

- `backend` (string)
- `channels` (number)
- `clippedSamples` (number)
- `crestDb` (number|null)
- `dcOffset` (number)
- `discontinuities` (number)
- `dualMono` (boolean)
- `duration` (number)
- `dynamicRangeDbEstimate` (number|null)
- `file` (string)
- `frames` (number)
- `integratedLufs` (number|null)
- `loudnessRangeLu` (number|null)
- `measurement` (object)
- `notes` (array)
- `peak` (number)
- `peakDbfs` (number|null)
- `perChannel` (array)
- `quietRmsDbfsEstimate` (number|null)
- `rms` (number)
- `rmsDbfs` (number|null)
- `sampleRate` (number)
- `scope` (object)
- `silenceGapCount` (number)
- `silenceGaps` (array)
- `targetCheck` (object)
- `truePeakDbtp` (number|null)
- `unavailable` (object)

### `audacity_compare_files` (~92 tokens)

Compare Files

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.

Input parameters:

- `after` (string, required)
- `backend` (string)
- `before` (string, required)
- `dualMono` (boolean)
- `targets` (object)
- `timeoutMs` (integer)

Output parameters:

- `after` (object)
- `before` (object)
- `delta` (object)
- `targetCheck` (object)

### `audacity_targets` (~47 tokens)

Targets

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.

Output parameters:

- `note` (string)
- `presets` (object)

### `audacity_contrast` (~74 tokens)

Contrast

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.

Input parameters:

- `background` (object, required)
- `foreground` (object, required)
- `minimumDb` (number)

Output parameters:

- `backgroundRmsDbfs` (number|null)
- `differenceDb` (number|null)
- `foregroundRmsDbfs` (number|null)
- `minimumDb` (number)
- `reason` (string)
- `status` (string)

### `audacity_transport` (~137 tokens)

Transport

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.

Input parameters:

- `action` (string, required)
- `duration` (number)
- `end` (number)
- `newTrack` (boolean)
- `start` (number)
- `track`

Output parameters:

- `positionSeconds` (number)
- `positionSource` (string)
- `selection`
- `state` (string)

### `audacity_history` (~78 tokens)

History

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.

Input parameters:

- `action` (string, required)
- `steps` (integer)

Output parameters:

- `action` (string)
- `completed` (number)

### `audacity_project_info` (~54 tokens)

Project Info

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.

Output parameters:

- `activeProjectFiles` (array)
- `clips`
- `defaultRate` (number)
- `fileSource` (string)
- `lengthSeconds` (number)
- `rate` (number|null)
- `selection`
- `tracks` (array)

### `audacity_preferences` (~75 tokens)

Preferences

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.

Input parameters:

- `action` (string, required)
- `name` (string)
- `value` (string|number|boolean)

### `audacity_macros` (~85 tokens)

Macros

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.

Input parameters:

- `action` (string, required)
- `dryRun` (boolean)
- `name` (string)
- `outputTo` (string)

Output parameters:

- `completed` (number)
- `directory` (string)
- `dryRun` (boolean)
- `macros` (array)
- `name` (string)
- `steps` (array)

### `audacity_recover` (~92 tokens)

Recover

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.

Input parameters:

- `closeDialogs` (boolean)
- `discardRecovery` (boolean)
- `reconnect` (boolean)
- `visible` (boolean)

Output parameters:

- `discarded`
- `entries` (array)
- `needsRecovery` (boolean)
- `note` (string)
- `previousOutcome` (string)
- `running` (boolean)
- `synchronized` (boolean)
- `tracks` (array)
- `windows` (array)

### `audacity_labels` (~118 tokens)

Labels

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.

Input parameters:

- `action` (string, required)
- `end` (number)
- `index` (integer)
- `interval` (number)
- `query` (string)
- `start` (number)
- `text` (string)
- `trackName` (string)

### `audacity_labels_file` (~95 tokens)

Labels File

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.

Input parameters:

- `action` (string, required)
- `file` (string, required)
- `format` (string)
- `trackName` (string)

Output parameters:

- `count` (number)
- `file` (string)
- `format` (string)
- `imported` (number)
- `trackName` (string)

### `audacity_label_regions_export` (~82 tokens)

Label Regions Export

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.

Input parameters:

- `channels` (integer)
- `directory` (string, required)
- `format` (string)
- `trackName` (string)

Output parameters:

- `count` (number)
- `files` (array)

### `audacity_batch` (~121 tokens)

Batch

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.

Input parameters:

- `channels` (integer)
- `dryRun` (boolean)
- `jobs` (array, required)
- `measure` (boolean)

Output parameters:

- `completed` (number)
- `dryRun` (boolean)
- `jobs` (array)
- `notes` (array)
- `requiresEmptyProject` (boolean)
- `results` (array)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/gizmos-quest-gizmos-audacity-mcp/gizmos-quest-audacity-mcp#diagnostics

## Score history

- 2026-10-17: 77
- 2026-10-16: 77
- 2026-10-15: 77
- 2026-10-14: 77
- 2026-10-13: 50
- 2026-10-12: 50

## Common questions

### What is the Gizmos Audacity MCP server?

Gizmos Audacity is an MCP server listed in the public MCP registry as io.github.gizmos-quest/gizmos-audacity-mcp. Safe local audio editing, analysis and production in Audacity 3.7 through mod-script-pipe. This page covers its npm package (@gizmos-quest/audacity-mcp).

### Is the Gizmos Audacity MCP server safe to use?

Gizmos Audacity scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 17 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Gizmos Audacity MCP server expose?

Gizmos Audacity exposes 45 tools: audacity_launch, audacity_window, audacity_quit, audacity_dialogs, audacity_fresh, and 40 more. Their descriptions and schemas cost roughly 4,483 tokens of context every time the server is loaded.

### Is the Gizmos Audacity MCP server still maintained?

Gizmos Audacity is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Gizmos Audacity MCP server under?

Gizmos Audacity declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@gizmos-quest/audacity-mcp
- Socket report: https://socket.dev/npm/package/@gizmos-quest/audacity-mcp
- Repository: https://github.com/gizmos-quest/gizmos-audacity-mcp
- Changelog RSS feed: https://verifymcp.io/servers/gizmos-quest-gizmos-audacity-mcp/gizmos-quest-audacity-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/gizmos-quest-gizmos-audacity-mcp/gizmos-quest-audacity-mcp.json
- HTML version of this page: https://verifymcp.io/servers/gizmos-quest-gizmos-audacity-mcp/gizmos-quest-audacity-mcp
