THIRI Chord Intelligence
officielMoteur déterministe de théorie musicale permettant aux agents d'IA d'analyser, résoudre, voicer et réharmoniser des accords.
Que pouvez-vous faire avec THIRI Chord Intelligence MCP ?
- Analyser la structure d'accords — Demandez à
analyze_chordde retourner la fondamentale, la qualité, les intervalles, le chiffrage romain et la fonction harmonique pour tout accord dans une tonalité. - Résoudre les notes d'accords — Utilisez
resolve_chordpour obtenir des orthographes enharmoniques correctes, les fréquences, les valeurs MIDI et des recommandations de gammes. - Générer des voicings instrumentaux — Demandez
generate_voicingavec des styles comme rootless, shell ou drop-2, et transmettezpreviousNotespour les scores de conduite de voix. - Réharmoniser des progressions — Appliquez
reharmonizeavec des techniques commetritone_sub,coltrane_changesouautopour transformer des progressions d'accords. - Diriger un groupe — Utilisez
conduct_bandpour traduire des directions en langage naturel en pistes instrumentales et sortie MIDI.
Documentation
🎷 THIRI Chord Intelligence — Serveur MCP
Donnez une vraie théorie musicale à votre IA. THIRI est le serveur MCP + API de théorie musicale déterministe pour les créateurs d'IA — il permet à Claude, Cursor ou tout agent MCP d'analyser des accords, d'effectuer une analyse en chiffrage romain, de générer des voicings et de réharmoniser des progressions avec des réponses qui sont calculées, pas devinées.
Les LLMs hallucinent la théorie musicale : mauvaises notes, chiffres romains fictifs, voicings qui ne respectent pas le voice-leading. THIRI est un moteur déterministe (théorie des classes de hauteurs sur ℤ/12) derrière une API hébergée — donc C7sus4 garde sa suspension, Caug orthographie C E G#, et "Coltrane changes on Dm7 G7 Cmaj7" retourne Cmaj7 Ab7 Abmaj7 E7, à chaque fois.
En aval de Suno / Udio ou de tout générateur ? Enveloppez la sortie et obtenez une grille d'accords correcte à laquelle votre agent peut faire confiance. Et contrairement à tonal.js ou music21, THIRI est hébergé et natif pour les agents (pas d'installation, n'importe quel langage) — et il réharmonise et effectue du voice-leading, pas seulement une recherche d'accords.
⭐ Si cela vous est utile, mettez une étoile au dépôt — cela aide les autres musiciens et créateurs d'agents à le trouver.
👥 Rejoignez les 55 premiers créateurs de musique IA : Vous voulez des limites de taux élevées (300 req/min), un support direct du fondateur et un accès anticipé aux outils à venir ? Rejoignez notre communauté de développeurs sur Skool — Blues People AI.
Musiciens : Configuration en 2 minutes (sans code)
- Obtenez une clé gratuite sur build.thiri.ai/developers
- Dans Claude : Paramètres → Connecteurs → Ajouter un connecteur personnalisé → URL
https://mcp.thiri.ai/mcp→ collez votre clésk_live_ - Demandez à Claude : "Réharmonise Dm7 G7 Cmaj7 avec des Coltrane changes."
C'est tout — pas d'installation, pas de fichier de configuration. Créateurs : les options d'installation complètes (Claude Code, configuration Desktop, HTTP brut) sont ci-dessous.
Ce que vous pouvez demander
"Analyse Dm7b5 en C." →
iiø7, demi-diminué, emprunté sous-dominant, + options de gamme "Quelles notes y a-t-il dans C7sus4 ?" →C F G Bb(la suspension survit) "Donne-moi un voicing Cmaj7 sans fondamentale, puis fais un voice-leading vers Dm7." → voicings + un score de voice-leading "Réharmonise Dm7 G7 Cmaj7 avec des Coltrane changes." →Cmaj7 Ab7 Abmaj7 E7
Outils
| Outil | Ce qu'il fait |
|---|---|
analyze_chord | Accord → fondamentale, qualité, intervalles, chiffrage romain et fonction harmonique (dominantes secondaires, étiquettes d'emprunt modal) |
resolve_chord | Accord → notes orthographiées (correctes enharmoniquement), fréquences, MIDI, recommandations de gammes |
generate_voicing | Voicings prêts pour l'instrument (sans fondamentale/bill_evans, shell, triade, pad, guide-tones, drop-2/3) ; passez previousNotes pour un score de voice-leading ; colorPreferences pour les tensions explicites |
reharmonize | Réharmonisation de progression — 8 techniques : tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (ou auto) |
conduct_band | Direction de groupe en langage naturel → pistes + MIDI (MCP hébergé v0.3+) |
Fonctionne sur le moteur de grille v2 — accords sus corrects, vraies triades, orthographe enharmonique, toutes les dominantes altérées — avec des délais d'attente de requête, des rapports de quota et des erreurs structurées.
Compagnons de composition (Desktop uniquement)
Pour les boucles d'agent à écouter (direction → rendu côté serveur → WAV via vos haut-parleurs), ajoutez un second serveur local à côté des outils de théorie hébergés :
{
"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"]
}
}
}
| Binaire | Outils |
|---|---|
thiri-conductor-mcp | conduct_band, render_audio (Csound côté serveur via POST /v2/render), play_audio, search_corpus |
thiri-composition-mcp | Outils RI de composition + play_composition (aperçu fluidsynth) |
Le rendu s'effectue côté serveur depuis la v0.5.0 — pas besoin d'installation Csound. Preuve : npm run test:conductor · documentation en direct : build.thiri.ai/lab/conductor-mcp · recettes agent.
Agent Chef d'orchestre (composition par vibe)
Persona complet pour la composition par vibe locale — compétence, CLI et panneau du tableau de bord Band :
| Entrée | Commande / chemin |
|---|---|
| Compétence Cursor | Copier THIRI/lab/skills/thiri-conductor-agent/SKILL.md → ~/.cursor/skills/thiri-conductor-agent/SKILL.md |
| CLI | cd thiri-mcp && npm run conductor:vibe -- "gospel ballad in F minor" |
| Tableau de bord | npm run dev:studio → localhost:5173/band → panneau Vibe Conduct |
| Preuve en laboratoire | build.thiri.ai/lab/conductor-agent |
Configuration MCP double ci-dessus + mapConductResultToStudioModules après chaque conduct_band. Le dernier rendu CLI écrit ~/.thiri/conductor-last.json (local uniquement, pas commité).
Recette agent phare (analyser → diriger → rendre → critiquer)
Collez dans l'ordre après la configuration MCP double ci-dessus :
- Analyser — "Analyse Dm7 G7 Cmaj7 en tonalité C avec analyze_chord ; résume les chiffrages romains et la tension."
- Diriger — "conduct_band : nappe Rhodes chaude, walking bass, batterie balais, 8 mesures medium swing en C."
- Rendre — "render_audio à partir du résultat de conduct au tempo 120."
- Critiquer — "play_audio ; critique le voice-leading et l'équilibre des registres ; suggère une révision."
Prompts complets : build.thiri.ai/lab/agent-recipes
Limite hébergé vs local
| Surface | Rendu audio |
|---|---|
mcp.thiri.ai / connecteur hébergé | Non — théorie + pistes conduct_band uniquement |
Local thiri-conductor-mcp | Oui — WAV rendu côté serveur (POST /v2/render), joué localement ; pas besoin d'installation Csound |
Installation
Obtenez une clé gratuite sur build.thiri.ai/developers, puis choisissez un chemin :
Claude Desktop / web / mobile — hébergé (connecteur personnalisé en un clic, rien à installer) :
Paramètres → Connecteurs → Ajouter un connecteur personnalisé → URL https://mcp.thiri.ai/mcp → collez votre clé sk_live_ sur la page de consentement. Mêmes 5 outils, même clé, même quota — pas de fichier de configuration, pas de npx.
Claude Code (une ligne) :
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" }
}
}
}
Vous préférez le HTTP brut ? (pas besoin de MCP)
Le même moteur est une API REST simple :
curl -X POST https://chords.thiri.ai/v2/analyze \
-H "Authorization: Bearer YOUR_KEY" -H "content-type: application/json" \
-d '{"chord":"Dm7b5","key":"C"}'
Cinq points de terminaison : /v2/analyze, /v2/resolve, /v2/voicing, /v2/reharmonize, /v2/conduct. Voir openapi.yaml.
Variables d'environnement
| Variable | Valeur par défaut | Description |
|---|---|---|
THIRI_API_KEY | (aucune) | Jeton Bearer (sk_live_…) — obtenez-en un sur build.thiri.ai/developers |
THIRI_API_URL | https://chords.thiri.ai | Base de l'API (à remplacer uniquement pour le développement local) |
Développement
npm install && npm run build && npm start
Licence
PolyForm Noncommercial 1.0.0 — © 2026 Blues Prince Media. Gratuit pour un usage personnel,
de recherche et non commercial ; l'utilisation commerciale nécessite une licence
(dennison@bluesprincemedia.com). Voir LICENSE. Les versions publiées à ou
avant la v0.5.0 restent sous la double licence MIT/PolyForm avec laquelle elles ont été livrées.
Depuis la v0.5.0, le moteur de composition et le rendu Csound s'exécutent côté serveur derrière l'API hébergée (
POST /v2/compose,POST /v2/render) ; leur code source n'est plus livré dans ce paquet.