Thiri MCP Server

Deterministic music theory MCP server + REST API for AI builders — analyze chords, roman-numeral analysis, voicings, reharmonization, and conduct

Remote serverstreamable-http

What is the Thiri MCP server?

Most developer tooling work still happens through a UI a human drives. Thiri MCP server moves it into the conversation instead. Deterministic music theory MCP server + REST API for AI builders — analyze chords, roman-numeral analysis, voicings, reharmonization, and conduct, computed not guessed.

The short version

LLMs hallucinate music theory: wrong notes, fake roman numerals, voicings that don't voice-lead. THIRI is a deterministic engine (pitch-class-set theory over ℤ/12) behind a hosted API — so C7sus4 keeps its suspension, Caug spells C E G#, and "Coltrane changes on Dm7 G7 Cmaj7" returns Cmaj7 Ab7 Abmaj7 E7, every time.

The tools it exposes

The server publishes 5 tools. What each one is for:

  • analyze_chord — Chord → root, quality, intervals, roman numeral & harmonic function (secondary dominants, modal-interchange labels)
  • resolve_chord — Chord → spelled notes (enharmonically correct), frequencies, MIDI, scale recommendations
  • generate_voicing — Instrument-ready voicings (rootless/bill_evans, shell, triad, pad, guide-tones, drop-2/3); pass previousNotes for a voice-leading score
  • reharmonize — Progression reharmonization — 8 techniques: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant
  • conduct_band — Natural-language band conduct → lanes + MIDI (hosted MCP v0.3+)

What it needs from you

Configuration is passed through the environment: THIRI_API_KEY, YOUR_KEY, THIRI_API_URL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Getting it running

Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.

How it compares

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Thiri's toolset — analyze_chord, resolve_chord, generate_voicing and 2 more — is a fair guide to whether it matches your workflow. It is maintained by bluesrincemedia; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Things to watch

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
analyze_chordChord → root, quality, intervals, roman numeral & harmonic function (secondary dominants, modal-interchange labels)
resolve_chordChord → spelled notes (enharmonically correct), frequencies, MIDI, scale recommendations
generate_voicingInstrument-ready voicings (rootless/bill_evans, shell, triad, pad, guide-tones, drop-2/3); pass previousNotes for a **voice-leading score**; colorPreferences for explicit tensions
reharmonizeProgression reharmonization — 8 techniques: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (or auto)
conduct_bandNatural-language band conduct → lanes + MIDI (hosted MCP v0.3+)

How to install the Thiri MCP server

{
  "mcpServers": {
    "thiri": {
      "command": "npx",
      "args": ["-y", "@bluesprincemedia/thiri-mcp"],
      "env": { "THIRI_API_KEY": "sk_live_your_key" }
    },
    "thiri-conductor": {
      "command": "npx",
      "args": ["-y", "@bluesprincemedia/thiri-mcp", "thiri-conductor-mcp"],
      "env": { "THIRI_API_KEY": "sk_live_your_key" }
    },
    "thiri-composition": {
      "command": "npx",
      "args": ["-y", "@bluesprincemedia/thiri-mcp", "thiri-composition-mcp"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
THIRI_API_KEYCredential the server authenticates with.Yes
YOUR_KEYCredential the server authenticates with.Yes
THIRI_API_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Thiri to analyze chord.
  • Use Thiri to resolve chord.
  • Use Thiri to generate voicing.

Frequently asked questions

It connects Thiri to MCP-compatible AI assistants such as Claude and Cursor, exposing 5 tools (analyze_chord, resolve_chord, generate_voicing, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Thiri directly.