@audiolabtools/mcp-server
Enables AI to analyze audio files for loudness, voice quality, and more via the AudioLab API, supporting both public URLs and local files.
README
<!-- Built by scripts/build-public-mcp-repo.mjs in the AudioLab monorepo. Edit mcp/README.md there, not this copy. -->
@audiolabtools/mcp-server
MCP (Model Context Protocol) server that gives any MCP-capable AI — Claude Desktop, Claude Code, Cursor, and others — nine 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 analyse a public URL or a local file on your machine.
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 50 MB) upload over a one-shot signed URL, are analysed, and are then deleted. (Localpathworks only in this stdio server, not the remote/mcpendpoint.)
| Tool | Returns |
|---|---|
analyze_loudness |
Integrated LUFS (EBU R128 / BS.1770-4), true-peak (dBTP), LRA, crest factor, stereo correlation, mono compatibility, tonal balance |
check_target |
Pass/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_timeseries |
Short-term LUFS over time + downsampled waveform peaks (waveformPoints?) |
get_spectrum |
FFT magnitude data + 7-band energies + dominant band |
analyze_voice |
Voice QA: speech/silence ratio, speaking rate, SNR, noise floor, room echo, sibilance & clipping risk |
get_speech_segments |
Voiced regions with start/end + per-segment RMS (auto-trim, chapters) |
index_signal |
Content-type guess, tags, clipping/silence regions, brightness & dynamics buckets |
compare_loudness |
A/B on two sources (urlA/pathA + urlB/pathB), returns both results |
analyze_batch |
One 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_loudnesswithurl - “Run loudness on ./master.wav” →
analyze_loudnesswithpath - “Does ./mix.mp3 pass Spotify?” →
check_targetwithpath+target:"spotify"
Configuration (env)
| Var | Default | Purpose |
|---|---|---|
AUDIOLAB_API_KEY |
— (required) | Your API key. |
AUDIOLAB_API_BASE |
https://audiolab.tools/v1 |
Override the API base (must be https://). |
AUDIOLAB_TIMEOUT_MS |
60000 |
Per-request timeout in milliseconds. |
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 sent to the API (small files inline; larger
files via a private one-shot signed upload that is deleted right after analysis). The API
returns numbers only and does not retain your audio (see https://audiolab.tools/privacy).
This package has no telemetry and writes nothing to disk. If audio must never leave the
machine, don't use a hosted analyser.
Limits
- Local files: up to 50 MB (host bigger ones at a public URL).
- 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 9 tools + guards; no network
License
MIT © Nathan Renting
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.