# BluesPrince/thiri-mcp [Health: Active]

**Category:** 🎨 Art & Culture  
**Repository:** https://github.com/BluesPrince/thiri-mcp  
**GitHub Stars:** 12  
**npm Downloads (last month):** 227  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/bluesprince-thiri-mcp

## Description
Deterministic music-theory server: chord & Roman-numeral analysis, voicing, and reharmonization — computed, not hallucinated. Hosted at mcp.thiri.ai, no third-party account required. npx @bluesprincemedia/thiri-mcp

## Tools
Capabilities this server exposes over MCP:

- **analyze_chord** — Parse a chord symbol into its root, quality, intervals, extensions, and harmonic function. When a key is provided, returns the Roman numeral, scale degree, and whether the chord is diatonic.
- **resolve_chord** — Resolve a chord symbol to spelled note names, frequencies in Hz, MIDI numbers, and recommended improvisation scales.
- **generate_voicing** — Generate instrument-ready voicings for a chord in a specified style. Pass previousNotes (or a previousVoicing object) from an earlier result to get a voiceLeadingScore for the transition. Styles: rootless, bill_evans, shell, triad, pad, guide-tones, guide-tone-1, guide-tone-2, both-guide-tones, drop-2, drop-3.
- **reharmonize** — Reharmonize a chord progression using jazz techniques. Returns one alternative per applicable technique, each with the new progression, the changes, and a plain-English explanation. With technique 'auto' (default) it returns every technique that applies. Techniques: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor. (modal_interchange and backdoor require a key.)
- **conduct_band** — Arrange a 4-piece band from a natural-language prompt. Returns conductor tempo/groove, 4 lanes of note events, lead sheet, and base64 MIDI. Browser/client synthesizes audio via Csound; use thiri-conductor-mcp locally to render WAV.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "thiri-mcp": {
    "command": "npx",
    "args": ["-y","@bluesprincemedia/thiri-mcp"],
    "env": {
      "THIRI_API_KEY": "",
      "THIRI_API_URL": ""
    }
  }
}
```

**Requires environment variables:** `THIRI_API_KEY`, `THIRI_API_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What BluesPrince/thiri-mcp MCP server does

BluesPrince/thiri-mcp MCP server connects an MCP client to THIRI’s hosted music-theory API. Its core operations cover chord-symbol analysis, note and pitch resolution, voicing generation, progression reharmonization, and four-piece band arrangement. Results are structured for agent workflows instead of being limited to prose explanations.

Chord analysis can identify a root, quality, intervals, extensions, harmonic function, Roman numeral, scale degree, and diatonic status when a key is supplied. Resolution adds spelled notes, frequencies in hertz, MIDI numbers, and recommended improvisation scales. This makes the server suitable for checking generated chord charts or extracting usable musical data.

## How it works

The MCP tools send requests to the THIRI API. The hosted MCP endpoint is `https://mcp.thiri.ai/mcp`, while the package can also run through `npx @bluesprincemedia/thiri-mcp`. Authentication uses a THIRI bearer key. The API base defaults to `https://chords.thiri.ai` and can be overridden for local development.

`generate_voicing` accepts a chord and style such as rootless, Bill Evans, shell, triad, pad, guide tones, drop-2, or drop-3. Supplying notes or a previous voicing from an earlier result enables a voice-leading score for the transition. `reharmonize` can apply techniques including tritone substitution, ii–V insertion, modal interchange, diminished passing chords, secondary dominants, chains of dominants, Coltrane changes, and backdoor movement. Modal interchange and backdoor reharmonization require a key.

`conduct_band` turns a natural-language arrangement prompt into conductor information, four note-event lanes, a lead sheet, and base64 MIDI. The hosted surface returns the arrangement data but does not render audio. Audio rendering is available through the separate local `thiri-conductor-mcp` companion, which uses server-side Csound and can produce WAV output.

## Setup and configuration

To use the BluesPrince/thiri-mcp MCP server, obtain a key from `build.thiri.ai/developers`. Claude can connect directly through a custom connector using the hosted MCP URL and the key. For local stdio configuration, run the package with npx and set `THIRI_API_KEY` in the MCP server environment.

A Claude Code command is:

```sh
claude mcp add thiri --env THIRI_API_KEY=sk_live_your_key -- npx -y @bluesprincemedia/thiri-mcp
```

The supported environment variables are:

- `THIRI_API_KEY`: bearer token used for API authentication.
- `THIRI_API_URL`: optional API base override; it defaults to `https://chords.thiri.ai`.

The repository also documents a dual local setup for the theory server and `thiri-conductor-mcp`, plus a composition companion. Those additional processes are needed for local rendering or composition-specific workflows and are separate from the core five-tool MCP surface.

## Tools and capabilities

- `analyze_chord`: returns harmonic and structural chord information, with key-aware Roman-numeral analysis.
- `resolve_chord`: returns enharmonically spelled notes, frequencies, MIDI values, and scale suggestions.
- `generate_voicing`: creates instrument-ready voicings and can score transitions against a previous voicing.
- `reharmonize`: produces applicable alternatives for a progression with changes and plain-language explanations.
- `conduct_band`: creates a four-part arrangement from a natural-language prompt and returns lanes, lead sheet data, and MIDI.

## Limitations and notes

The hosted connector does not provide audio rendering; it returns theory results and `conduct_band` lanes. Use the local conductor companion when a workflow needs server-rendered WAV playback. The API requires a THIRI key, and the README identifies commercial use as requiring a separate license under the PolyForm Noncommercial 1.0.0 terms.

_Full upstream README: https://allmcps.com/mcp/bluesprince-thiri-mcp/readme_

