THIRI Chord Intelligence MCP Server

resmi

Mesin teori musik deterministik untuk agen AI menganalisis, menyelesaikan, menyuarakan, dan mereharmonisasi akor.

Dokumentasi

๐ŸŽท THIRI Chord Intelligence โ€” Server MCP

npm license MCP

Berikan AI Anda teori musik yang sesungguhnya. THIRI adalah server MCP + API teori musik deterministik untuk para pembangun AI โ€” memungkinkan Claude, Cursor, atau agen MCP mana pun untuk menganalisis akor, menjalankan analisis angka romawi, menghasilkan voicing, dan mereharmonisasi progresi dengan jawaban yang dihitung, bukan ditebak.

LLM berhalusinasi tentang teori musik: nada yang salah, angka romawi palsu, voicing yang tidak melakukan voice-leading. THIRI adalah mesin deterministik (teori set kelas nada di atas โ„ค/12) di balik API yang dihosting โ€” sehingga C7sus4 mempertahankan suspensinya, Caug mengeja C E G#, dan "perubahan Coltrane pada Dm7 G7 Cmaj7" mengembalikan Cmaj7 Ab7 Abmaj7 E7, setiap saat.

Hilir dari Suno / Udio atau generator apa pun? Bungkus keluarannya dan dapatkan bagan akor yang benar yang dapat dipercaya oleh agen Anda. Dan tidak seperti tonal.js atau music21, THIRI dihosting dan native-agen (tanpa instalasi, bahasa apa pun) โ€” dan ia mereharmonisasi dan melakukan voice-leading, bukan hanya mencari akor.

โญ Jika ini berguna, bintangi repositori ini โ€” ini membantu musisi dan pembangun agen lain menemukannya.

Apa yang dapat Anda tanyakan

"Analisis Dm7b5 dalam C." โ†’ iiรธ7, setengah-diminished, predominan pinjaman, + opsi skala "Nada apa yang ada dalam C7sus4?" โ†’ C F G Bb (suspensinya bertahan) "Beri saya voicing Cmaj7 tanpa root, lalu voice-leading ke Dm7." โ†’ voicing + skor voice-leading "Reharmonisasi Dm7 G7 Cmaj7 dengan perubahan Coltrane." โ†’ Cmaj7 Ab7 Abmaj7 E7

Alat

AlatFungsinya
analyze_chordAkor โ†’ root, kualitas, interval, angka romawi & fungsi harmonik (dominan sekunder, label modal-interchange)
resolve_chordAkor โ†’ nada yang dieja (benar secara enharmonis), frekuensi, MIDI, rekomendasi skala
generate_voicingVoicing siap-instrumen (rootless/bill_evans, shell, triad, pad, guide-tones, drop-2/3); berikan previousNotes untuk skor voice-leading; colorPreferences untuk ketegangan eksplisit
reharmonizeReharmonisasi progresi โ€” 8 teknik: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (atau auto)
conduct_bandKonduksi band bahasa alami โ†’ lajur + MIDI (MCP v0.3+ yang dihosting)

Berjalan pada mesin grid v2 โ€” akor sus yang benar, triad nyata, ejaan enharmonis, semua dominan altered โ€” dengan batas waktu permintaan, pelaporan kuota, dan kesalahan terstruktur.

MCP Csound Lokal (Desktop saja)

Untuk loop agen dengar-itu (konduksi โ†’ skor Csound โ†’ WAV), tambahkan server lokal kedua bersama alat teori yang dihosting:

{
  "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"]
    }
  }
}
BinAlat
thiri-conductor-mcpconduct_band, build_csound_score, render_csound_wav, play_audio, search_csound_corpus, render_with_tension
thiri-composition-mcpAlat IR komposisi + play_composition (pratinjau fluidsynth)

Membutuhkan Csound CLI di PATH untuk render WAV. Bukti: npm run test:conductor ยท dokumen langsung: build.thiri.ai/lab/conductor-mcp ยท resep agen.

Agen Konduktor (komposisi vibe)

Persona ujung-ke-ujung untuk komposisi vibe lokal โ€” skill, CLI, dan panel dasbor Band:

EntriPerintah / jalur
Skill CursorSalin 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"
Dasbornpm run dev:studio โ†’ localhost:5173/band โ†’ panel Vibe Conduct
Bukti Labbuild.thiri.ai/lab/conductor-agent

Konfigurasi MCP ganda di atas + mapConductResultToStudioModules setelah setiap conduct_band. Render CLI terakhir menulis ~/.thiri/conductor-last.json (hanya lokal, tidak dikomit).

Resep agen unggulan (analisis โ†’ konduksi โ†’ render โ†’ kritik)

Tempel secara berurutan setelah konfigurasi MCP ganda di atas:

  1. Analisis โ€” "Analisis Dm7 G7 Cmaj7 dalam kunci C dengan analyze_chord; ringkas angka romawi dan ketegangan."
  2. Konduksi โ€” "conduct_band: pad Rhodes hangat, bass berjalan, drum brush, 8 bar ayunan sedang dalam C."
  3. Render โ€” "build_csound_score dari lajur, lalu render_csound_wav pada tempo 120."
  4. Kritik โ€” "play_audio; kritik voice-leading dan keseimbangan register; sarankan satu revisi."

Prompt lengkap: build.thiri.ai/lab/agent-recipes

Batasan hosted vs lokal

PermukaanCsound WAV
mcp.thiri.ai / konektor hostedTidak โ€” hanya teori + lajur conduct_band
thiri-conductor-mcp lokalYa โ€” membutuhkan Csound CLI di mesin Anda

Instal

Dapatkan kunci gratis di build.thiri.ai/developers, lalu pilih jalur:

Claude Desktop / web / seluler โ€” hosted (konektor kustom satu-klik, tidak ada yang perlu diinstal): Pengaturan โ†’ Konektor โ†’ Tambah konektor kustom โ†’ URL https://mcp.thiri.ai/mcp โ†’ tempel kunci sk_live_ Anda di halaman persetujuan. 4 alat yang sama, kunci yang sama, kuota yang sama โ€” tanpa file konfigurasi, tanpa npx.

Claude Code (satu baris):

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" }
    }
  }
}

Lebih suka HTTP mentah? (tidak perlu MCP)

Mesin yang sama adalah API REST biasa:

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

Empat endpoint: /v2/analyze, /v2/resolve, /v2/voicing, /v2/reharmonize, /v2/conduct. Lihat openapi.yaml.

Variabel lingkungan

VariabelDefaultDeskripsi
THIRI_API_KEY(tidak ada)Token pembawa (sk_live_โ€ฆ) โ€” dapatkan di build.thiri.ai/developers
THIRI_API_URLhttps://chords.thiri.aiBasis API (timpa hanya untuk pengembangan lokal)

Pengembangan

npm install && npm run build && npm start

Lisensi

MIT โ€” ยฉ 2026 Blues Prince Media. Klien bersifat terbuka; mesin adalah layanan yang dihosting.