Bandmixr

AI mixing and mastering in the chat: check a song, mix your stems, change the mix in plain words.

我该使用它吗

质量与安全性

A
描述质量
89%
模式完整度
82%
命名质量
95%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'update_song' description lacks action verb在 update_song 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~4,249token 数(工具定义)
~1.9 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 3.32%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "bandmixr": {
      "url": "https://bandmixr.com/mcp"
    }
  }
}

远程端点

https://bandmixr.com/mcpstreamable-http

它能做什么

工具清单

工具(15)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢master_song(preset, genre)

Opens the Bandmixr studio in the chat to master or enhance a finished song (a stereo mix). The song is checked in the browser for loudness, peaks, stereo image and tonal balance, and a 30-second mastered preview plays next to the original. Mastering the full song needs a Bandmixr account.

输入模式

{
  "type": "object",
  "properties": {
    "preset": {
      "type": "string",
      "enum": [
        "streaming",
        "optimal",
        "loud"
      ],
      "description": "Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced (\"Standard\"); loud = maximum punch and loudness."
    },
    "genre": {
      "type": "string",
      "enum": [
        "rock_indie",
        "pop",
        "acoustic",
        "hip_hop_grime",
        "electronic",
        "reggae_dub",
        "orchestral",
        "metal",
        "jazz",
        "blues",
        "funk_soul",
        "punk",
        "other"
      ],
      "description": "Genre of the song. rock_indie = rock / indie; pop = pop; acoustic = acoustic, singer-songwriter; hip_hop_grime = hip hop, rap, trap, grime; electronic = electronic, EDM, house, techno; reggae_dub = reggae / dub; orchestral = orchestral, film score; metal = metal; jazz = jazz; blues = blues; funk_soul = funk / soul / R&B; punk = punk; other = anything else or not sure (balanced, genre-neutral)."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢check_mix(genre)

Opens the Bandmixr Mix Analyzer in the chat. It checks a mix or master in the browser (the file is not uploaded): loudness (LUFS), true peak, clipping, stereo image and tonal balance, with a verdict for each and a 30-second mastered preview.

输入模式

{
  "type": "object",
  "properties": {
    "genre": {
      "type": "string",
      "enum": [
        "rock_indie",
        "pop",
        "acoustic",
        "hip_hop_grime",
        "electronic",
        "reggae_dub",
        "orchestral",
        "metal",
        "jazz",
        "blues",
        "funk_soul",
        "punk",
        "other"
      ],
      "description": "Genre of the song. rock_indie = rock / indie; pop = pop; acoustic = acoustic, singer-songwriter; hip_hop_grime = hip hop, rap, trap, grime; electronic = electronic, EDM, house, techno; reggae_dub = reggae / dub; orchestral = orchestral, film score; metal = metal; jazz = jazz; blues = blues; funk_soul = funk / soul / R&B; punk = punk; other = anything else or not sure (balanced, genre-neutral)."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_analyzer_session

Returns a 30-minute ticket and the address of the Bandmixr preview service, which the studio in the chat uses for the 30-second mastered preview. The studio calls this tool on its own; the assistant does not need to call it directly.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_account

Shows the connected Bandmixr account's plan and its limits (stems per song, song length, storage). Needs the person to connect their Bandmixr account.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_songs

Lists the person's Bandmixr songs, most recently changed first.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_song_status(songId)

One song's stems with their labels, uploads and analysis still running, whether the person has confirmed the labels, and where the mix and master stand.

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    }
  },
  "required": [
    "songId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡create_song(title, genre, preset, mix)

Creates a new song in Bandmixr for mixing stems and opens the studio with its upload box. The genre and the mastering style are the ones the person names (other and streaming when they name none). Mixing and mastering are part of it: they start by themselves once the stems are uploaded and the person has confirmed the labels in the studio.

输入模式

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The song's name, as the person calls it."
    },
    "genre": {
      "type": "string",
      "enum": [
        "rock_indie",
        "pop",
        "acoustic",
        "hip_hop_grime",
        "electronic",
        "reggae_dub",
        "orchestral",
        "metal",
        "jazz",
        "blues",
        "funk_soul",
        "punk",
        "other"
      ],
      "description": "Genre of the song. rock_indie = rock / indie; pop = pop; acoustic = acoustic, singer-songwriter; hip_hop_grime = hip hop, rap, trap, grime; electronic = electronic, EDM, house, techno; reggae_dub = reggae / dub; orchestral = orchestral, film score; metal = metal; jazz = jazz; blues = blues; funk_soul = funk / soul / R&B; punk = punk; other = anything else or not sure (balanced, genre-neutral)."
    },
    "preset": {
      "type": "string",
      "enum": [
        "streaming",
        "optimal",
        "loud"
      ],
      "description": "Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced (\"Standard\"); loud = maximum punch and loudness."
    },
    "mix": {
      "description": "false = upload now, mix later (default true: mix once the labels are confirmed).",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴update_song(songId, title, genre)

Changes the title or the genre of a song (not while it is being mixed).

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "The song's name, as the person calls it."
    },
    "genre": {
      "type": "string",
      "enum": [
        "rock_indie",
        "pop",
        "acoustic",
        "hip_hop_grime",
        "electronic",
        "reggae_dub",
        "orchestral",
        "metal",
        "jazz",
        "blues",
        "funk_soul",
        "punk",
        "other"
      ],
      "description": "Genre of the song. rock_indie = rock / indie; pop = pop; acoustic = acoustic, singer-songwriter; hip_hop_grime = hip hop, rap, trap, grime; electronic = electronic, EDM, house, techno; reggae_dub = reggae / dub; orchestral = orchestral, film score; metal = metal; jazz = jazz; blues = blues; funk_soul = funk / soul / R&B; punk = punk; other = anything else or not sure (balanced, genre-neutral)."
    }
  },
  "required": [
    "songId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢open_song_studio(songId)

Opens the Bandmixr studio for a song in the chat. It shows what the song needs next: the upload box for stems, the label check (only the person can confirm labels there), the mix progress, or the player with the original, the mix and the master.

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    }
  },
  "required": [
    "songId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_song_session(songId)

Returns a 15-minute ticket for one of the person's songs, which the studio in the chat uses to upload stems, show the label check and the progress, and play the original, the mix and the master. The studio calls this tool on its own; the assistant does not need to call it directly.

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    }
  },
  "required": [
    "songId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡prepare_full_master(title, genre)

Creates a new song named after the file the person checked in the studio and returns a short-lived ticket for uploading it, so the studio can upload and master the full song. The studio calls this tool when the person chooses to master the full song; the assistant does not need to call it directly.

输入模式

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "genre": {
      "type": "string",
      "enum": [
        "rock_indie",
        "pop",
        "acoustic",
        "hip_hop_grime",
        "electronic",
        "reggae_dub",
        "orchestral",
        "metal",
        "jazz",
        "blues",
        "funk_soul",
        "punk",
        "other"
      ],
      "description": "Genre of the song. rock_indie = rock / indie; pop = pop; acoustic = acoustic, singer-songwriter; hip_hop_grime = hip hop, rap, trap, grime; electronic = electronic, EDM, house, techno; reggae_dub = reggae / dub; orchestral = orchestral, film score; metal = metal; jazz = jazz; blues = blues; funk_soul = funk / soul / R&B; punk = punk; other = anything else or not sure (balanced, genre-neutral)."
    }
  },
  "required": [
    "title"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴set_stem_labels(songId, labels)

Sets what is on each stem from what the person says about their files (stem ids and file names come from get_song_status). It does not confirm the labels: the person still confirms them with "Labels are correct" in the studio before anything is mixed.

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    },
    "labels": {
      "minItems": 1,
      "maxItems": 64,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stemId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "label": {
            "type": "string",
            "enum": [
              "kick",
              "snare",
              "hihat",
              "toms",
              "overheads",
              "room_mics",
              "drum_bus",
              "percussion",
              "bass_electric",
              "bass_acoustic",
              "bass_synth",
              "guitar_electric_clean",
              "guitar_electric_distorted",
              "guitar_acoustic",
              "guitar_nylon",
              "piano",
              "organ",
              "synth_pad",
              "synth_lead",
              "keys_other",
              "vocal_lead",
              "vocal_backing",
              "vocal_rap",
              "strings",
              "brass",
              "woodwinds",
              "instrumental",
              "ambient",
              "other"
            ],
            "description": "What is on the stem. kick = kick drum; snare = snare drum; hihat = hi-hat; toms = toms; overheads = drum overheads (cymbals and the whole kit from above); room_mics = drum room mics; drum_bus = all drums on one track (drum mix or drum loop); percussion = percussion (shaker, congas, claps, tambourine); bass_electric = electric bass guitar; bass_acoustic = upright or acoustic bass; bass_synth = synth bass or 808; guitar_electric_clean = clean electric guitar; guitar_electric_distorted = distorted or overdriven electric guitar; guitar_acoustic = acoustic guitar (steel strings); guitar_nylon = nylon-string or classical guitar; piano = piano; organ = organ; synth_pad = synth pad; synth_lead = synth lead; keys_other = other keys (Rhodes, e-piano, keyboard); vocal_lead = lead vocal (the main sung vocal); vocal_backing = backing vocals, harmonies or ad-libs; vocal_rap = rap vocal; strings = strings (violin, cello, string section); brass = brass (trumpet, trombone, horns); woodwinds = woodwinds (flute, sax, clarinet); instrumental = full instrumental or beat (everything but the vocals on one stereo track); ambient = ambience, effects, textures or noise; other = something else, or not sure."
          }
        },
        "required": [
          "stemId",
          "label"
        ]
      }
    }
  },
  "required": [
    "songId",
    "labels"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴mix_and_master(songId, preset, master)

Mixes an existing song's stems and masters the mix in one go (draft, final mix, master), for example to mix it again with another genre or mastering style; a song made with create_song is already set up for this. It waits for the uploads, the analysis and the person's "Labels are correct" in the studio, then starts by itself. The mastering style is the one the person names (streaming when they name none). The studio shows the progress and plays the result; a new mix replaces the earlier version made in the chat (downloaded versions and mixes made on the website stay).

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    },
    "preset": {
      "type": "string",
      "enum": [
        "streaming",
        "optimal",
        "loud"
      ],
      "description": "Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced (\"Standard\"); loud = maximum punch and loudness."
    },
    "master": {
      "description": "false = mix only, without a master (default true).",
      "type": "boolean"
    }
  },
  "required": [
    "songId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴start_mastering(songId, preset)

Masters the song's finished mix, or masters it again in another style (for example "louder": loud). The song needs a finished mix, from mix_and_master or an uploaded mix. The studio shows the progress and plays the new master, which replaces an earlier master made in the chat (downloaded ones stay).

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    },
    "preset": {
      "type": "string",
      "enum": [
        "streaming",
        "optimal",
        "loud"
      ],
      "description": "Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced (\"Standard\"); loud = maximum punch and loudness."
    }
  },
  "required": [
    "songId",
    "preset"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴adjust_mix(songId, changes, preset)

Changes a song mixed from stems the way the person asks after listening: a stem louder or quieter, muted or back in, more or less reverb, or placed left, center or right. One call takes all the changes for a song. Bandmixr then makes the mix and the master again with the changes (about as long as the first mix); the studio shows the progress and plays the new version, which replaces the earlier version made in the chat (downloaded versions and mixes made on the website stay). Stem ids, file names and the current settings come from get_song_status.

输入模式

{
  "type": "object",
  "properties": {
    "songId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The song id from list_songs or create_song."
    },
    "changes": {
      "minItems": 1,
      "maxItems": 64,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stemId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "The stem id from get_song_status."
          },
          "volumeDb": {
            "description": "The stem's new level against Bandmixr's own balance in dB: 0 = Bandmixr's balance, +3 = 3 dB louder, -6 = 6 dB quieter. It replaces the current value (get_song_status shows it), so \"a bit louder\" from +2 is +4. About 1 to 2 dB is \"a bit\", 3 to 4 dB \"clearly\", 6 dB \"a lot\".",
            "type": "number",
            "minimum": -24,
            "maximum": 12
          },
          "muted": {
            "description": "true = leave the stem out of the mix; false = bring it back.",
            "type": "boolean"
          },
          "reverb": {
            "type": "string",
            "enum": [
              "default",
              "none",
              "low",
              "medium",
              "high"
            ],
            "description": "How much reverb the stem gets. default = Bandmixr's own amount; none = no reverb (dry); low = less reverb than Bandmixr's amount; medium = more reverb than Bandmixr's amount; high = a lot of reverb."
          },
          "pan": {
            "type": "string",
            "enum": [
              "auto",
              "left",
              "center",
              "right"
            ],
            "description": "Where the stem sits from left to right. auto = Bandmixr places it; left = to the left; center = in the center; right = to the right."
          }
        },
        "required": [
          "stemId"
        ]
      }
    },
    "preset": {
      "description": "Mastering style for the new master; the current one if not given.",
      "type": "string",
      "enum": [
        "streaming",
        "optimal",
        "loud"
      ]
    }
  },
  "required": [
    "songId",
    "changes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本15 个工具