mcpField
A
audiolab

audiolab

Local
audiolab.toolsMedia & Design0Updated today

About audiolab

audiolab is an MCP server for AI clients that analyzes audio through the hosted AudioLab API. It accepts public URLs or local files and offers tools for loudness, voice quality, signal inspection, and batch checks; analysis is not performed locally.

Key features

  1. 01Measures loudness and true peak
  2. 02Checks delivery targets
  3. 03Analyzes voice and speech segments
  4. 04Inspects spectrum and signal characteristics
  5. 05Compares or batches audio sources

Use cases

  1. 01Check whether a mix meets a platform target
  2. 02Assess voice clarity and recording noise
  3. 03Review signal properties or speech segments
  4. 04Run quality checks across a release

MCP support

It exposes ten audio-analysis tools to MCP clients and sends sources to the hosted AudioLab API for processing. Local file paths work with the stdio server, while the remote endpoint accepts URLs only.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"tools-audiolab-audiolab": {
"command": "npx",
"args": [
"-y",
"@audiolabtools/mcp-server"
],
"env": {
"AUDIOLAB_API_KEY": "<AUDIOLAB_API_KEY>",
"AUDIOLAB_API_BASE": "<AUDIOLAB_API_BASE>",
"AUDIOLAB_TIMEOUT_MS": "<AUDIOLAB_TIMEOUT_MS>"
}
}
}
}
Run commandnpx -y @audiolabtools/mcp-server
Environment variables to set
AUDIOLAB_API_KEYSecretOptional. Without it: the keyless trial, 20 calls a month per IP, single files up to 4 MB, no batches. A free key from https://audiolab.tools/account gives 1,000 calls and 2 GB per month, no card.
AUDIOLAB_API_BASEDefaults to https://audiolab.tools/v1. The value must include the /v1 path segment.
AUDIOLAB_TIMEOUT_MSRequest timeout in milliseconds.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@audiolabtools/mcp-server0.5.0

Tools

10

Saved tool list · updated today

ParameterTypeRequiredDescription
urlstringNoPublic https URL to the audio file. Provide exactly one of url or path.
pathstringNoPath to a LOCAL audio file on this machine, analysed without hosting it publicly (files up to 4 MB are sent inline; larger ones up to 150 MB upload over a signed URL). Provide exactly one of url or path.

Details

From the project README

@audiolabtools/mcp-server

Listed on mcpservers.org

MCP (Model Context Protocol) server that gives any MCP-capable AI (Claude Desktop, Claude Code, Cursor, and others) ten audio-analysis tools, backed by the hosted AudioLab API. It is a thin HTTP client: no local audio engine, no ffmpeg, nothing to compile. It can measure a public URL or a local file on your machine, but the measuring always happens on the hosted API: the file is read here and uploaded there (see Privacy).

Install

Point your MCP client at the package via npx (nothing to install globally):

{
  "mcpServers": {
    "audiolab": {
      "command": "npx",
      "args": ["-y", "@audiolabtools/mcp-server"],
      "env": { "AUDIOLAB_API_KEY": "al_live_yourkey" }
    }
  }
}

Get a key: sign in at https://audiolab.tools/account and generate one (free tier available).

Requirements

  • Node ≥ 18: uses the built-in global fetch + AbortSignal.timeout.
  • An AUDIOLAB_API_KEY. No ffmpeg, no native dependencies.

Tools

Every tool takes one audio source: a public url or a local path:

  • { url: "https://…" }: a public https URL the API fetches server-side.
  • { path: "./mix.wav" }: a file on the machine running this server. Files up to 4 MB are sent inline; larger files (up to 150 MB) upload over a signed URL, are analysed, and are swept from storage within the hour. (Local path works only in this stdio server, not the remote /mcp endpoint.)
ToolReturns
analyze_loudnessIntegrated LUFS (EBU R128 / BS.1770-4), true-peak (dBTP), LRA, crest factor, stereo correlation, mono compatibility, tonal balance
check_targetPass/fail vs a delivery target (spotify / apple-music / youtube / tidal / amazon-music / podcast / ebu-broadcast / atsc-broadcast, or target:"custom" + lufs+tp), with per-metric deltas and an ffmpeg loudnorm fix command
analyze_timeseriesShort-term LUFS over time + downsampled waveform peaks (waveformPoints?)
get_spectrumFFT magnitude data + 7-band energies
analyze_voiceVoice QA: speech/silence ratio, speaking rate, SNR, noise floor, pause energy, sibilance & clipping risk
get_speech_segmentsVoiced regions with start/end + per-segment RMS (auto-trim, chapters)
index_signalContent-type guess, tags, clipping/silence regions, brightness & dynamics buckets
analyze_profileOne named question, voice, master, provenance, dataset, environment, broadcast, loop, room (reverberation from a clap, a pop, an impulse response or a sweep; pass roomSource), chain (lost packets) or pitch (where a voice sits and how clean it is), answered with only the lenses it needs. These ten need a paid plan; the free tier gets the basic profile, keyed by stable lens id. Add series:true for the curves, per-block lanes and per-phrase values. Carries a note when the profile’s voice lenses land on non-speech material. Full catalogue: https://audiolab.tools/lenses
compare_loudnessA/B on two sources (urlA/pathA + urlB/pathB), returns both results
analyze_batchOne route over up to 20 sources in a single call (urls and/or paths), per-item ok/data/error. For folder QA, library indexing, or checking a whole release against a target. Each item meters as one call

Example asks to your AI:

  • “Analyze the loudness of https://example.com/track.wav” → analyze_loudness with url
  • “Is this take usable?” → analyze_profile with profile:"voice"
  • “Has this file been re-encoded, and is it all one source?” → analyze_profile with profile:"provenance"
  • “Run loudness on ./master.wav” → analyze_loudness with path
  • “Does ./mix.mp3 pass Spotify?” → check_target with path + target:"spotify"

Configuration (env)

VarDefaultPurpose
AUDIOLAB_API_KEY– (required)Your API key.
AUDIOLAB_API_BASEhttps://audiolab.tools/v1Override the API base (must be https://).
AUDIOLAB_TIMEOUT_MS330000Per-request timeout in milliseconds (long files and batches stream server-side and can legitimately take minutes).

Privacy

Analysis happens on the AudioLab API, so the audio does reach audiolab.tools: a url is fetched server-side, and a local path is read here and uploaded to the API (small files in the request body; larger files via a private one-shot signed upload into EU storage). The API returns numbers only and does not keep your audio: a direct request is decoded and discarded inside the request, and a signed upload is swept from storage within the hour (see https://audiolab.tools/privacy). This package has no telemetry and writes nothing to disk. There is no offline mode, and the engine is not published as an installable package. If audio must never leave the machine, don't use a hosted analyser; the in-browser labs on the website measure on-device, but they are for people, not for agents.

Limits

  • Local files: up to 150 MB (host bigger ones at a public URL).
  • Duration: loudness routes (analyze_loudness, check_target, analyze_timeseries, get_spectrum) handle long files (podcast episodes, full sets, up to ~3 h) via server-side streaming; voice/signal routes are limited to ~7 minutes.
  • One file per call (agents loop for many); one-shot (no streaming/realtime).
  • Rate and monthly limits are enforced by the API, per key.

Smoke test

node hosted-server.mjs --selftest   # verifies the 10 tools + guards; no network

License

MIT © Nathan Renting

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.