Audio analysis MCP server: stem separation, transcription, spectrum, and comparison for AI-driven sound recreation.
Audio-analysis-mcp has 10 tools with reasonable naming (verb_noun pattern) and basic descriptions. However, critical gaps undermine quality: (1) Parameter descriptions are minimal or absent, most tools lack detail on expected formats, ranges, or constraints. (2) Output schemas are not documented in the source; LLMs cannot predict what fields to expect. (3) Error handling is not visible, no recovery guidance or actionable error messages. (4) No tool annotations (readOnlyHint/destructiveHint) despite clear risk distinctions (WRITE vs READ_ONLY). (5) Descriptions are terse (avg ~60 chars), below the 194-char baseline for A+ tools. Example: 'spectrum_analyze' has a 60-char description with no parameter detail on what 'audio_path' format is expected. The tool set is well-scoped (one concern per tool), but execution quality is below production baseline.
Analyze amplitude envelope and dynamics of audio
Compare two audio files for similarity and differences
Render audio from MIDI notes and synthesis parameters
Import and normalize an audio file into the workspace
Isolate and extract individual notes or note groups from audio
Transcribe audio to MIDI notes using pitch detection
Triage and cluster transcribed notes by musical structure (singles, chords, arpeggios)
Analyze frequency spectrum and spectral characteristics of audio
Output schemas not documented. LLMs cannot predict return fields, forcing guesswork on downstream tool chaining. Example: spectrum_analyze returns frequency data, but no schema visible, agent cannot extract specific frequency bands for comparison.
Parameter descriptions are minimal or missing. 'audio_path' appears in 6 tools with no detail on format (file path? URI? relative/absolute?). 'synth_params' in audio_render is described as 'Synthesizer parameters' with no schema or field list.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Tools explicitly marked WRITE (import_audio, stem_separate, audio_render, note_isolate) should declare destructiveHint=true; READ_ONLY tools should declare readOnlyHint=true. Agents cannot reason about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Separate audio into stems (vocals, drums, bass, other) using Demucs
Analyze song structure and sections using SongFormer
No error handling guidance visible. Tools lack recovery hints (e.g., 'If audio file not found, check workspace with list_workspace_files'). Agents cannot self-correct on failures.
Descriptions are terse (avg ~50 chars vs 194-char baseline). Example: 'Analyze frequency spectrum and spectral characteristics of audio' (60 chars) lacks context on when to use it vs amplitude_analyze, what output format to expect, or whether it requires preprocessing.