Deterministic music-theory API + MCP for AI builders

Your AI hallucinates chords. THIRI returns the correct ones.

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?

Three tools. Three different questions.

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.

ToolThe question it answersWhat 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
CapabilityTHIRIMusic21Hook 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.

POST /v2/resolve { "chord": "Cm7" } { "notes": ["C","Eb","G","Bb"], "midi": [60,63,67,70], "scales": [{"name":"Dorian","role":"primary"}] }
For Developers

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 API
{ "mcpServers": { "thiri": { "command": "npx", "args": ["-y", "@bluesprincemedia/thiri-mcp"] } } }
For Agent Builders

One-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.

MCP Quickstart
Play THIRI

Hear reharmonization, conduct a band, run Helix, or sing through the vocoder — live in the browser. Same engine as the API.

Try the demos

Hear it now · no signup, no key

Tap a chord. Hear THIRI voice it.

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.

Cmaj7 Imaj7
Notes CEGB
Scale CDEFGAB
Mode C Ionian

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.

Play the full instruments Make your own with AI Get a free key API & MCP docs
See the API MCP Quickstart