Models hallucinate music theory in a way that sounds plausible and is not — wrong notes, invented Roman numerals, voicings that lead nowhere. This computes over pitch-class sets instead, so the same question returns the same correct answer, and the voice-leading score is a number rather than a claim.
A deterministic music theory engine behind a hosted API. It parses a chord symbol into root, quality, intervals and harmonic function, spells the notes enharmonically correctly, generates instrument-ready voicings with a voice-leading score, and reharmonises a progression using named jazz techniques.
- analyze_chord returns root, quality, intervals, extensions and harmonic function; given a key it adds the Roman numeral, scale degree and whether the chord is diatonic
- resolve_chord returns spelled note names, frequencies in Hz, MIDI numbers and recommended improvisation scales
- generate_voicing produces voicings in a named style — rootless, bill_evans, shell, triad, pad, guide-tones and drop voicings — and scores the voice leading against a previous voicing you pass in
- reharmonize returns one alternative per applicable technique, each with the new progression, the changes and a plain-English explanation; techniques include tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes and backdoor, or auto for everything that applies
- conduct_band arranges a four-piece band from a natural-language prompt and returns tempo and groove, four lanes of note events, a lead sheet and base64 MIDI
- Two companion binaries ship in the same package: thiri-conductor-mcp adds server-side rendering and playback, thiri-composition-mcp adds composition tools
Two ways in. Hosted: add https://mcp.thiri.ai/mcp as a custom connector and paste your sk_live_ key — no install. Local: the npm package @bluesprincemedia/thiri-mcp over stdio with THIRI_API_KEY in the environment. Free keys come from build.thiri.ai/developers. The conductor and composition binaries are desktop-only and run alongside the main server; rendering happens server-side, so no local Csound install is needed.
One command plus a key — claude mcp add thiri --env THIRI_API_KEY=sk_live_your_key -- npx -y @bluesprincemedia/thiri-mcp, then supply credentials
