# Magic Master — Audio Mastering

> Audio mastering for AI agents: LUFS/True Peak targets, Suno/Udio AI-fingerprint removal.

- name: pro.magicmaster/mastering
- version: 0.5.0
- connection class: R0 (autonomous)
- trust: 93/100
- quality: 93/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/pro.magicmaster%2Fmastering
- tools: https://api.protogrid.dev/v1/servers/pro.magicmaster%2Fmastering/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "mastering": {
      "type": "http",
      "url": "https://magicmaster.pro/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 85
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% ~updated-48d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 93/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: 83 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- warn `auth.cimd`: only Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 11 of 11 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_pricing (idempotentHint); preview_styles (idempotentHint); master_track (idempotentHint); …
- pass `tools.token_cost`: about 2,130 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 2 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 1 resolved packages
- n/a `deps.mcp_sdk_version`: the official MCP SDK is not in the dependency graph
- pass `deps.resolvable`: magicmaster-mcp@0.3.0 resolved: 1 packages

- tools: 11, about 2,130 tokens to load them all
- tool set hash: e47254de7f613287eb4d38cc925e23b6
- tools last changed: 2026-10-13T10:48:30.414Z
- badge: [![protogrid quality](https://protogrid.dev/badge/pro.magicmaster/mastering.svg)](https://protogrid.dev/servers/pro.magicmaster/mastering)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-13 `create_topup_link` changed (description, outputSchema)
  - before: 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.
  - after: Prepare a token purchase for the human principal. The agent CANNOT complete the payment: the card payment needs the human. Returns the checkout link to hand over, then poll check_limits.
- 2026-10-13 `get_pricing` changed (outputSchema)

Full history: https://api.protogrid.dev/v1/servers/pro.magicmaster%2Fmastering/changes

## Dependencies

- npm magicmaster-mcp@0.3.0: resolved, 0 dependencies

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://magicmaster.pro/mcp (streamable-http, auth none, reachable true, uptime30d 1)
- https://magicmaster.pro/mcp/oauth (streamable-http, auth oauth2, reachable true, uptime30d 1)

## Packages

- npm magicmaster-mcp@0.3.0

## Tools (11)

- `analyze_track`: 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.
- `batch_master`: 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.
- `check_limits`: 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.
- `clean_ai_trace`: Strip the AI generator fingerprint without mastering; loudness and tone stay as they are. Free. Returns a job id — poll get_job.
- `create_topup_link`: Prepare a token purchase for the human principal. The agent CANNOT complete the payment: the card payment needs the human. Returns the checkout link to hand over, then poll check_limits.
- `get_job`: 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.
- `get_pricing`: Live token packs and payment methods. Never quote prices from memory. Free.
- `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.
- `list_presets`: All mastering presets with their target loudness in LUFS. Call this to get the exact preset keys that master_track and batch_master accept. Use preview_styles instead when you want to HEAR 2-6 of them on the actual track before choosing, and get_service_info when you need the wider service manifest rather than the preset list. Free.
- `master_track`: 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.
- `preview_styles`: 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.
