Skip to main content
Glama

Magic Master MCP — audio mastering for AI agents

Remote MCP server that lets Claude, ChatGPT, Cursor, VS Code, Claude Code, OpenAI Codex and any other MCP client master audio: hit a loudness (LUFS) target with True Peak limiting, remove the Suno / Udio AI fingerprint, compare presets on a 24-second preview, and master a whole album with consistent relative loudness. Results come back with measured numbers and a mastering passport in the chat.

Nothing to install: the server is hosted. This repository holds the connection recipes and a small stdio bridge for clients that cannot speak HTTP.

Tools

The server exposes 11 tools. Descriptions below are condensed from the live tools/list; the live text is authoritative.

Tool

What it does

Cost

get_service_info

What Magic Master does, what is free, what costs a token, and where the rules live. Call once at the start of a session.

free

list_presets

All 24 mastering presets with their target loudness in LUFS. Gives the exact keys that master_track and batch_master accept.

free

get_pricing

Live token packs and payment methods (RUB). Prices are read live, not quoted from memory.

free

check_limits

Token balance, free quota left and when it resets, upload cap, whether PRO modules are available.

free

analyze_track

Integrated LUFS, sample peak, duration, sample rate and stereo correlation, without processing. True peak and loudness range come back from get_job after mastering.

free

clean_ai_trace

Strips the Suno / Udio AI generator fingerprint; loudness and tone stay as they are. Returns a job id.

free

preview_styles

Masters the middle 24 seconds in 2–6 presets at once and returns each one's loudness and a listen link.

free, 6 per day

master_track

Masters one track. Costs 1 token when the account has a balance; otherwise it runs on the free quota without PRO modules. Returns a job id. Pass dry_run=true to see the price and effective settings first.

1 token

batch_master

Masters up to 10 tracks in one call with the same settings. album_mode (default true) keeps relative loudness between tracks. Returns one job id per track.

1 token per track

get_job

Status, progress and result metrics (after_lufs, true_peak_db, lra, platform_ready) for a mastering, cleanup or preview job. Includes a signed download_url when a master is done.

free

create_topup_link

Prepares a token checkout for the human. The agent cannot complete the payment itself.

free

Typical flow: analyze_track → (clean_ai_trace for AI-generated tracks) → optionally preview_styles → master_track → poll get_job.

Related MCP server: audio-mastering-mcp

Endpoints and authentication

Endpoint

Auth

Use it when

https://magicmaster.pro/mcp

none, or X-API-Key: mm_…

you write the code, you use Claude Code / Cursor / VS Code / Codex with a header, or you only need the free tools

https://magicmaster.pro/mcp/oauth

OAuth 2.1 (authorization code + PKCE S256, scope mastering)

your client cannot send custom headers (Claude Desktop, ChatGPT connectors)

  • Without any key, the free tools work on /mcp.

  • On /mcp, Authorization: Bearer means an OAuth access token. An account JWT sent there returns 401, and it breaks even the free calls. Use X-API-Key on /mcp, or connect through /mcp/oauth.

  • /mcp/oauth answers an unauthenticated request with 401 and a WWW-Authenticate challenge pointing at https://magicmaster.pro/.well-known/oauth-protected-resource, so a compliant client starts the sign-in on its own.

  • OAuth metadata: /.well-known/oauth-authorization-server; dynamic client registration: /oauth/register. Access tokens last one hour; refresh tokens rotate on every use. Tokens are issued for the resource https://magicmaster.pro/mcp only.

  • API keys (mm_…) are issued in the profile after a token purchase; up to 10 active keys.

Install

Claude Code

claude mcp add --transport http magicmaster https://magicmaster.pro/mcp

Free tools work immediately. For the paid tools, add your key:

claude mcp add --transport http magicmaster https://magicmaster.pro/mcp --header "X-API-Key: mm_YOUR_KEY"

Claude Desktop and claude.ai (custom connector, OAuth)

Settings → Connectors → Add custom connector → URL https://magicmaster.pro/mcp/oauth → sign in on the consent page. Use https://magicmaster.pro/mcp if you only need the free tools.

Claude Desktop through a stdio bridge (if you prefer the config file)

{
  "mcpServers": {
    "magicmaster": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://magicmaster.pro/mcp/oauth"]
    }
  }
}

Cursor (.cursor/mcp.json)

{ "mcpServers": { "magicmaster": { "url": "https://magicmaster.pro/mcp" } } }

VS Code (.vscode/mcp.json)

{ "servers": { "magicmaster": { "type": "http", "url": "https://magicmaster.pro/mcp" } } }

OpenAI Codex (~/.codex/config.toml)

[mcp_servers.magicmaster]
url = "https://magicmaster.pro/mcp"

ChatGPT (Developer mode → Connectors → Create): URL https://magicmaster.pro/mcp/oauth, authentication OAuth.

stdio-only clients — the npm package wraps the same bridge:

{ "mcpServers": { "magicmaster": { "command": "npx", "args": ["-y", "magicmaster-mcp"] } } }

The bridge points at https://magicmaster.pro/mcp/oauth by default. Set MAGICMASTER_MCP_URL=https://magicmaster.pro/mcp to use the anonymous endpoint instead.

One-click buttons: Add to Cursor · VS Code: vscode:mcp/install?{"name":"magicmaster","type":"http","url":"https://magicmaster.pro/mcp"}

Docker

For clients without Node, and for the Glama build that runs security checks:

docker build -t magicmaster-mcp .
docker run -i --rm magicmaster-mcp

The image holds only the bridge; the server itself stays hosted at https://magicmaster.pro/mcp. It is built from this repository (npm ci), so mcp-remote is baked in and the container needs only outbound HTTPS to magicmaster.pro at run time. The image defaults to the anonymous endpoint. To use OAuth (which also unlocks the paid tools), run it with -e MAGICMASTER_MCP_URL=https://magicmaster.pro/mcp/oauth.

Build spec for a Glama release (the platform configures the recipe on its side, it does not read this Dockerfile):

  • build steps: npm ci --omit=dev

  • start command: node bin/magicmaster-mcp.js

  • environment: MAGICMASTER_MCP_URL=https://magicmaster.pro/mcp

Free vs tokens

  • Free, no account: analyze_track, clean_ai_trace, preview_styles (6 per day), get_job, get_pricing, list_presets, get_service_info, check_limits, create_topup_link.

  • Guest mastering (no account): 3 basic masters per calendar month per IP. Basic means no PRO modules.

  • Free account: 1 master per UTC day (3 during the first 24 hours after sign-up). Also basic.

  • Trial for agents: registering an agent once (POST /api/agents/register, with the account's JWT as Authorization: Bearer) grants 3 full PRO masters and an API key. The MCP connector does not grant the trial; only that call does. See agents.md.

  • Tokens: 1 token = 1 full PRO master (any preset, all PRO modules, any export format). Tokens never expire. There are no subscriptions. Some packs include bonus tokens. Live packs and prices: get_pricing (RUB) or GET https://magicmaster.pro/api/tokens/packages.

  • Payment needs the human. An agent cannot complete a card payment. Call create_topup_link, hand the checkout link to the person, then poll check_limits until the balance is credited. A card issued outside Russia may be declined; see https://magicmaster.pro/wallet.

  • master_track and batch_master accept dry_run=true, which reports the price and the effective settings without spending anything.

Formats, limits and retention

  • Input (from agent.json): aac, aif, aiff, amr, flac, m4a, mp3, ogg, wav, webm. Detection is by content.

  • Output: wav, wav24, mp3, flac, opus, aac. MP3 bitrates 128/192/256/320; Opus 128/192.

  • Upload caps: on the site and API, 160 MB without payment; after a token purchase up to 1000 MB (WAV). Through this MCP server, master_track and batch_master accept up to 100 MB per file and batch_master up to 300 MB per call (10 tracks). check_limits returns the effective per-channel ceiling (max_upload_mb_via_mcp).

  • Audio source: a public https URL (audio_url). Share links to Suno/Udio song pages, Google Drive and Dropbox are resolved to the file.

  • Retention of finished masters: guest results are kept only briefly (in memory); free accounts 1 day; after a token purchase 30 days. get_job returns a signed download_url for about an hour, which works without credentials.

  • Typical time: 20–60 s per master; up to 10 minutes for a long track with restoration. Poll get_job, or pass webhook_url to master_track to get a POST instead.

Mastering options

  • Presets (24, from list_presets): e.g. standard (−14 LUFS), edm (−9), pop (−12), hiphop (−13), podcast (−16), unlimiter (−12), voice (−16), audiobook (−19). Use preview_styles to compare two to six of them on 24 seconds for free.

  • Target loudness: target_lufs overrides the preset, e.g. -14 for Spotify. True Peak limiting follows ITU-R BS.1770-5.

  • Output: out_format, bitrate, dither_type (tpdf, ns_e, ns_itu, for 16-bit WAV).

  • Density: intensity from 0.5 (gentler) to 1.5 (denser); 1.0 is the preset as designed.

  • Restoration: restore_dynamics opens up a brickwalled source before mastering (pairs with the unlimiter preset). denoise_strength (0–1) sets noise reduction; 0 disables it. The web restoration page also lists de-hum and de-click steps, which the MCP tools do not expose by name.

  • Suno / Udio cleanup: remove_watermark=true on master_track and batch_master also removes the AI fingerprint, free of charge. The standalone tool is clean_ai_trace.

  • Album mode: batch_master with album_mode (default true): the loudest track hits the target and the others keep their offsets, so a quiet interlude is not inflated to single level. Use album_mode=false for unrelated singles.

What is not in MCP

These features are on the website (or in the API) but are not MCP tools:

Terms https://magicmaster.pro/terms · Privacy https://magicmaster.pro/privacy · Pricing https://magicmaster.pro/pricing · Developer API https://magicmaster.pro/developers · Support support@magicmaster.pro


Changelog

0.3.2

  • Tool list documented as the live 11 tools: adds preview_styles (free comparison, 6 per day) and batch_master (album mode, up to 10 tracks per call); both were missing from the 0.3.0 README.

  • README: Codex, Claude Code with API key header, and OAuth details (/mcp/oauth, PKCE, scope mastering) added; limits and formats taken from the live manifest.

  • Bridge (bin/magicmaster-mcp.js) uses the bundled mcp-remote dependency when it is installed; it falls back to npx only when it is not.

  • Package metadata: description and keywords extended.


По-русски

Удалённый MCP-сервер Magic Master для AI-агентов и клиентов вроде Claude, ChatGPT, Cursor, VS Code, Claude Code и Codex. Он выводит трек на целевую громкость (LUFS) с ограничением True Peak, снимает цифровой след Suno/Udio, сравнивает пресеты на 24-секундном отрывке и мастерит целый альбом с сохранением относительной громкости. Ставить ничего не нужно — адрес https://magicmaster.pro/mcp.

  • Бесплатно: анализ, снятие следа ИИ, сравнение пресетов (6 раз в сутки), статус задач, цены и лимиты.

  • Платно: 1 токен = 1 полный PRO-мастеринг. Токены не сгорают, подписок нет. Актуальные цены — инструмент get_pricing (в рублях). Оплату проводит человек по ссылке из create_topup_link.

  • Подключение: Claude Code — claude mcp add --transport http magicmaster https://magicmaster.pro/mcp; Claude Desktop и claude.ai — пользовательский коннектор на https://magicmaster.pro/mcp/oauth.

  • Подробности и подключение по-русски: https://magicmaster.pro/mcp. Поддержка: support@magicmaster.pro.

Available Tools

11 tools
analyze_trackAnalyze a trackA
Read-only
Inspect

Measure integrated LUFS, sample peak, duration, sample rate and stereo correlation without processing. Free, a couple of seconds. Run this before choosing a preset. Note: true peak and loudness range are NOT part of this fast pass — they are measured on the result and come back from get_job.

NameRequiredDescriptionDefault
audio_urlYesPublic https URL of the audio file (wav/mp3/flac/m4a).

Output Schema

NameRequiredDescription
lufsNo
channelsNo
peak_dbfsNo
sample_rateNo
duration_secNo
true_peak_dbNonull in the fast pass; see get_job for the measured value
genre_suggestionNo
stereo_correlationNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces the 'without processing' behavior. It also adds valuable context: the tool is free, takes only a couple of seconds, and does not measure true peak and loudness range. While annotations cover safety, the description adds nuance about scope and latency, though it doesn't detail output format beyond the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero wasted words. The tool's purpose and key behavioral scoping are front-loaded, and the caveat about true peak/loudness range is efficiently placed at the end.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only, single-parameter tool with an output schema, the description covers purpose, usage timing, scoping limits, and cost/speed. The note about get_job also routes the agent to the correct sibling for missing measurements. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is fully documented in the schema ('Public https URL of the audio file (wav/mp3/flac/m4a)'). The description doesn't add parameter-level details beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource combination: 'Measure integrated LUFS, sample peak, duration, sample rate and stereo correlation without processing.' It clearly distinguishes analyze_track from master_track by explicitly noting it does not process the audio.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs when to use this tool ('Run this before choosing a preset') and provides an exclusion by noting what is NOT measured in this fast pass and that those metrics come from get_job. This gives clear context for selecting analyze_track versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_masterMaster an album or a batchAInspect

Master up to 10 tracks in one call with the same settings. Needs N TOKENS for N tracks, or N free runs — not one. album_mode (default true) levels the tracks RELATIVE to each other: the loudest hits the target exactly, the others keep their offsets, so a quiet interlude is not inflated to single level. Limits: 10 tracks, 100 MB per file and 300 MB per call (this server's own caps, for memory) — the account may allow bigger uploads on the site, but not through this channel. A big album takes minutes — send fewer, longer tracks per call rather than all at once. Returns one job id per track — poll each with get_job. Pass dry_run=true to see the price and the settings before anything is spent.

NameRequiredDescriptionDefault
styleNoPreset key from list_presets.
bitrateNoMP3: 128/192/256/320; OPUS: 128/192.
dry_runNoReport the price and settings without mastering and without downloading anything.
album_modeNoKeep relative loudness between tracks. Default true. Set false for unrelated singles.
audio_urlsYesPublic https URLs, in album order.
out_formatNo
target_lufsNoTarget for the LOUDEST track in album mode.
remove_watermarkNoAlso remove the Suno/Udio AI fingerprint. Free.

Output Schema

NameRequiredDescription
jobsNo
tracksNojob_id, filename, source_url, target_lufs and album_lufs_offset as APPLIED by the server
dry_runNo
job_idsNo
poll_withNo
would_chargeNo
enough_capacityNo
nothing_was_chargedNo
album_mode_requestedNo
album_offsets_appliedNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description substantially exceeds the sparse annotations by explaining costing per track, memory-based upload limits, relative-leveling behavior, processing time, per-track job IDs, and exact dry_run semantics before anything is spent. This is exactly the kind of behavioral context an agent needs beyond readOnly/destructive hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence in the description earns its place: purpose, pricing, behavior, limits, latency guidance, return format, and dry-run safety. It is dense but not bloated, and the critical operational constraints appear early.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and an output schema, the description covers all consequential aspects: cost model, constraints, album-mode behavior, timing, polling workflow, and a safe preview path. An agent can correctly select and invoke this tool with confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already high at 88%, so the baseline is met. The description adds meaningful semantics beyond the schema: album_mode means the loudest track hits the target while others keep offsets, N tracks cost N tokens/runs, and there are per-file/per-call size caps not encoded in the schema. This elevates the value beyond the field descriptions alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Master up to 10 tracks in one call with the same settings.' This clearly distinguishes the tool from the sibling master_track as a batch operation while stating its scope precisely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operational guidance: token/free-run costs per track, server caps, album-mode semantics, timing expectations, dry_run usage, and a recommendation to send fewer, longer tracks per call. It does not explicitly name master_track as the alternative for single-track jobs, but the batch context and sibling list make the usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_limitsCheck quota and balanceA
Read-only
Inspect

What this account may do right now: token balance, free quota left and when it resets, upload cap, whether PRO modules are available. Call before mastering.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
freeNo
max_upload_mbNo
can_master_nowNo
tokens_balanceNo
max_upload_mb_via_mcpNoeffective per-file ceiling for THIS channel
result_retention_daysNo
max_batch_total_mb_via_mcpNo

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value by enumerating what the check returns, but does not disclose any additional behavioral nuances such as whether the call itself consumes quota or whether results are cached.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the tool's purpose and the recommended call time without any filler. Every phrase adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with an output schema present, the description covers what the tool reports and when to call it. Nothing critical is missing for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes no parameters, so the baseline is 4. The description compensates by explaining what information will be reported, which is sufficient given the empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports the account's current operational limits: token balance, free quota and reset time, upload cap, and PRO module availability. It is distinguishable from sibling info tools like get_pricing and get_service_info because it focuses on account limits rather than service or pricing details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction 'Call before mastering' gives explicit timing for when to invoke this tool. It does not mention alternatives or exclusions, but the context is clear enough that an agent would know to call this before performing mastering operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clean_ai_traceRemove Suno/Udio AI fingerprintAInspect

Strip the AI generator fingerprint without mastering; loudness and tone stay as they are. Free. Returns a job id — poll get_job.

NameRequiredDescriptionDefault
audio_urlYesPublic https URL of the audio file (wav/mp3/flac/m4a).
out_formatNo
sensitivityNo0-1, default server-side.

Output Schema

NameRequiredDescription
job_idNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds valuable behavioral context beyond the annotations: it is asynchronous ('Returns a job id — poll get_job'), free, and non-destructive to loudness/tone. Annotations only provide readOnly=false, openWorld=true, destructive=false, so the description meaningfully supplements them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences deliver the core behavior, constraints, cost, and result-handling instruction with zero filler. Every sentence earns its place and the most important distinction ('without mastering') is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an async job-submission tool, the description covers the action, scope, side effects, cost, and how to obtain the result. An output schema exists, so return-value details are not the description's job, and the schema covers parameter constraints. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes audio_url and sensitivity with 67% coverage, so the baseline is 3. The description does not add detail about out_format or how sensitivity behaves, but the schema's enum and range descriptions largely carry the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Strip') and resource ('AI generator fingerprint'), and clearly differentiates the tool from mastering by stating 'without mastering; loudness and tone stay as they are.' This makes it distinct from sibling master_track without needing to inspect schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without mastering' gives clear contextual guidance that this tool is for fingerprint removal while preserving loudness and tone, which implies when to choose it over a mastering alternative. It does not explicitly name alternatives or exclusions, but the context is strong enough for appropriate selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_jobGet job statusA
Read-only
Inspect

Status, progress and result metrics (after_lufs, true_peak_db, lra, platform_ready) for a mastering, cleanup or preview job. For previews it returns each style with its loudness and a listen link. When a master is done it also returns download_url — a signed link that works without credentials for about an hour, so an OAuth-connected agent can fetch the file it paid for. Free.

NameRequiredDescriptionDefault
job_idYes

Output Schema

NameRequiredDescription
lraNo
errorNo
statusNo
progressNo
after_lufsNo
result_urlNo
download_urlNosigned, ~1 h, works without credentials
true_peak_dbNo
platform_readyNo
download_url_expires_inNo

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and non-destructive. The description adds valuable context beyond that: previews return per-style loudness and listen links, completed masters return a download_url, the signed link expires after about an hour, no credentials are needed to fetch it, and the operation is free. This strongly supports correct agent behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, starting with the core purpose before adding conditional details. Every sentence earns its place: general metrics, preview-specific behavior, and master download/auth behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with an output schema, the description covers the essential agent-facing context: what metrics are returned, how previews differ, when a download URL appears, its validity window, authentication requirements, and pricing. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter job_id has no schema description, and the description does not explain where the job_id comes from or how to format it. It is only implicitly tied to 'a mastering, cleanup or preview job,' so the description does not compensate for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: retrieving status, progress, and result metrics for mastering, cleanup, or preview jobs. It lists specific metrics and distinguishes behavior by job type, making its scope unambiguous even among siblings like master_track or preview_styles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the follow-up tool to check a job's outcome, and it gives conditional context for previews and finished masters. However, it never explicitly states when to use this tool versus alternatives, nor does it mention what it is not for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricingGet live pricingA
Read-only
Inspect

Live token packs and payment methods. Never quote prices from memory. Free.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
modelNo
packagesYes
stars_botNo
wallet_urlNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds 'live' and 'Free' as useful context but does not disclose return shape or any operational caveats; this is acceptable given the output schema and simple read-only nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short fragments with no filler: resource, usage directive, and cost note. The key guidance 'Never quote prices from memory' is prominent, and the whole description can be absorbed at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only tool that has an output schema, the description is nearly complete: it states the domain and the essential usage directive. A minor gap is that it does not explicitly name related tools or exclusions, but the low complexity does not require more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool accepts zero parameters, so there are no parameter semantics to document; per the rubric this receives the baseline 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly identifies the resource as 'token packs and payment methods' and marks it as live, and the title supplies the query verb ('Get live pricing'). It is clearly a pricing lookup and distinct in purpose from the service/job/track siblings, though it does not name an alternative pricing-related sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Never quote prices from memory' is an explicit directive to call this tool for current prices rather than relying on recalled information. It gives clear context for use, though it does not enumerate alternatives or state when not to use the tool beyond avoiding memory.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_service_infoService infoA
Read-only
Inspect

What Magic Master does, what is free, what costs a token, and where the rules live. Call once at the start of a session.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful content expectations (free vs token costs, rules location) but does not reveal deeper behavioral traits such as response format or whether information may be cached.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two short sentences that each earn their place. It front-loads the content and gives a direct call-time instruction without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter informational tool with an output schema and safety annotations, the description is complete. It tells the agent what the tool returns conceptually and when to call it, and the output schema covers concrete return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so parameter documentation is not needed. The baseline of 4 applies because there is no parameter ambiguity to resolve.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states that the tool explains what Magic Master does, what is free versus token-costed, and where rules live, so the general purpose is clear. However, it does not explicitly differentiate itself from sibling tools like get_pricing or check_limits, which may overlap in content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit timing guidance: 'Call once at the start of a session.' It does not explicitly mention when not to use it or point to an alternative, but for a session-intro tool this is clear enough context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_presetsList mastering presetsA
Read-only
Inspect

All mastering presets with their target loudness in LUFS. Free.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
countNo
presetsYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds useful context about the output content—target loudness in LUFS—and clearly signals a non-destructive listing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two short sentences that each carry meaningful information: the resource scope and the cost implication. No filler or redundant content is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only listing tool with an output schema and safety annotations, the description is sufficiently complete. It states what is listed and what field is included; missing sibling differentiation is a minor gap given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing to document semantically. The schema is trivially complete, and the description does not need to add parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns all mastering presets with their target loudness in LUFS, which matches the title and identifies the resource. It does not explicitly use the verb 'list', but the meaning is unambiguous and distinct enough from the sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to use this tool versus alternatives such as preview_styles or get_service_info. The phrase 'Free' hints at a cost-related benefit, but there is no explicit when-to-use or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

master_trackMaster a trackAInspect

Master one track. COSTS 1 TOKEN when the account has a balance; otherwise it runs on the free quota without PRO modules. Returns a job id immediately — poll get_job (typical 20-60 s, up to 10 min with restoration). The source is fetched by this server, so the ceiling here is 100 MB per file even when the account allows more. Pass dry_run=true first if you want the price and the effective settings before anything is spent.

NameRequiredDescriptionDefault
styleNoPreset key from list_presets, e.g. edm, hiphop, podcast, unlimiter. Default standard.
bitrateNoMP3: 128/192/256/320; OPUS: 128/192.
dry_runNoDo not master: report what this call would cost and what settings would apply. Nothing is charged, the file is not even downloaded.
audio_urlYesPublic https URL of the audio file (wav/mp3/flac/m4a).
intensityNoHow hard the chain works, 0-1. Default per preset.
out_formatNo
dither_typeNoDither for 16-bit output. Default tpdf.
target_lufsNoOverride the preset target, e.g. -14 for Spotify.
webhook_urlNoPublic https URL to POST the result to instead of polling.
denoise_strengthNoNoise reduction, 0-1. 0 disables.
remove_watermarkNoAlso remove the Suno/Udio AI fingerprint. Free.
restore_dynamicsNoOpen up a brickwalled source before mastering (pairs with style unlimiter).

Output Schema

NameRequiredDescription
job_idNo
dry_runNo
poll_withNo
would_chargeNo
tokens_balanceNo
nothing_was_chargedNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses substantial behavior beyond annotations: token cost with quota fallback ("COSTS 1 TOKEN when the account has a balance; otherwise it runs on the free quota without PRO modules"), async job semantics with timing ("typical 20-60 s, up to 10 min with restoration"), and a 100 MB server-side file ceiling. This is exactly the kind of context annotations (readOnlyHint=false, openWorldHint=true) cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with the core purpose, then cost, then async workflow, then limits, then the recommendation. Every sentence carries distinct information — cost, timing, file ceiling, dry-run advice — with zero filler or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, paid, asynchronous tool, the description covers the critical operational facts an agent needs: pricing model, quota behavior, async return pattern, expected latency, size limits, and a safe-first workflow. An output schema exists, so return values need no description, and the dry_run advice addresses the main risk of accidental spend.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 92%, so the schema does most of the work. The description adds genuine meaning beyond it: the dry_run recommendation explains its purpose (price + effective settings before anything is spent) and the 100 MB ceiling adds a real constraint on audio_url that the schema omits. These are modest but concrete additions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Master one track" names a specific verb and resource, and the explicit singular phrasing differentiates it from the sibling batch_master without needing to open either schema. The opening sentence is unambiguous about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational guidance: run dry_run=true first for a price/settings preview, and expect to poll get_job afterward with concrete timing bounds. It does not explicitly state when to prefer siblings like batch_master or clean_ai_trace, though the "one track" phrasing implies the contrast.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_stylesCompare presets on 24 secondsAInspect

Master the middle 24 s of the track in 2-6 presets at once and get each one's loudness plus a listen link. FREE (6 per day). Use this instead of guessing a preset, and instead of burning a token to 'try' one.

NameRequiredDescriptionDefault
stylesNoPreset keys from list_presets. Default: edm, pop, rnb, standard.
audio_urlYesPublic https URL of the audio file (wav/mp3/flac/m4a).

Output Schema

NameRequiredDescription
job_idNo
stylesNo
poll_withNo
preview_url_templateNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as non-destructive, but the description adds useful behavioral context: it previews only the middle 24 seconds, returns loudness and a listen link per preset, is free, and has a 6-per-day cap. It does not mention link expiration or persistence, but there is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core action and outcome. The FREE/limit note and usage guidance are useful. The verb 'Master' is slightly ambiguous compared to the title's 'Compare,' but there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter preview tool with an output schema and non-destructive annotations, the description is practically complete. It covers the action, scope, quota, output highlights, and usage rationale. It could mention style key sourcing more explicitly, but the schema already points to list_presets.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents audio_url and styles. The description reinforces that styles should be 2-6 presets and that each produces loudness and a link, but it does not add new parameter-level details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise action and resource: 'Master the middle 24 s of the track in 2-6 presets at once and get each one's loudness plus a listen link.' This clearly identifies a preview/compare workflow and distinguishes it from siblings like master_track or list_presets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this tool 'instead of guessing a preset' and 'instead of burning a token to try one,' which gives clear selection context. It does not explicitly name sibling tools or cover when another tool like batch_master would be better, but the intended usage is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.3.1
    • First observedanalyze_track
    • First observedbatch_master
    • First observedcheck_limits
    • First observedclean_ai_trace
    • First observedcreate_topup_link
    • First observedget_job
    • First observedget_pricing
    • First observedget_service_info
    • First observedlist_presets
    • First observedmaster_track
    • First observedpreview_styles

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation4/5

Most tools are cleanly separated: analyze_track, clean_ai_trace, preview_styles, master_track, and batch_master all have clearly different purposes. The only mild overlap is among get_service_info, get_pricing, and check_limits, all of which touch cost/account state and require careful reading.

Naming Consistency4/5

Names are uniformly lowercase snake_case and mostly follow a verb_noun pattern like list_presets, analyze_track, and get_job. The only notable deviation is batch_master, which reads more like a compound noun than the verb_noun pattern used by master_track.

Tool Count5/5

Eleven tools is well within the ideal range and each one earns its place in the mastering workflow. The set covers orientation, presets, pricing, limits, analysis, cleanup, preview, single and batch mastering, job polling, and token purchases without filler.

Completeness5/5

The full workflow is closed: agents can check limits, analyze, preview, master or batch master, poll for results and downloads, and create a top-up link when tokens run out. There are no dead ends in the core lifecycle.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers