MCP server to control Audacity via socket using mod-script-pipe interface with comprehensive scripting commands
Critical failures across all 30 tools. Descriptions are present but trivial (10-60 chars, mostly 'Verb: One-sentence summary'), providing minimal LLM guidance. No parameter descriptions exist. No output schemas documented. No error handling guidance. Tools lack verb-noun naming clarity (e.g., 'New' vs 'create_project', 'Open' vs 'open_audio_file'). No composition support, tools are bare Audacity command wrappers with no chaining IDs or structured responses. This is a direct pipe-through to Audacity's scripting interface with no MCP-level abstraction.
AddLabel: Create a new label at the selection.
Close: Close the current project window.
Copy: Copy the selected audio to the clipboard.
Cut: Remove the selected audio and place it on the clipboard.
Delete: Remove the selected audio without copying it.
Duplicate: Duplicate the current selection as a new clip.
EditLabels: Open the Label Editor dialog.
ALL 30 tools have empty input schemas ({}). No parameters are defined, typed, or described. LLMs cannot infer what arguments these tools accept or what constraints apply.
Tool names violate verb-noun convention. 'New', 'Open', 'Close', 'Save' are imperative verbs without objects. LLMs expect 'create_project', 'open_audio_file', 'close_project', 'save_project'. Single-word names are ambiguous and do not follow the 90% baseline of A+ tools starting with action verbs in verb_noun form.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 23 | <=2025-11-25 | v2 |
EditMetaData: Edit the metadata for a track.
Exit: Close all project windows and exit Audacity.
ExportAudio: Export audio files in various formats.
ImportAudio: Import an audio file as a new track.
ImportLabels: Import labels into the project.
ImportMIDI: Import a MIDI file into a note track.
ImportRaw: Import raw audio data without headers.
New: Create a new empty project window.
Open: Open an audio file, list of files, or project.
Paste: Insert clipboard contents at the selection.
PasteNewLabel: Paste text from the clipboard into a new label.
Print: Print all waveforms in the current project.
Redo: Redo the most recent undone action.
Save: Save the current project.
SaveAs: Save the current project under a new name.
SaveCompressed: Save a compressed copy of the project.
SaveCopy: Save a lossless copy of the project.
Silence: Replace selected audio with silence.
SplitCut: Split the current clip and remove audio to right of the cut.
SplitDelete: Remove selected audio without shifting remaining audio.
Trim: Delete all audio except for the selected portion.
TypeToCreateLabel: Create a label by typing (if enabled).
Undo: Undo the most recent editing action.
Descriptions are trivial (10 - 60 chars). Examples: 'New: Create a new empty project window.' (45 chars), 'Exit: Close all project windows and exit Audacity.' (52 chars). Baseline for A+ tools is 194 chars average. These descriptions lack WHEN to use, prerequisites, return value, or error guidance. LLMs cannot distinguish between similar tools (e.g., SaveCopy vs SaveCompressed).
No output schemas documented. Tools return raw strings from Audacity's mod-script-pipe (e.g., 'BatchCommand finished'). LLMs cannot parse structured results, extract IDs for chaining, or determine success/failure. No pagination, no field documentation, no error classification.
No error handling or recovery guidance. Code catches exceptions and returns 'Error executing <cmd>: <exception>' with no actionable next steps. LLMs cannot distinguish retryable errors (network timeout) from user-fixable errors (file not found) from fatal errors (Audacity crashed). No suggestions for alternatives or workarounds.