get_scaleGet the notes, intervals, and modes for any musical scale. Supports 20+ scale types including major, minor, pentatonic, blues, dorian, phrygian, lydia
get_chordGet the notes and intervals for any chord type. Supports triads, 7ths, 9ths, 11ths, 13ths, sus, aug, dim, and more (22+ chord types). [FREE]
identify_chordIdentify a chord from a set of note names. Returns all possible interpretations with root, type, and inversion. [PRO — requires CODEDSWITCH_API_KEY]
detect_keyDetect the most likely musical key from a set of observed notes. Returns top candidates with confidence scores. Useful for analyzing melodies or MIDI
resolve_progressionResolve a Roman numeral chord progression (e.g., I-V-vi-IV) to actual chord names and notes in a given key. [PRO — requires CODEDSWITCH_API_KEY]
suggest_next_chordSuggest what chord should come next based on common voice leading tendencies. Given a current chord and key, returns ranked suggestions. [PRO — requir
get_diatonic_chordsGet all 7 diatonic chords in a key with Roman numerals, chord symbols, and notes. [PRO — requires CODEDSWITCH_API_KEY]
get_genre_profileGet full genre intelligence: common chord progressions, scales, BPM range, instruments, rhythmic feel, swing amount, common keys, and mood descriptors
suggest_genreSuggest a genre based on BPM, key, mood, or scale. Returns ranked matches with reasoning. [PRO — requires CODEDSWITCH_API_KEY]
get_genre_rhythmsGet common drum/rhythm patterns for a genre. Returns kick, snare, and hi-hat step patterns ready to load into a beat maker. [PRO — requires CODEDSWITC
transpose_noteTranspose a single note up or down by a number of semitones. [FREE]
transpose_progressionTranspose an entire chord progression by a number of semitones. Takes an array of {root, type} objects. [PRO — requires CODEDSWITCH_API_KEY]
get_intervalGet the musical interval name between two notes (e.g., C to G = P5). [FREE]
We re-grade npm:music-theory-mcp on a schedule and alert your Slack/webhook the moment its tools change or its grade drops — rug-pull insurance for the connection.
Add the wmcp.sh trust oracle as an MCP server and call grade_mcp_server / check_mcp_drift in your agent's pre-connection gate:
https://wmcp.sh/mcp/trust
readOnly vs observed behavior) layer on via the wmcp.sh proxy.