Deterministic music-theory API + MCP for AI builders
Wrong notes, false Roman numerals, broken voice leading — hallucinated harmony costs dev time and user trust.
THIRI eliminates it: analyze any chord, get its Roman-numeral function, generate idiomatic voicings, and reharmonize whole progressions — over a REST API or an MCP server your agent calls directly. Computed from music theory, never guessed.
Tap a chord below and hear it — voiced, spelled, and explained. No signup, no key. Then build with the same engine.
Why not Music21 or Hook Theory?
Hook Theory tells you what songs did. Music21 tells you what a score contains. THIRI computes what's correct — deterministically, in milliseconds, for any AI agent.
| Tool | The question it answers | What it is |
|---|---|---|
| Hook Theory | "What chords do popular songs use?" | A crowdsourced database of ~75k song analyses with a statistics layer |
| Music21 | "What's inside this score I already have?" | A Python musicology library for parsing and analyzing notation |
| THIRI | "What is harmonically correct, and how do I voice it — right now?" | A deterministic computation engine, exposed as REST + MCP |
| Capability | THIRI | Music21 | Hook Theory |
|---|---|---|---|
| Parse arbitrary chord symbols (Cmaj7/E, G7#11, C13b9) | ✓any symbol, deterministic spelling | ~partial on altered & slash chords | ✕~28 common chords |
| Roman-numeral + harmonic function of your input | ✓computed, diatonic & chromatic | ~degrades beyond simple tonal scores | ✕returns song matches, not analysis |
| Generate voicings with voice-leading scoring | ✓style-aware, previous-notes-aware | ✕not a generation engine | ✕ |
| Reharmonize a progression | ✓first-class, 8 techniques | ✕you write the algorithm | ✕shows what other songs did |
| Agent-native — hosted MCP | ✓mcp.thiri.ai, Claude/Cursor-ready | ✕library — you build the wrapper | ~community wrapper only |
| Deterministic, reproducible output | ✓same input, same output — always | ✓for what it computes | ~probabilistic by design |
| Works without a score or database | ✓pure computation | ✕needs symbolic input | ✕database-dependent |
These aren't really competitors — a stack could use all three. Hook Theory answers descriptive questions, Music21 answers archival ones. THIRI is the only prescriptive engine: the correctness layer an agent calls when it needs to produce harmony, not retrieve it. When the music doesn't exist yet, there is nothing to look up — it has to be computed.
THIRI is to music theory what cURL is to HTTP — the layer so reliable that developers stop thinking about it and just build.
Every music AI app eventually gets a chord wrong and nobody on the team can hear it — THIRI is the engine that guarantees they never ship that moment.
It lets any AI agent comp like a jazz musician — correct voicings, correct spellings, correct reharmonizations — without needing a musician on the engineering team.
Generative models can build the audio, but they still need something to tell the model what Db7 actually is — that's THIRI.
Every music AI company is hand-rolling chord logic in a utils file somewhere — T.H.I.R.I. replaces that file with five endpoints and an MCP server that's already been tested against real charts in real keys.
Five REST endpoints. Analyze chords from symbols or notes, return Roman-numeral harmonic function, generate idiomatic voicings, reharmonize progressions, conduct arrangements into lanes and MIDI. Bearer auth, live at chords.thiri.ai. Free tier: 1,000 calls/mo.
See the APIOne-click hosted MCP — add mcp.thiri.ai/mcp to Claude or Cursor connectors, no install. Five tools your agent calls directly: analyze_chord, resolve_chord, generate_voicing, reharmonize, conduct_band. Or run it locally via npx — same key, same engine.
Hear reharmonization, conduct a band, run Helix, or sing through the vocoder — live in the browser. Same engine as the API.
Try the demosHear it now · no signup, no key
Each chord plays live in your browser and gets spelled out — its notes, its Roman-numeral function, and the scale it comes from. Computed from music theory the instant you tap, never guessed.
This is the same answer your code gets back from chords.thiri.ai — same notes, same function, same voicing logic. The toy and the API run the identical theory.