THIRI Chord Intelligence

公式

AIエージェントがコードを分析、解決、ボイシング、リハーモナイズするための決定論的音楽理論エンジン。

THIRI Chord Intelligence MCPで何ができますか?

  • コード構造を分析 — analyze_chord に問い合わせて、任意のキー内のコードについてルート、品質、インターバル、ローマ数字、和声機能を返してもらいます。
  • コードノートを解決 — resolve_chord を使用して、異名同音的に正しいスペル、周波数、MIDI値、スケール推奨を取得します。
  • 楽器ボイシングを生成 — generate_voicing をルートレス、シェル、ドロップ2などのスタイルでリクエストし、ボイスリーディングスコア用に previousNotes を渡します。
  • 進行をリハーモナイズ — reharmonize を tritone_sub、coltrane_changes、auto などのテクニックで適用し、コード進行を変換します。
  • バンドを指揮 — conduct_band を使用して、自然言語の指示を楽器レーンとMIDI出力に変換します。

ドキュメント

🎷 THIRI Chord Intelligence — MCP Server

npm npm downloads CI license MCP Glama score

AIに本物の音楽理論を。 THIRIは、AIビルダー向けの決定論的な音楽理論MCPサーバー+APIです。Claude、Cursor、または任意のMCPエージェントにコード分析、ローマ数字分析、ボイシング生成、プログレッションのリハーモナイズを提供します。答えは推測ではなく計算されます。

LLMは音楽理論に関して幻覚を起こします。間違った音、偽のローマ数字、ボイスリーディングが成立しないボイシングなど。THIRIは、ホスト型APIの背後にある決定論的エンジン(ℤ/12上のピッチクラス集合理論)です。つまり、C7sus4はサスペンションを維持し、CaugはC E G#を正しく表記し、「Dm7 G7 Cmaj7にコルトレーン・チェンジ」を要求すると毎回Cmaj7 Ab7 Abmaj7 E7を返します。

Suno / Udioやその他のジェネレーターの下流で使う? 出力をラップすれば、エージェントが信頼できる正確なコードチャートが得られます。tonal.jsやmusic21とは異なり、THIRIはホスト型でエージェントネイティブです(インストール不要、任意の言語で使用可能)。さらに、コードを調べるだけでなく、リハーモナイズとボイスリーディングも行います。

⭐ 役に立ったら、リポジトリにスターを付けてください。他のミュージシャンやエージェントビルダーが見つけやすくなります。

👥 最初の55人のAIミュージックビルダーに参加しよう: 引き上げられたレート制限(300 req/min)、創業者への直接サポート、今後のツールへの早期アクセスをご希望ですか? 開発者コミュニティ Skool — Blues People AI に参加してください。

ミュージシャン向け: 2分でセットアップ(コード不要)

  1. build.thiri.ai/developers で無料キーを取得
  2. Claudeで: 設定 → コネクタ → カスタムコネクタを追加 → URL https://mcp.thiri.ai/mcp → sk_live_キーを貼り付け
  3. Claudeに依頼: 「Dm7 G7 Cmaj7をコルトレーン・チェンジでリハーモナイズして」

これだけです。インストールも設定ファイルも不要です。ビルダー向けの完全なインストールオプション(Claude Code、Desktop設定、生のHTTP)は下記にあります。

できること

「CにおけるDm7b5を分析」 → iiø7、ハーフディミニッシュ、借用サブドミナント、+スケールオプション 「C7sus4の構成音は?」 → C F G Bb(サスペンションは維持されます) 「ルートレスCmaj7ボイシングを、Dm7へのボイスリーディング付きで」 → ボイシング+ボイスリーディングスコア 「Dm7 G7 Cmaj7をコルトレーン・チェンジでリハーモナイズ」 → Cmaj7 Ab7 Abmaj7 E7

ツール

ツール機能
analyze_chordコード → ルート、クオリティ、インターバル、ローマ数字&和声機能(セカンダリードミナント、モーダルインターチェンジラベル)
resolve_chordコード → 表記された音(異名同音的に正しい)、周波数、MIDI、スケール推奨
generate_voicing楽器対応ボイシング(ルートレス/bill_evans、シェル、トライアド、パッド、ガイドトーン、ドロップ2/3); previousNotesを渡すとボイスリーディングスコア、colorPreferencesで明示的なテンション
reharmonizeプログレッションのリハーモナイズ — 8つのテクニック: tritone_sub、ii_v_insertion、modal_interchange、diminished_passing、secondary_dominant、chain_of_dominants、coltrane_changes、backdoor(またはauto)
conduct_band自然言語によるバンド指揮 → レーン+MIDI(ホスト型MCP v0.3+)

v2グリッドエンジン上で動作 — 正しいsusコード、本物のトライアド、異名同音表記、すべてのオルタードドミナントに対応。リクエストタイムアウト、クォータレポート、構造化エラー付き。

コンダクター&作曲コンパニオン(デスクトップのみ)

聴いて確認するエージェントループ(指揮 → サーバーサイドレンダリング → スピーカーからWAV再生)には、ホスト型理論ツールと並べて2つ目のローカルサーバーを追加します:

{
  "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"]
    }
  }
}
バイナリツール
thiri-conductor-mcpconduct_band、render_audio(POST /v2/renderによるサーバーサイドCsound)、play_audio、search_corpus
thiri-composition-mcp作曲IRツール+play_composition(fluidsynthプレビュー)

レンダリングはv0.5.0以降サーバーサイドで実行されます — Csoundのインストールは不要です。実証: npm run test:conductor · ライブドキュメント: build.thiri.ai/lab/conductor-mcp · エージェントレシピ。

コンダクターエージェント(バイブ作曲)

ローカルでのバイブ作曲のためのエンドツーエンドのペルソナ — スキル、CLI、Bandダッシュボードパネル:

エントリコマンド / パス
CursorスキルTHIRI/lab/skills/thiri-conductor-agent/SKILL.mdを~/.cursor/skills/thiri-conductor-agent/SKILL.mdにコピー
CLIcd thiri-mcp && npm run conductor:vibe -- "gospel ballad in F minor"
ダッシュボードnpm run dev:studio → localhost:5173/band → Vibe Conductパネル
ラボ実証build.thiri.ai/lab/conductor-agent

上記のデュアルMCP設定+各conduct_bandの後にmapConductResultToStudioModules。最後のCLIレンダリングは~/.thiri/conductor-last.jsonに書き込まれます(ローカルのみ、コミットされません)。

フラッグシップエージェントレシピ(分析 → 指揮 → レンダリング → 批評)

デュアルMCP設定後に順番に貼り付け:

  1. 分析 — 「analyze_chordでキーCのDm7 G7 Cmaj7を分析し、ローマ数字とテンションを要約して」
  2. 指揮 — 「conduct_band: 温かいRhodesパッド、ウォーキングベース、ブラシドラム、Cで8小節のミディアムスウィング」
  3. レンダリング — 「テンポ120でconduct結果からrender_audio」
  4. 批評 — 「play_audio; ボイスリーディングとレジスターのバランスを批評し、1つの修正を提案して」

完全なプロンプト: build.thiri.ai/lab/agent-recipes

ホスト型とローカルの境界

サーフェスオーディオレンダリング
mcp.thiri.ai / ホスト型コネクタなし — 理論+conduct_bandレーンのみ
ローカルthiri-conductor-mcpあり — WAVはサーバーサイドでレンダリング(POST /v2/render)、ローカルで再生; Csoundのインストール不要

インストール

build.thiri.ai/developers で無料キーを取得し、パスを選択:

Claude Desktop / web / mobile — ホスト型(ワンクリックカスタムコネクタ、インストール不要): 設定 → コネクタ → カスタムコネクタを追加 → URL https://mcp.thiri.ai/mcp → 同意ページでsk_live_キーを貼り付け。同じ5つのツール、同じキー、同じクォータ — 設定ファイルもnpxも不要。

Claude Code(1行):

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

Claude Desktop(claude_desktop_config.json):

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

生のHTTPがお好み?(MCP不要)

同じエンジンがプレーンなREST APIとして利用可能:

curl -X POST https://chords.thiri.ai/v2/analyze \
  -H "Authorization: Bearer YOUR_KEY" -H "content-type: application/json" \
  -d '{"chord":"Dm7b5","key":"C"}'

5つのエンドポイント: /v2/analyze、/v2/resolve、/v2/voicing、/v2/reharmonize、/v2/conduct。openapi.yamlを参照。

環境変数

変数デフォルト説明
THIRI_API_KEY(なし)Bearerトークン(sk_live_…)— build.thiri.ai/developersで取得
THIRI_API_URLhttps://chords.thiri.aiAPIベース(ローカル開発時のみ上書き)

開発

npm install && npm run build && npm start

ライセンス

PolyForm Noncommercial 1.0.0 — © 2026 Blues Prince Media. 個人、研究、非商用利用は無料。商用利用にはライセンスが必要です(dennison@bluesprincemedia.com)。LICENSEを参照。v0.5.0以前に公開されたバージョンは、出荷時のMIT/PolyFormデュアルライセンスのままです。

v0.5.0以降、作曲エンジンとCsoundレンダラーはホスト型APIの背後でサーバーサイドで実行されます(POST /v2/compose、POST /v2/render)。これらのソースはこのパッケージには同梱されなくなりました。