Magic Master MCP
Magic Master MCP is a hosted remote MCP server that masters audio for AI agents — loudness targeting, True Peak limiting, AI-fingerprint removal, preset comparison, and album-level mastering.
get_service_info— call once per session for what's free/paid and where the rules live.list_presets— 24 mastering presets with their LUFS targets (e.g.standard−14,edm−9,podcast−16).analyze_track— integrated LUFS, sample peak, duration, sample rate, stereo correlation (no processing, no true peak).clean_ai_trace— strip the Suno/Udio AI generator fingerprint without changing loudness or tone.preview_styles— master the middle 24 s in 2–6 presets at once and compare loudness + listen links (free, 6/day).master_track— full PRO master with preset/target_lufsoverride, output format, bitrate, dither, intensity, denoise,restore_dynamics, AI-watermark removal, and optionalwebhook_url(1 token;dry_run=trueto price it first).batch_master— up to 10 tracks per call,album_modekeeps relative loudness so quiet interludes aren't inflated (1 token per track).get_job— status/progress plus result metrics (after_lufs,true_peak_db,lra,platform_ready) and a signed ~1 hdownload_url; also renders a mastering passport UI.check_limits— token balance, free quota and reset time, upload caps, PRO availability.get_pricing/create_topup_link— live RUB pack prices; prepares a human-completed checkout (the agent cannot pay).Practical flow: analyze → clean AI trace → preview styles → master → poll
get_job.Constraints: 100 MB per file and 300 MB per batch via MCP; masters are mastered from public https
audio_urlinputs.
Provides a tool to remove Suno's AI digital fingerprint from audio tracks, cleaning AI-generated audio while leaving loudness untouched.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Magic Master MCPMaster this track to -14 LUFS and remove the AI fingerprint"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Server:
https://magicmaster.pro/mcp(streamable HTTP; protocol revisions2026-07-28,2025-11-25,2025-06-18)OAuth endpoint (for clients that cannot send headers, e.g. Claude Desktop custom connectors):
https://magicmaster.pro/mcp/oauthAgent playbook: https://magicmaster.pro/agents.md · machine manifest: https://magicmaster.pro/agent.json · OpenAPI (public subset): https://magicmaster.pro/openapi-public.json
Human page (RU/EN): https://magicmaster.pro/mcp
Service version: 3.15.0 (as reported by
get_service_info)
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 |
| 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 |
| All 24 mastering presets with their target loudness in LUFS. Gives the exact keys that | free |
| Live token packs and payment methods (RUB). Prices are read live, not quoted from memory. | free |
| Token balance, free quota left and when it resets, upload cap, whether PRO modules are available. | free |
| Integrated LUFS, sample peak, duration, sample rate and stereo correlation, without processing. True peak and loudness range come back from | free |
| Strips the Suno / Udio AI generator fingerprint; loudness and tone stay as they are. Returns a job id. | free |
| 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 |
| 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 | 1 token |
| Masters up to 10 tracks in one call with the same settings. | 1 token per track |
| Status, progress and result metrics ( | free |
| 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 |
| none, or | you write the code, you use Claude Code / Cursor / VS Code / Codex with a header, or you only need the free tools |
| OAuth 2.1 (authorization code + PKCE | your client cannot send custom headers (Claude Desktop, ChatGPT connectors) |
Without any key, the free tools work on
/mcp.On
/mcp,Authorization: Bearermeans an OAuth access token. An account JWT sent there returns401, and it breaks even the free calls. UseX-API-Keyon/mcp, or connect through/mcp/oauth./mcp/oauthanswers an unauthenticated request with401and aWWW-Authenticatechallenge pointing athttps://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 resourcehttps://magicmaster.pro/mcponly.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/mcpFree 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-mcpThe 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=devstart command:
node bin/magicmaster-mcp.jsenvironment:
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 asAuthorization: Bearer) grants 3 full PRO masters and an API key. The MCP connector does not grant the trial; only that call does. Seeagents.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) orGET 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 pollcheck_limitsuntil the balance is credited. A card issued outside Russia may be declined; seehttps://magicmaster.pro/wallet.master_trackandbatch_masteracceptdry_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_trackandbatch_masteraccept up to 100 MB per file andbatch_masterup to 300 MB per call (10 tracks).check_limitsreturns the effective per-channel ceiling (max_upload_mb_via_mcp).Audio source: a public
httpsURL (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_jobreturns a signeddownload_urlfor 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 passwebhook_urltomaster_trackto 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). Usepreview_stylesto compare two to six of them on 24 seconds for free.Target loudness:
target_lufsoverrides the preset, e.g.-14for 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:
intensityfrom 0.5 (gentler) to 1.5 (denser); 1.0 is the preset as designed.Restoration:
restore_dynamicsopens up a brickwalled source before mastering (pairs with theunlimiterpreset).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=trueonmaster_trackandbatch_masteralso removes the AI fingerprint, free of charge. The standalone tool isclean_ai_trace.Album mode:
batch_masterwithalbum_mode(defaulttrue): the loudest track hits the target and the others keep their offsets, so a quiet interlude is not inflated to single level. Usealbum_mode=falsefor unrelated singles.
What is not in MCP
These features are on the website (or in the API) but are not MCP tools:
Stem mastering (2–8 stems combined and mastered as one track): API
POST /api/v2/master/stems, 1 token.Free vocal removal and stem split on the web: https://magicmaster.pro/stems-separation (free; a free account gets four stems).
Key changer, −6…+6 semitones, free: https://magicmaster.pro/tools/key-changer.
Audio cutter, free: https://magicmaster.pro/tools/audio-cutter.
Clipping check (free) and De-clipper: https://magicmaster.pro/declipper.
Release-ready check: https://magicmaster.pro/release-ready. Not launched yet: requests are open, nothing is charged.
Mixing with a live engineer: https://magicmaster.pro/mixing-engineer. Not launched yet: requests are open, nothing is charged.
Links
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) andbatch_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, scopemastering) added; limits and formats taken from the live manifest.Bridge (
bin/magicmaster-mcp.js) uses the bundledmcp-remotedependency when it is installed; it falls back tonpxonly 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 toolsanalyze_trackAnalyze a trackARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| audio_url | Yes | Public https URL of the audio file (wav/mp3/flac/m4a). |
Output Schema
| Name | Required | Description |
|---|---|---|
| lufs | No | |
| channels | No | |
| peak_dbfs | No | |
| sample_rate | No | |
| duration_sec | No | |
| true_peak_db | No | null in the fast pass; see get_job for the measured value |
| genre_suggestion | No | |
| stereo_correlation | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Preset key from list_presets. | |
| bitrate | No | MP3: 128/192/256/320; OPUS: 128/192. | |
| dry_run | No | Report the price and settings without mastering and without downloading anything. | |
| album_mode | No | Keep relative loudness between tracks. Default true. Set false for unrelated singles. | |
| audio_urls | Yes | Public https URLs, in album order. | |
| out_format | No | ||
| target_lufs | No | Target for the LOUDEST track in album mode. | |
| remove_watermark | No | Also remove the Suno/Udio AI fingerprint. Free. |
Output Schema
| Name | Required | Description |
|---|---|---|
| jobs | No | |
| tracks | No | job_id, filename, source_url, target_lufs and album_lufs_offset as APPLIED by the server |
| dry_run | No | |
| job_ids | No | |
| poll_with | No | |
| would_charge | No | |
| enough_capacity | No | |
| nothing_was_charged | No | |
| album_mode_requested | No | |
| album_offsets_applied | No |
TDQS
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.
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.
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.
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.
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.
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 balanceARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| free | No | |
| max_upload_mb | No | |
| can_master_now | No | |
| tokens_balance | No | |
| max_upload_mb_via_mcp | No | effective per-file ceiling for THIS channel |
| result_retention_days | No | |
| max_batch_total_mb_via_mcp | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| audio_url | Yes | Public https URL of the audio file (wav/mp3/flac/m4a). | |
| out_format | No | ||
| sensitivity | No | 0-1, default server-side. |
Output Schema
| Name | Required | Description |
|---|---|---|
| job_id | No |
TDQS
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.
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.
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.
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.
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.
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.
create_topup_linkCreate a top-up linkARead-onlyInspect
Prepare a token purchase for the human principal. The agent CANNOT complete the payment: card and Telegram Stars both need the human. Returns the checkout link to hand over, then poll check_limits.
| Name | Required | Description | Default |
|---|---|---|---|
| pack_id | No | Pack id from get_pricing, e.g. tokens_10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pack | No | |
| packages | No | |
| next_step | No | |
| checkout_url | No | |
| stars_deeplink | No | |
| agent_can_complete | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by disclosing the human-in-the-loop payment requirement and the follow-up polling step. It clarifies that the agent cannot finish payment, which is critical behavioral context. No contradiction with readOnlyHint is present because preparing a link does not necessarily mutate state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. It front-loads the core action, then states the key limitation and the next step. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a documented output schema, this description is fully sufficient. It explains what the tool does, what the agent must do next, and the human dependency, leaving no important gap for an agent to call and use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single parameter pack_id is already self-documenting. The description does not add extra semantic detail beyond the schema, but it also does not need to because the schema provides adequate meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: preparing a token purchase for a human principal and returning a checkout link. It also explicitly distinguishes this from completing payment, which is not possible for the agent. This makes the purpose unambiguous and distinct from sibling tools like check_limits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: use this to prepare a purchase, hand the checkout link to the human, then poll check_limits. It clearly states what the agent cannot do (complete payment) and names the follow-up tool. This is strong contextual routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jobGet job statusARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| lra | No | |
| error | No | |
| status | No | |
| progress | No | |
| after_lufs | No | |
| result_url | No | |
| download_url | No | signed, ~1 h, works without credentials |
| true_peak_db | No | |
| platform_ready | No | |
| download_url_expires_in | No |
TDQS
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.
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.
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.
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.
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.
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 pricingARead-onlyInspect
Live token packs and payment methods. Never quote prices from memory. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| model | No | |
| packages | Yes | |
| stars_bot | No | |
| wallet_url | No |
TDQS
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.
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.
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.
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.
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.
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 infoARead-onlyInspect
What Magic Master does, what is free, what costs a token, and where the rules live. Call once at the start of a session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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 presetsARead-onlyInspect
All mastering presets with their target loudness in LUFS. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| presets | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Preset key from list_presets, e.g. edm, hiphop, podcast, unlimiter. Default standard. | |
| bitrate | No | MP3: 128/192/256/320; OPUS: 128/192. | |
| dry_run | No | Do not master: report what this call would cost and what settings would apply. Nothing is charged, the file is not even downloaded. | |
| audio_url | Yes | Public https URL of the audio file (wav/mp3/flac/m4a). | |
| intensity | No | How hard the chain works, 0-1. Default per preset. | |
| out_format | No | ||
| dither_type | No | Dither for 16-bit output. Default tpdf. | |
| target_lufs | No | Override the preset target, e.g. -14 for Spotify. | |
| webhook_url | No | Public https URL to POST the result to instead of polling. | |
| denoise_strength | No | Noise reduction, 0-1. 0 disables. | |
| remove_watermark | No | Also remove the Suno/Udio AI fingerprint. Free. | |
| restore_dynamics | No | Open up a brickwalled source before mastering (pairs with style unlimiter). |
Output Schema
| Name | Required | Description |
|---|---|---|
| job_id | No | |
| dry_run | No | |
| poll_with | No | |
| would_charge | No | |
| tokens_balance | No | |
| nothing_was_charged | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| styles | No | Preset keys from list_presets. Default: edm, pop, rnb, standard. | |
| audio_url | Yes | Public https URL of the audio file (wav/mp3/flac/m4a). |
Output Schema
| Name | Required | Description |
|---|---|---|
| job_id | No | |
| styles | No | |
| poll_with | No | |
| preview_url_template | No |
TDQS
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.
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.
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.
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.
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.
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.
11 tool updates
v0.3.1- First observed
analyze_track - First observed
batch_master - First observed
check_limits - First observed
clean_ai_trace - First observed
create_topup_link - First observed
get_job - First observed
get_pricing - First observed
get_service_info - First observed
list_presets - First observed
master_track - First observed
preview_styles
TDQS
Scored across 11 tools
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.
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.
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.
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
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for Producer/Riffusion AI music generation
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents the ability to listen to and understand music/audio files, enabling semantic analysis, stem separation, lyrics transcription, and signal processing via tool calls.1MIT
- AlicenseAqualityDmaintenanceAn MCP server that masters audio with a professional signal chain using ffmpeg, enabling loudness analysis, vocal-over-beat mixing, full mastering to target LUFS, and Dolby codec export.45 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to programmatically edit, analyze, and export audio projects through MCP tools, including multi-track editing, effects, transcription, and semantic search.1-
- AlicenseNot gradedqualityBmaintenanceAI-powered music production toolkit enabling AI agents to generate, remix, separate stems, master tracks, and control DAWs via MCP.1MIT