@audiolabtools/mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUDIOLAB_API_KEY | Yes | Your API key for AudioLab. Required. | |
| AUDIOLAB_API_BASE | No | Override the API base URL (must be https). | https://audiolab.tools/v1 |
| AUDIOLAB_TIMEOUT_MS | No | Per-request timeout in milliseconds. | 330000 |
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 |
|---|---|
| analyze_loudnessB | Loudness and dynamics for a track: integrated LUFS (EBU R128 / BS.1770-4), true-peak (dBTP), loudness range (LRA), crest factor, stereo correlation, mono compatibility, and tonal balance. Audio source: a public https URL, or a local file path ( |
| check_targetA | Verify whether audio hits a delivery target (Spotify -14 LUFS / EBU broadcast -23 / podcast -16 / etc.). Returns pass/fail with per-metric deltas and a concrete ffmpeg loudnorm command to fix if failing. Presets: spotify, apple-music, youtube, tidal, amazon-music, podcast, ebu-broadcast, atsc-broadcast; or target="custom" with lufs+tp. Audio source: a public https URL, or a local file path ( |
| analyze_timeseriesB | Short-term LUFS samples over time (EBU R128, ~3s window) with their time-base, plus downsampled waveform peaks. Arrays suitable for loudness-over-time charts, level meters, and waveform UIs. Audio source: a public https URL, or a local file path ( |
| get_spectrumA | Frequency-domain magnitude data (paired frequency/magnitude arrays) plus energies in 7 standard bands (sub/bass/lowMid/mid/highMid/presence/air). There is no dominant-band field in the response. For spectrum-analyzer UIs and tonal-balance analysis. Audio source: a public https URL, or a local file path ( |
| analyze_voiceA | Speech-quality QA for a voice recording: speech/silence ratio, speaking-rate label, signal-to-noise, noise floor, pause energy, sibilance risk, clipping severity. Gates a voice take. Audio source: a public https URL, or a local file path ( |
| get_speech_segmentsA | List voiced speech regions with start/end timestamps and per-segment RMS. For auto-trim, chapter generation, and speaker-turn detection. RMS-based voice-activity detection, not speaker diarization. Audio source: a public https URL, or a local file path ( |
| index_signalA | A metadata index for any audio file: content-type guess (voice/music/mixed/noise/silence) with confidence, brightness & dynamics buckets, dominant band, clipping/silence regions, and tag suggestions. For triage or auto-tagging a library. Audio source: a public https URL, or a local file path ( |
| analyze_profileA | Measure a file against a named working set of lenses and get back only what that question needs. Profiles: voice (is this take usable, and which phrase is the problem), master (will this translate to real platforms and speakers), provenance (what has been done to this file, and is it all one source), dataset (which of these files are good enough, and why not the rest), environment (what is in this space, and what kind of noise is it), broadcast (does this file meet the delivery spec), loop (is this loop clean, on the grid, and safe to drop in a DAW). basic is the free tier; the other seven need a paid plan. Results are keyed by stable lens id. Only the analysis passes the profile needs are run. Set series:true to also get the curves, the per-block lanes and the per-phrase values,a much larger payload, so leave it off unless you are going to read them. Audio source: a public https URL, or a local file path ( |
| compare_loudnessA | Run loudness analysis on TWO sources and return both results for an A/B comparison: master vs reference, before vs after a fix, two encoders, two cuts. Audio source: a public https URL, or a local file path ( |
| analyze_batchA | Run one analysis route over up to 20 audio sources in a single call. Returns per-item ok/data/error; each item is metered as one call. Routes: mixlab/analyze (default), mixlab/check-target, mixlab/timeseries, mixlab/spectrum, voicelab/qa, voicelab/segments, signallab/index. Use for folder QA, library indexing, or checking a whole release against a loudness target. Sources: public https urls and/or local file paths. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
TDQS
Scored across 10 tools
Most tools target a distinct analysis lens (loudness, spectrum, voice, segments, index), but analyze_profile is an umbrella that overlaps with analyze_voice, analyze_loudness, and index_signal, and analyze_timeseries sits close to analyze_loudness. Descriptions largely disambiguate by scoping each to a specific output, so confusion is limited to a couple of pairs.
All ten tools follow a consistent snake_case verb_noun pattern (analyze_loudness, check_target, get_spectrum, compare_loudness, index_signal, analyze_batch). No mixed conventions or stylistic outliers.
Ten tools is well within the sweet spot and each earns its place: distinct analysis lenses, a target checker, a comparator, and a batch runner. Nothing feels redundant or thin.
The surface covers the core audio-QA lifecycle: measurement (loudness, spectrum, timeseries), voice QA, indexing, target verification, comparison, and batch runs. Minor gaps like no dedicated silence/clipping-region extractor or format/provenance-specific operation are largely absorbed by analyze_profile and index_signal.