Skip to main content
Glama

Server Details

Check if two songs mix (Camelot key, BPM), read shared song DNA reports, tempo and nightcore math.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are cleanly separated: song_report fetches track data, check_mix judges compatibility, tempo_change and speed_pitch handle tempo/pitch math, camelot and transpose handle keys. The main soft overlaps are camelot vs transpose (both emit key names plus Camelot codes) and tempo_change vs speed_pitch (both report BPM/pitch effects), though the descriptions do clarify the different intents.

Naming Consistency4/5

All names are lowercase snake_case with a consistent, readable style. The only deviation is verb-first (check_mix, transpose) vs noun-first (camelot, song_report, speed_pitch, tempo_change), which is a minor inconsistency in an otherwise predictable scheme.

Tool Count5/5

Six tools is a tight, well-scoped set for a DJ key/tempo helper: each tool covers a distinct calculation or data lookup and none feels redundant padding.

Completeness4/5

The key/tempo/mix/analysis surface is well covered, including the report ingestion path and a link to generate matched audio. Minor gaps exist: no reverse Camelot-code-to-key lookup, no ability to build or sequence a harmonic set/playlist, and report creation is pushed to the website rather than being a tool.

Available Tools

6 tools
camelotCamelot code and compatible keysA
Read-onlyIdempotent
Inspect

Gives the Camelot wheel code for a key and the three other keys that mix cleanly with it (one step either way with the same letter, and the relative major or minor).

NameRequiredDescriptionDefault
keyYesMusical key: a name like "A minor", "Am", "F#m", "Bb major", "C", or a Camelot code like "8A".

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare it read-only, idempotent, deterministic and not open-world, so the safety profile is covered. The description adds genuinely new behavioral detail by explaining what is returned (the code plus three harmonically compatible keys) and the rule behind them, which is more than the annotations convey.

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

Conciseness4/5

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

One front-loaded sentence with no filler. The trailing parenthetical explaining the compatibility rule is slightly dense but earns its place by clarifying the output.

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

Completeness4/5

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

With one required parameter and no output schema, the description carries the job of describing the return value, which it does (code plus three compatible keys). It stops short of stating the concrete return shape (e.g., a list of codes) but is otherwise sufficient to call correctly.

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

Parameters3/5

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

Schema description coverage is 100% and already enumerates accepted formats ("A minor", "Am", "F#m", "Bb major", "C", "8A"). The description adds nothing about the key parameter, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: it yields the Camelot wheel code for a key plus the three mix-compatible keys. That is unambiguous and clearly distinct from the DJ-oriented siblings (check_mix, transpose, tempo_change), though it does not name or contrast any of them.

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

Usage Guidelines3/5

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

Usage is implied by the purpose — call it when you have a musical key and want its Camelot code or compatible keys — but there is no explicit when-to-use, when-not-to-use, or pointer to a sibling such as check_mix for validating a specific pair.

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

check_mixCheck if two songs mixA
Read-onlyIdempotent
Inspect

Decides whether two songs will mix well, from their keys and BPMs, using the Camelot wheel and DJ tempo limits (about 3% sounds natural, up to about 16% is usable, half and double time count). Returns a verdict, the tempo change in percent and the target BPM for track B, the smallest key shift in semitones if the keys clash, and a link to make the matched audio.

NameRequiredDescriptionDefault
bpm_aYesTrack A tempo in BPM.
bpm_bYesTrack B tempo in BPM.
key_aYesTrack A key. Musical key: a name like "A minor", "Am", "F#m", "Bb major", "C", or a Camelot code like "8A".
key_bYesTrack B key (the one that would be changed). Musical key: a name like "A minor", "Am", "F#m", "Bb major", "C", or a Camelot code like "8A".

TDQS

A4.3/5.0
Behavior5/5

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), and the description adds real domain behavior on top: the ~3% natural / ~16% usable tempo thresholds and the fact that half and double time count. It also enumerates what comes back, including a link to build the matched audio.

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

Conciseness4/5

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

The purpose is front-loaded in the first clause and the rest is dense, load-bearing detail about thresholds and return values. It is a long run-on listing several return fields, but with no output schema each clause carries information an agent needs.

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

Completeness5/5

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

For a four-required-param read-only computation with no output schema, the description covers purpose, domain thresholds, verdict semantics, and the shape of the response including the audio-matching link. Nothing needed to call or interpret it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds directional meaning the schema only implies: track B is the one being changed, so the returned target BPM and semitone shift apply to B. Key format and BPM ranges are left entirely to the schema, which is fine given full coverage.

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

Purpose4/5

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

The description names a specific verb and outcome ("Decides whether two songs will mix well") and states the exact inputs used (keys and BPMs) plus the method (Camelot wheel, DJ tempo limits). That clearly separates it from single-purpose siblings like camelot, tempo_change, or transpose, though it never names them explicitly, so it falls just short of the top mark.

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

Usage Guidelines4/5

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

"Decides whether two songs will mix well" implies the use case: a combined compatibility verdict rather than an individual key or tempo calculation. It gives no explicit when-not guidance or named alternatives, so it is clear context without exclusions.

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

song_reportRead a shared Zeltor song report (song DNA)A
Read-onlyIdempotent
Inspect

Reads the song DNA from a MusicMind report the person made on zeltorlabs.com and shared: key and Camelot code with the keys that mix with it, BPM, genre mix, section structure with energy, and production DNA (energy profile, mood, arrangement density, compression, biggest moments). Takes the share link (https://zeltorlabs.com/report/r/) or its code. Use the key and BPM with check_mix to compare it with another song. If the person has no report yet, they can make one free at https://zeltorlabs.com/analyze (the audio is analyzed in their browser).

NameRequiredDescriptionDefault
linkYesThe report share link, e.g. https://zeltorlabs.com/report/r/abc123def456, or its code.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-open-world), and the description adds the meaningful prerequisite that the report must have been made and shared, plus where the audio is analyzed. It does not cover failure modes (invalid/expired code, unshared or private report) or whether results are cached, so it stops short of full transparency.

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

Conciseness4/5

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

Front-loads the purpose and payload, then handles the mixing use case and the no-report fallback — all sentences carry weight. It is a dense, single-block paragraph, so the fallback prerequisite is easy to miss at the tail rather than being separated out.

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

Completeness5/5

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

No output schema exists, and the description compensates by enumerating the report's contents in detail. Combined with the single required parameter being fully documented, 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.

Parameters4/5

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

Schema coverage is 100% and already gives the link format with an example, so the baseline is 3. The description adds real value by explaining that either the full share URL or just its code is accepted and by pointing to the /analyze page where that code originates.

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

Purpose5/5

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

Opens with a specific verb+resource ("Reads the song DNA from a MusicMind report") and enumerates the returned content (key/Camelot, BPM, genre mix, sections, production DNA). An agent can distinguish it from siblings like check_mix or camelot without opening a schema.

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

Usage Guidelines5/5

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

Explicitly routes downstream use to check_mix ("Use the key and BPM with check_mix to compare it") and states the precondition for use (the person must have made and shared a report), including the fallback URL to create one. Nothing about when to pick this versus a sibling is left to inference.

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

speed_pitchNightcore or slowed settingsA
Read-onlyIdempotent
Inspect

For a nightcore (faster and higher) or slowed (slower and lower) version: the pitch change in semitones for a speed, the new BPM if given, and typical settings. Defaults: nightcore 1.25x, slowed 0.80x.

NameRequiredDescriptionDefault
bpmNoOriginal tempo, to report the new BPM.
speedNoPlayback speed, e.g. 1.25 for 25% faster or 0.8 for 20% slower.
styleNoWhich effect; sets the default speed.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare this as read-only, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds useful behavioral context by saying what is returned (pitch change in semitones, new BPM if given, typical settings) and what the default speeds are, though it omits any formula or rounding details.

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

Conciseness4/5

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

The definition is compact and front-loads the use case before listing the outputs and defaults. The colon-separated list is dense but readable, with no redundant sentences.

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

Completeness4/5

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

With only three optional parameters, no output schema, and read-only annotations, the description is complete enough to call correctly: it explains the computed outputs and default speeds. A minor gap is that it does not clarify precedence when both style and speed are supplied.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by linking style to a default speed and clarifying that BPM is used to report the new tempo, which helps an agent understand how the optional parameters interact.

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

Purpose4/5

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

States the specific effects (nightcore/slowed) and the computed outputs: semitone pitch change, new BPM, and typical settings. It is clearly identifiable as a calculation helper, but it does not explicitly distinguish itself from the closest siblings transpose and tempo_change.

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

Usage Guidelines3/5

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

The phrase 'For a nightcore ... or slowed ... version' implies the intended use case, and the default speeds give practical guidance. However, there is no explicit when-not guidance or routing to alternatives like transpose or tempo_change, which overlap with pitch and tempo changes.

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

tempo_changeTempo change between two BPMsA
Read-onlyIdempotent
Inspect

Percent change and playback rate to go from one BPM to another, how noticeable it will sound, the pitch change if it is not time-stretched, and the half and double time of the target.

NameRequiredDescriptionDefault
to_bpmYesTarget tempo in BPM.
from_bpmYesCurrent tempo in BPM.

TDQS

A3.8/5.0
Behavior4/5

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), and the description adds what the annotations cannot: the actual computed outputs, including a qualitative 'how noticeable it will sound' judgement and pitch drift under non-time-stretched playback. That is genuinely useful behavioral context for a pure-calculation tool.

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

Conciseness4/5

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

One dense sentence with no filler, and the primary output (percent change and playback rate) is front-loaded ahead of the secondary derived figures. It is a sentence fragment, but nothing is wasted.

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

Completeness5/5

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

There is no output schema and no annotations gap to cover, so the description must enumerate return values itself, which it does across four distinct result categories. For a 2-parameter deterministic calculator, an agent has everything needed to call it and interpret the response.

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

Parameters3/5

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

Schema coverage is 100% and both parameters carry their own descriptions with min/max bounds, so 'from one BPM to another' merely restates from_bpm/to_bpm. Baseline 3 applies; the description adds no unit, format, or edge-case semantics beyond the schema.

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

Purpose4/5

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

The description names a specific resource: percent change and playback rate between two BPMs, plus derived figures (noticeability, pitch drift, half/double time). It is a noun-phrase list rather than a verb statement, but an agent can still tell this is a tempo-math calculator and distinguish it from siblings like transpose or camelot.

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

Usage Guidelines3/5

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

Usage is only implied: the mention of 'pitch change if it is not time-stretched' hints that speed_pitch handles the time-stretch case, but the description never says when to choose this tool over speed_pitch or check_mix, nor does it state any exclusions or prerequisites.

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

transposeTranspose a keyA
Read-onlyIdempotent
Inspect

Moves a key up or down by semitones and gives the new key name and Camelot code, with a note on how natural the shift will sound.

NameRequiredDescriptionDefault
keyYesMusical key: a name like "A minor", "Am", "F#m", "Bb major", "C", or a Camelot code like "8A".
semitonesYesSemitones to move, negative is down.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is fully covered. The description earns credit beyond that by disclosing the return contents — new key name, Camelot code, and a qualitative naturalness note — which is meaningful since no output schema exists.

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

Conciseness5/5

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

A single front-loaded sentence that covers the operation, the inputs' effect, and the outputs with zero filler. Nothing is repeated from the schema or annotations.

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

Completeness5/5

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

With only two fully documented parameters, rich annotations, and no output schema, the description supplies exactly the missing piece: what the tool returns. An agent has everything needed 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.

Parameters3/5

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

Schema coverage is 100% and the schema already documents both parameter shapes in detail (accepted key formats, negative-is-down, ±12 bounds). The description's 'up or down by semitones' merely restates the schema's semitone semantics, adding no format or boundary detail of its own, so baseline 3 is correct.

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

Purpose4/5

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

States a specific verb and resource ('Moves a key up or down by semitones') and even previews the outputs (new key name, Camelot code, naturalness note). It doesn't explicitly distinguish itself from the sibling `camelot` tool, which presumably also deals with Camelot codes, so an agent might briefly wonder which to pick for a key-to-code conversion.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance, and no named alternatives. Usage is strongly implied by the transposition semantics, but the sibling `speed_pitch` also alters pitch (and therefore key), and the description never clarifies which tool to reach for in that overlap.

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

Tool Schema Changelog

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

  1. 6 tool updates
    • First observedcamelot
    • First observedcheck_mix
    • First observedsong_report
    • First observedspeed_pitch
    • First observedtempo_change
    • First observedtranspose

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Locally converts a known BPM into per-beat, eighth-note, sixteenth-note, and bar durations, compares two reported tempos to flag possible half/double-time interpretations, and lists nearby Camelot codes for a key estimate. Runs over stdio with no audio, account, or network access required.
    4
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables DJs to calculate set runtime from cue points and transitions in provided track JSON, and to rank next-track candidates with explainable bpm, key, genre, energy scoring and warnings.
    2
    1
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables DJs to retrieve BPM, key/Camelot, energy, and other track metadata with provider provenance, score transitions, plan setlists, and control Spotify playlists and playback with staged, revalidated writes for safety.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources