Bandmixr
Server Details
AI mixing and mastering in the chat: check a song, mix your stems, change the mix in plain words.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 15 tools
Several tools overlap around mastering and the studio: master_song, start_mastering, mix_and_master, and prepare_full_master all touch mastering or opening the studio, and create_song/open_song_studio/master_song each 'open the studio.' Descriptions give context (e.g. stereo-mix vs stem-mix, internal vs assistant-called), so an attentive agent can separate them, but the boundaries are genuinely fuzzy.
Consistent verb_noun snake_case throughout: adjust_mix, check_mix, create_song, get_song_status, list_songs, master_song, set_stem_labels, start_mastering, update_song. Even the compound ones (mix_and_master, open_song_studio, prepare_full_master) follow the same readable pattern.
15 tools is reasonable for a mix/mastering workflow with account, session, and status management. Slightly heavy because three tools (get_analyzer_session, get_song_session, prepare_full_master) are explicitly internal/driver-called and inflate the surface the assistant must reason about.
Strong lifecycle coverage: create, list, status, update, label setting, mixing, mastering, adjusting, and analysis are all present. The notable gap is no delete_song/removal operation, but core mixing workflows have no dead ends.
Available Tools
15 toolsadjust_mixChange the mixADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | Mastering style for the new master; the current one if not given. | |
| songId | Yes | The song id from list_songs or create_song. | |
| changes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses rich behavior beyond the annotations: it re-makes both the mix and the master, takes roughly as long as the first mix, progress is shown in the studio, and the new version replaces the prior chat-made version while downloaded versions and website-made mixes are preserved. This operational and side-effect detail goes well past the destructiveHint=true annotation and confirms it.
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?
Purpose and mapping are front-loaded in the first sentence, and the behavioral caveats follow. Sentences are somewhat dense and long, but nearly every clause carries concrete information rather than filler.
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 destructive, non-idempotent mutation tool with no output schema, the description covers what is changed, that it is a batch operation, timing, replacement semantics, and the data source for inputs. It does not describe the immediate return value (e.g., whether it hands back a session/progress id), which is the main remaining gap.
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 67% and the description adds meaning: it maps the natural-language requests to the volumeDb/muted/reverb/pan parameters and states that stem ids, file names, and current settings come from get_song_status. It does not, however, mention the 'preset' parameter, leaving that field to the schema 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?
States a specific verb+resource: changing a song's mix by adjusting stems (louder/quieter, muted/unmuted, reverb, pan). The description enumerates exactly the operations and clearly separates this from siblings like mix_and_master, master_song, and check_mix by framing it as post-listening fine-tuning of an existing mix.
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?
Conveys when to use it (after listening, to apply the person's requested changes) and notes that one call batches all changes for a song, plus where to get stem ids (get_song_status). It does not explicitly name an alternative to use instead (e.g., mix_and_master for a fresh mix) or state exclusions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_mixCheck a mixARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | 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). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (read-only, idempotent, non-destructive, closed-world). The description adds genuinely valuable behavior the annotations cannot convey: the file is not uploaded and analysis happens in the browser, the six dimensions examined, that each gets a verdict, and that a 30-second mastered preview is produced.
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?
Two front-loaded sentences with no filler: the first establishes what opens, the second enumerates what is checked and returned. Every clause carries 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?
With no output schema, the description correctly substitutes by listing the analysis dimensions, verdicts, and the mastered preview, and the privacy behavior is explicit. What it omits is persistence: it is unclear whether a session is created that get_analyzer_session can later retrieve, or how the analysis result is accessed afterwards.
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% and the single enum parameter is fully documented in-schema, so the baseline is 3. The description never mentions the genre parameter or explains that it presumably sets the tonal-balance target curve, which is a missed opportunity rather than a gap.
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 names a specific resource (the Bandmixr Mix Analyzer) and states exactly what it assesses: loudness, true peak, clipping, stereo image and tonal balance. It also scopes the subject ('checks a mix or master'), which cleanly separates it from the mastering and adjustment siblings.
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?
Usage is only implied — an agent can infer this is the diagnostic step before mastering, and that it applies to both mixes and masters. There is no explicit statement of when to prefer it over siblings like start_mastering, master_song, or adjust_mix, and no mention of the analyzer session that the sibling get_analyzer_session implies is created.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_songCreate a songAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mix | No | false = upload now, mix later (default true: mix once the labels are confirmed). | |
| genre | No | 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). | |
| title | No | The song's name, as the person calls it. | |
| preset | No | Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced ("Standard"); loud = maximum punch and loudness. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-idempotent, non-destructive, closed-world, so the description adds real value on top: it discloses the side effect of opening the studio, the automatic sequencing (mix/master begin once stems are uploaded and labels are confirmed in the studio), and the fallback genre/preset values when the user names none. It stops short of describing failure modes or what the returned session looks like, but the added context is substantive.
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 creation action and its consequence are front-loaded in the first sentence, and each following sentence adds operational detail rather than filler. The third sentence is slightly wordy ('Mixing and mastering are part of it'), but nothing is redundant and no useful information is padded out.
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?
With no output schema and no required parameters, the description carries the burden of explaining the post-creation flow, and it does: studio opens, upload box appears, mixing/mastering auto-start after upload and label confirmation. It omits which follow-up tools the agent should expect to call (set_stem_labels, check_mix, start_mastering), which would have made the lifecycle fully self-contained.
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 schema already defines all four parameters and their enum meanings, which sets a baseline of 3. The description goes beyond that by stating the runtime defaulting behavior for genre and preset ('other and streaming when they name none'), which is not encoded anywhere in the schema and directly affects how the agent should call the tool.
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 gives a specific verb and resource ('Creates a new song in Bandmixr') plus the immediate consequence ('opens the studio with its upload box'), which separates it from siblings like get_song_session or list_songs. It does not, however, explicitly contrast itself with open_song_studio or mix_and_master, so the differentiation is only implied.
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?
Usage is implied rather than stated: the tool is for starting a fresh song whose stems will be uploaded, and the defaults ('other and streaming when they name none') indicate behavior when arguments are omitted. There is no explicit when-not-to-use guidance or named alternative for working on an existing song (e.g. open_song_studio), leaving the agent to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountShow my Bandmixr accountARead-onlyIdempotentInspect
Shows the connected Bandmixr account's plan and its limits (stems per song, song length, storage). Needs the person to connect their Bandmixr account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the meaningful extra: the account must be connected, i.e. an auth/connection prerequisite an agent cannot infer from the schema (which is empty). That is real value beyond 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?
Two short sentences, both front-loaded with the most useful information (what it returns, then the prerequisite). No filler, no restatement of the title or annotations.
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?
With no output schema and no input parameters, the description carries the return-value burden and does so by enumerating plan, stems-per-song, song length and storage. Combined with annotations covering the safety profile and the stated connection prerequisite, an agent has everything needed to call 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 zero parameters, so there is nothing for the description to disambiguate; per the rubric this is the baseline 4. No parameter confusion is possible.
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?
States a specific verb ('Shows') and resource (the connected Bandmixr account), and further specifies the payload: plan and its limits (stems per song, song length, storage). None of the sibling tools (song/mix/mastering operations) overlap with account inspection, so the agent can route to it unambiguously.
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?
Adds a prerequisite — 'Needs the person to connect their Bandmixr account' — which tells the agent a precondition for a useful call. However, it never states when to reach for this tool versus siblings (e.g. before creating songs to check plan limits), leaving usage context implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analyzer_sessionGet studio sessionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), but the description adds real behavioral context beyond them: a 30-minute ticket lifetime, the 30-second mastered preview flow, and the fact that the studio invokes it autonomously. It stops short of describing the ticket/address format or how the assistant should consume 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?
Two sentences, zero waste, front-loaded with what is returned and followed by the routing note. Every clause earns its place.
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?
With no output schema, the description carries the burden of explaining returns and does so (ticket plus preview service address). It omits the concrete shape of those values and how a caller would use them, but for a tool the assistant is told not to call, this is nearly complete.
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 there is nothing for the description to disambiguate; the baseline for a zero-parameter tool applies. No parameter meaning is needed or missing.
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?
States a specific verb and resource: it returns a 30-minute ticket plus the Bandmixr preview service address. It is clear what the tool produces, though it does not explicitly contrast itself with the similarly named sibling get_song_session.
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 explicitly gives when-not-to-use guidance: 'The studio calls this tool on its own; the assistant does not need to call it directly.' This directly steers the agent away from invoking it, which is exactly the routing guidance a definition should supply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_song_sessionStart a studio session for a songARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| songId | Yes | The song id from list_songs or create_song. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds genuinely new behavior: the ticket lifetime (15 minutes), the consuming client (the studio in the chat), and the downstream actions it enables. No contradiction with the read-only/idempotent 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?
Two sentences, front-loaded with the return value and terminating on the actionable routing instruction. The middle clause is compound (three separate studio uses) but each clause carries information; nothing is filler.
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?
With no output schema, the description carries return-value explanation and does so at a useful level (a 15-minute ticket, not a session object). Combined with annotations covering safety and a fully documented single parameter, an agent has what it needs, though the ticket's form/consumption contract is left implicit.
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?
There is a single parameter and schema description coverage is 100%, with songId already documented as coming from list_songs or create_song. The description adds no syntax or constraint detail beyond that, so the baseline 3 applies.
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 concrete outcome: returning a 15-minute ticket for one of the person's songs, plus what the studio does with it (upload stems, label check, progress, playback). It is clear on its own, but it never distinguishes itself from the similarly named sibling open_song_studio, and the name/title mismatch ('get' vs 'Start a session') leaves residual ambiguity about the verb.
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 an explicit when-not: 'The studio calls this tool on its own; the assistant does not need to call it directly,' which is exactly the routing signal an agent needs. It does not name an alternative for cases where the assistant does need a session (e.g. open_song_studio), so it stops short of full when/alternative coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_song_statusGet song statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| songId | Yes | The song id from list_songs or create_song. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so safety is covered. The description adds real behavioral payload context beyond that: it tells the agent the tool surfaces in-progress work ('uploads and analysis still running') and downstream stages (mix/master), which is exactly what an agent needs to interpret the result given no 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?
A single sentence enumerating the returned facets in a logical order (stems → in-flight jobs → confirmation → mix/master). No wasted words, though it is a verbless fragment that leans on the tool name for its action.
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?
With no output schema, the description carries the return-shape burden and does so by listing the status fields an agent will receive. Combined with annotations covering safety, an agent has enough to call this correctly; only sibling disambiguation 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 description coverage is 100% and songId's schema description already tells the agent to source the id from list_songs or create_song. The description adds nothing about the parameter, but with a single fully documented param this is the expected baseline.
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 names a specific resource (one song) and enumerates the exact status facets returned: stems/labels, in-flight uploads and analysis, label confirmation, and mix/master progress. It implies single-song scope versus a list, but never explicitly distinguishes itself from close siblings like get_song_session or check_mix.
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?
There is no explicit when-to-use, no prerequisites, and no mention of alternatives, despite get_song_session, check_mix, and get_analyzer_session all appearing to be adjacent status-checking tools. Usage is only inferable from the description of what data comes back.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_songsList my songsBRead-onlyIdempotentInspect
Lists the person's Bandmixr songs, most recently changed first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds one useful behavior beyond them (results ordered most-recently-changed first) but says nothing about pagination, result caps, or what a song record contains.
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?
A single short sentence that front-loads the verb and resource and appends the one non-obvious fact (ordering). No filler or restated annotation 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 simple read-only list tool this is largely adequate, but with no output schema and no pagination or result-size hint, an agent cannot tell whether it receives all songs or a limited page. One clause on return scope would close the gap.
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 zero parameters, so there is nothing for the description to disambiguate and the schema is trivially complete. The baseline for a parameterless tool is 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?
States a specific verb (Lists) and resource (the person's Bandmixr songs) plus the sort order, which is more than a tautology. It implicitly distinguishes itself from single-song siblings like get_song_status or get_song_session, but never names or contrasts them explicitly.
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 is purely declarative: it never says when to call this instead of get_song_status, get_song_session, or search-style alternatives. With 14 siblings covering different song operations, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
master_songMaster a songARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | 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 | No | Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced ("Standard"); loud = maximum punch and loudness. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety bar is low; the description still adds real behavioral context — an in-chat browser session, the specific checks performed, a 30-second preview beside the original, and an account requirement for full mastering. It stays silent on what artifact (if any) is produced, but the workflow disclosure is genuinely useful.
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, front-loaded with the action and then the resulting experience; no filler. Slightly over-detailed on the preview mechanics relative to the sibling-routing gap, but appropriately sized overall.
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 no-required-param, annotation-covered, fully-documented-schema tool, the description is largely adequate, and the missing output schema means return values needn't be explained. What is missing is disambiguation from the crowded mastering sibling set and whether the preview produces a persistent mastered file.
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%, with both enum parameters (genre, preset) fully documented in the schema, so the baseline is 3. The description mentions neither parameter and adds no meaning beyond what the schema already conveys.
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?
States a specific verb+resource: it opens the Bandmixr studio to master or enhance a finished stereo mix, and it describes the concrete flow (browser check of loudness/peaks/stereo/tonal balance, 30-second preview). However, it never distinguishes itself from close siblings like start_mastering, open_song_studio, mix_and_master, or prepare_full_master, so an agent has to guess where this fits.
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?
Usage is only implied through the input condition 'a finished song (a stereo mix)' and the note that full mastering requires a Bandmixr account. There is no explicit when-to-use/when-not guidance and no routing to the obviously overlapping mastering siblings, leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mix_and_masterMix and master a songADestructiveInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| master | No | false = mix only, without a master (default true). | |
| preset | No | Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced ("Standard"); loud = maximum punch and loudness. | |
| songId | Yes | The song id from list_songs or create_song. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations (destructiveHint, non-idempotent) by disclosing the destructive scope precisely: a new mix replaces the earlier chat-made version, but downloaded versions and website mixes survive. It also documents the automatic trigger, the default mastering style (streaming when none named), and that progress/result surface in the studio.
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?
Front-loads the core action and stages in the first clause, then layers preconditions and side effects. Sentences are dense but each carries usable information; the long parenthetical at the end is slightly heavy but earns its place by scoping what gets overwritten.
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?
With no output schema, the description still tells the agent where the result appears (studio shows progress and plays the result) and what state changes occur. Combined with the trigger conditions and defaults, 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?
Schema coverage is 100%, so the schema already documents songId, master and the preset enum values. The description adds only the default behavior for preset ('streaming when they name none'), which is a marginal gain over the schema; the baseline 3 applies.
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?
States a concrete verb+resource+scope: mixes an existing song's stems and masters the mix, with the stage list (draft, final mix, master). It is clearly distinguishable from a plain master operation, though it never names the adjacent siblings master_song, start_mastering or adjust_mix, which is the only thing keeping it from a 5.
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?
Gives real preconditions ('a song made with create_song is already set up for this') and the trigger sequence: it waits for uploads, analysis, and the person's 'Labels are correct' before starting by itself. It also gives a use case (re-mixing with another genre or mastering style). It stops short of explicitly excluding sibling tools like adjust_mix or master_song.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_song_studioOpen a song in the studioARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| songId | Yes | The song id from list_songs or create_song. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real context beyond them: the studio is state-dependent, surfacing one of several possible views, and it discloses a role constraint ('only the person can confirm labels there'), which is genuine behavioral information not present in 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?
Two sentences, front-loaded with the core action before the state enumeration. The list of four possible views is dense but each element earns its place by telling the agent what the opened surface may display.
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?
No output schema exists, so the description must carry the burden of what the caller gets back, and it does so by describing the four possible studio views. It is nearly complete for a UI-opening tool; the only missing piece is clarification of how this differs from the sibling session/status tools.
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?
With a single required parameter at 100% schema description coverage, the schema already explains songId and even points to list_songs/create_song as sources. The description adds no format, range, or sourcing detail beyond that, so baseline 3 applies.
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?
States a specific verb ('Opens') and a specific resource ('the Bandmixr studio for a song in the chat'), making the action unambiguous. It does not explicitly differentiate itself from similarly named siblings such as get_song_session or get_song_status, so an agent must infer the boundary.
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 when the tool is useful by enumerating the studio's possible states (upload box, label check, mix progress, player), but it never states when to choose this over get_song_session or get_song_status, nor any prerequisite conditions. Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_full_masterPrepare mastering of the full songAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | 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). | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the mutation profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false); the description adds genuinely new behavior: a new song record is created and the return is a short-lived (expiring) upload ticket. It does not cover permissions or what happens if the ticket expires, but the added context is real.
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?
Two sentences, front-loaded with the action and the returned artifact, with the caller guidance second. Slightly wordy in the second sentence but nothing is wasted.
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?
No output schema exists, and the description usefully summarizes the return value (a short-lived ticket for uploading). Combined with the caller guidance, an agent has enough to decide correctly, though expiry handling and the relationship to the subsequent mastering step are left implicit.
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 50%: genre is exhaustively documented in the schema, while title has no description. The description only hints that the title derives from the file the person checked in, which slightly clarifies the required param but adds no genre guidance beyond the 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 states a concrete verb and resource (creates a new song, returns an upload ticket) and adds the outcome (enables mastering the full song). It is clear what the tool does, though it never names the closely related siblings (create_song, master_song, start_mastering) to disambiguate.
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 studio calls this tool when the person chooses to master the full song" gives an explicit trigger condition, and "the assistant does not need to call it directly" gives an explicit non-use case. What is missing is routing against alternatives like master_song or start_mastering, which an agent could otherwise confuse it with.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_stem_labelsSet stem labelsADestructiveIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| labels | Yes | ||
| songId | Yes | The song id from list_songs or create_song. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=true, so the safety profile is covered. The description adds genuinely non-obvious workflow context beyond that: this call does not confirm labels and a human must confirm them in the studio before mixing, preventing an agent from assuming the labeling is final.
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?
Two sentences, both earning their place, with the action stated first and the confirmation caveat second. Slightly awkward phrasing ('what is on each stem from what the person says') costs a little, but there is no filler.
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, no-output-schema tool the description covers the action, the input provenance, and the downstream human-confirmation gate. It omits what the call returns and whether existing labels are overwritten, which is a minor gap given the destructiveHint annotation.
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 50% at the top level, but the labels enum and its item description are unusually rich, and songId is documented. The description adds only the provenance detail that stemId/file names come from get_song_status; it does not explain batching, ordering, or what happens to previously set labels. 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?
States a specific verb+resource ('Sets what is on each stem') and the source of truth for the input ('what the person says about their files'), plus names get_song_status as the origin of stem ids. It is clearly distinguishable from mixing/mastering siblings, though it doesn't explicitly contrast with them.
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?
Gives clear context for use: call it after get_song_status to obtain stem ids and file names, and note that human confirmation ('Labels are correct' in the studio) is a separate later step. No alternative tool is named because none competes, but no explicit when-not guidance is given either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_masteringMaster a mixed songADestructiveInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| preset | Yes | Mastering style. streaming = optimized for Spotify and Apple Music; optimal = balanced ("Standard"); loud = maximum punch and loudness. | |
| songId | Yes | The song id from list_songs or create_song. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already flag destructiveHint=true and idempotentHint=false, and the description usefully explains exactly what is destroyed: an earlier chat-made master is replaced while downloaded ones survive. It also says progress is visible in the studio, but does not address cost, duration, or why the call is non-idempotent.
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, front-loaded with the action, then prerequisites, then side effects. Every sentence carries information; only the parenthetical style example is slightly redundant with the enum.
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?
Prerequisites, replacement behavior, and where the result appears (studio progress playback) are all covered, and there is no output schema requiring return-value explanation. Minor gaps remain around failure modes and relationship to the other mastering siblings.
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 preset enum already documents streaming/optimal/loud, so the schema does the heavy lifting. The description only adds a loose example of a style name ('louder': loud), which is marginal added value.
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?
States a specific verb (masters) and resource (the song's finished mix), and adds the re-mastering case. It does not explicitly differentiate itself from the similar siblings master_song, prepare_full_master, or mix_and_master, so an agent must infer the distinction from the prerequisite wording.
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?
Preconditions are stated plainly: the song needs a finished mix from mix_and_master or an uploaded one, and the tool can be re-run to produce another style. It narrows usage well but never explicitly says when to pick this over master_song or prepare_full_master.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_songRename a song or change its genreADestructiveIdempotentInspect
Changes the title or the genre of a song (not while it is being mixed).
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | 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). | |
| title | No | The song's name, as the person calls it. | |
| songId | Yes | The song id from list_songs or create_song. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=true), and the description adds a state precondition not present in structured data, which is genuine value. It does not explain why a rename is flagged destructive or what happens to the untouched field, leaving a small gap.
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?
A single front-loaded sentence that states the operation and its gating constraint with zero redundancy or filler.
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 no-output-schema mutation the description is serviceable but omits two things an agent needs: that title and genre are both optional yet at least one must be supplied (only songId is required), and any indication of what the destructiveHint implies for existing song data.
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%, including a fully enumerated genre list and the provenance of songId ('from list_songs or create_song'), so the schema carries the parameter burden. The description adds no format or constraint detail beyond it, which is the expected baseline.
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?
States a specific verb and resource ('Changes the title or the genre of a song') and clearly distinguishes the mutation from siblings like create_song or list_songs. It does not, however, explicitly contrast itself with any sibling by name, so an agent must infer it is the only rename/edit path.
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?
Provides an explicit when-not condition: editing is disallowed 'while it is being mixed,' which is actionable gating guidance. No alternative tool is named for the blocked case, so the agent is left to guess what to do instead of waiting.
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.
15 tool updates
- First observed
adjust_mix - First observed
check_mix - First observed
create_song - First observed
get_account - First observed
get_analyzer_session - First observed
get_song_session - First observed
get_song_status - First observed
list_songs - First observed
master_song - First observed
mix_and_master - First observed
open_song_studio - First observed
prepare_full_master - First observed
set_stem_labels - First observed
start_mastering - First observed
update_song
Related MCP Connectors
- mozonicOAuthcom.mozonic
AI mixing and mastering: analyze your mixes, run DSP autofix, render stems, and master tracks.
AI music production assistant — audio profiling, AI mixing sessions, and service inquiries.
- VocunoOAuthcom.vocuno
AI music studio: song generation with vocals, covers, stems, voice conversion, mastering, editing.
Audio mastering for AI agents: LUFS/True Peak targets, Suno/Udio AI-fingerprint removal.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI models to read and edit your own BandLab songs via natural-language prompts, performing concrete mix operations like adjusting track levels, pan, effects, and arrangement while creating new non-destructive revisions.86 npm2MIT
- AlicenseNot gradedqualityBmaintenanceAI-powered music production toolkit enabling AI agents to generate, remix, separate stems, master tracks, and control DAWs via MCP.1MIT
- AlicenseNot gradedqualityBmaintenanceAn AI stem separation and audio restoration partner for Ultimate Vocal Remover (UVR5). Speak in natural language to extract vocals, drums, bass, guitar and piano, combine separation models and clean up recordings, then bring the resulting stems back to your DAW. Your audio stays on your computer.1AGPL 3.0
- AlicenseAqualityCmaintenanceAI control for FL Studio via the Model Context Protocol — full in-DAW mixing (Mix Doctor diagnosis, gain staging, EQ/compression/reverb, reference matching), routing, and composition through Claude and any MCP client. 67 tools. Windows.6733 PyPI83MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.