Skip to content
Sign in

/connect

Add AudioLab to any AI.

The same tools (loudness by EBU R128, true-peak, voice QA, spectrum, speech segments, target-check, A/B compare over MCP) in whatever you already use: Claude, ChatGPT, Gemini, Cursor, n8n, or your own code. The hosted /mcp endpoint and the npm package carry the same ten tools. One API key, one rate limit, the same rights everywhere. Your AI calls the hosted engine, so the proprietary engine never ships to you.

Status

Live now: self-serve keys with a free tier. Grab a key below and wire it in today.

Quick install

Fastest path

Pick your client, paste your key, one click gets the config or opens the client directly. Prefer to do it by hand? The full per-client guide is below.

Step 1 · Your client

Step 2 · Your API key

Remembered on this device so you don’t paste it again. The snippets below are built in your browser; the key only leaves it if you upload a file in step 04.

Step 3 · One click

Detailed setup

Full reference

The full picture: which surface each client uses, how to get a key, and a walkthrough for every client. The quick wizard above already covers the common ones in three clicks.

Pick your client

Two protocols cover everything. MCP for AI clients (a local package for apps that run a subprocess, a hosted /mcp URL for the ones that don't), and plain REST for your own code.

Client How Talks to
Claude Desktop / Claude Code Plugin, or local MCP (stdio) npm package
OpenAI API (Responses) mcp tool /mcp (remote)
ChatGPT (Custom GPT) Actions from OpenAPI REST /v1
Google Gemini SDK (stdio) or hosted MCP npm package or /mcp
Cursor / Windsurf / VS Code Local MCP (stdio) npm package
n8n MCP Client node (HTTP) /mcp (remote)
Your own agent REST or the AI SDK REST /v1
Get a key

Every route needs one API key. It is the rights boundary: an MCP call and a curl call with the same key get the same tools, the same per-minute limit of your plan, and the same fetch protection. Sign in and generate one from your account, free tier included.

Claude (Desktop & Code)

One command adds the skill and the MCP server, and prompts for your key:

/plugin marketplace add Audio-Launch/audiolab-claude-plugin
/plugin install audiolab@audiolab-tools

Or configure MCP by hand in any Claude client and restart:

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

OpenAI can’t run a local package. Two ways in: the hosted /mcp endpoint from the API, or a Custom GPT over REST.

A. OpenAI API (Responses)

# tools=[{
#   "type": "mcp",
#   "server_label": "audiolab",
#   "server_url": "https://audiolab.tools/mcp",
#   "headers": {"Authorization": "Bearer YOUR_AUDIOLAB_KEY"},
#   "require_approval": "never"
# }]

B. Custom GPT (no MCP)

In the GPT editor: Actions → Import from URL → https://audiolab.tools/openapi.yaml, then Authentication: API Key, Bearer. This exposes the REST tools directly. (A/B compare is MCP-only; run two analyze calls instead.)

A Custom GPT sends JSON, not file uploads, so give it a public url to the audio rather than the file itself. Every analyze route accepts both; the multipart half is for your own code. To check the wiring right after importing, ask it to analyze https://audiolab.tools/reference/is-original.mp3.

No public URL? Put one here.

Paste your key in step 02, then drop an audio file. It goes straight to our storage, never through the GPT, and you get back a path to hand the GPT in place of a url. It is a storage path and not a link, so a browser cannot open it; your GPT can, because it knows the objectPath field. Up to 150 MB, so a 24-bit master fits, readable for about an hour, and only by that same key.

There is a clock on this one. OpenAI is retiring custom GPTs on 11 December 2026. Until then the route above works as described. Migrating a GPT to a plugin does not carry its actions over, and a plugin that brings its own MCP server is marked desktop-only, so this particular web route ends with the GPT. Route A above, the hosted /mcp endpoint from the OpenAI API, is unaffected, and so is every other client on this page. Checked against OpenAI’s retirement FAQ on 22 September 2026.

Not a route: a ChatGPT Developer Mode connector. It accepts OAuth or no authentication, not an API key, so it cannot send your AudioLab key to /mcp.

Google Gemini

The google-genai SDK spawns the local package as a subprocess, so nothing new is needed:

params = StdioServerParameters(
    command="npx", args=["-y", "@audiolabtools/mcp-server"],
    env={"AUDIOLAB_API_KEY": "your_key_here"})
# async with stdio_client(params) as (r, w):
#   async with ClientSession(r, w) as session:
#     await session.initialize()
#     config = GenerateContentConfig(tools=[session])

Gemini’s hosted MCP mode (2.5-class models) can also point at https://audiolab.tools/mcp with a Bearer header, and plain function-calling can be built from the OpenAPI spec.

Cursor, Windsurf, VS Code

All run the local package over stdio. Cursor uses ~/.cursor/mcp.json:

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

Windsurf uses the same shape. VS Code uses .vscode/mcp.json with "type": "stdio" and the same command.

n8n & any remote client

Anything that speaks remote MCP points at one URL. In n8n: an MCP Client node, HTTP Streamable transport, URL https://audiolab.tools/mcp, header Authorization: Bearer your_key.

The universal rule for any MCP client: Streamable HTTP transport, Bearer key in the Authorization header. That is all the endpoint needs.

Your own code

No MCP, no framework. The tools are a plain REST call:

curl https://audiolab.tools/v1/mixlab/analyze \
  -H "Authorization: Bearer $AUDIOLAB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/track.wav"}'

Full reference and a no-key browser playground on the /api page. The @audiolabtools/ai-sdk provider wires eight of these routes into a Vercel AI SDK agent; profiles and batching stay on REST and MCP.

Privacy

MCP and REST send the audio to the hosted API in the EU for decoding and measuring, so it crosses the network: a URL is fetched by the API, and a local file (a path given to the npm package, or a file you upload on this page) is uploaded to it. Only numbers come back. The package runs on your machine but does not measure there, and there is no offline version. A direct request is discarded inside the request; an uploaded file is swept from storage within the hour. For strictly on-device analysis, use the in-browser labs, which measure on your device (HearLab’s live captions are the one exception). See privacy.