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 n'importe quel symbole d'accord — Obtenez la fondamentale, la qualité, les intervalles, le chiffrage romain et la fonction harmonique (y compris les dominantes secondaires et l'échange modal) avec
analyze_chord. - Résoudre un accord en ses notes écrites — Obtenez des hauteurs enharmoniquement correctes, des fréquences, des numéros MIDI et des suggestions de gammes via
resolve_chord. - Générer des voicings prêts pour l'instrument — Demandez des styles de voicing spécifiques comme sans fondamentale, shell, drop-2 ou guide-tones, et obtenez un score de conduite de voix en passant les notes précédentes à
generate_voicing. - Réharmoniser une progression d'accords — Appliquez des techniques telles que la substitution de triton, les changements Coltrane ou la résolution par porte dérobée à une progression en utilisant
reharmonize. - Diriger un groupe avec un langage naturel — Décrivez une texture musicale pour recevoir des pistes d'instruments et des données MIDI de
conduct_band.
Documentation
🎷 THIRI Chord Intelligence — Serveur MCP
Donnez à votre IA une vraie théorie musicale. THIRI est le serveur MCP + API de théorie musicale déterministe pour les constructeurs d'IA — il permet à Claude, Cursor, ou tout agent MCP d'analyser des accords, d'effectuer une analyse en chiffres romains, de générer des voicings et de réharmoniser des progressions avec des réponses qui sont calculées, pas devinées.
Les LLM hallucinent la théorie musicale : mauvaises notes, faux chiffres romains, voicings qui ne conduisent pas les voix. THIRI est un moteur déterministe (théorie des ensembles de classes de hauteurs sur ℤ/12) derrière une API hébergée — ainsi C7sus4 conserve sa suspension, Caug épelle C E G#, et "Coltrane changes sur Dm7 G7 Cmaj7" renvoie 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 se fier. 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 conduit les voix, il ne se contente pas de rechercher des accords.
⭐ Si cela est utile, mettez une étoile au dépôt — cela aide d'autres musiciens et constructeurs d'agents à le trouver.
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 changements Coltrane."
C'est tout — pas d'installation, pas de fichier de configuration. Constructeurs : les options d'installation complètes (Claude Code, configuration Desktop, HTTP brut) sont ci-dessous.
Ce que vous pouvez demander
"Analyse Dm7b5 en Do." →
iiø7, demi-diminué, prédominante empruntée, + options de gammes "Quelles notes y a-t-il dans C7sus4 ?" →C F G Bb(la suspension survit) "Donne-moi un voicing de Cmaj7 sans fondamentale, puis conduis les voix vers Dm7." → voicings + un score de conduite des voix "Réharmonise Dm7 G7 Cmaj7 avec des changements Coltrane." →Cmaj7 Ab7 Abmaj7 E7
Outils
| Outil | Ce qu'il fait |
|---|---|
analyze_chord | Accord → fondamentale, qualité, intervalles, chiffre romain et fonction harmonique (dominantes secondaires, étiquettes d'échange modal) |
resolve_chord | Accord → notes épelées (enharmoniquement correctes), fréquences, MIDI, recommandations de gammes |
generate_voicing | Voicings prêts pour l'instrument (sans fondamentale/bill_evans, shell, triade, pad, notes guides, drop-2/3) ; passez previousNotes pour un score de conduite des voix ; colorPreferences pour des 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 d'orchestre en langage naturel → pistes + MIDI (MCP hébergé v0.3+) |
Fonctionne sur le moteur de grille v2 — accords suspendus 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.
Csound MCP local (Desktop uniquement)
Pour les boucles d'agent hear-it (direction → partition Csound → WAV), ajoutez un second serveur local aux côtés 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, build_csound_score, render_csound_wav, play_audio, search_csound_corpus, render_with_tension |
thiri-composition-mcp | Outils IR de composition + play_composition (aperçu fluidsynth) |
Nécessite Csound CLI dans le PATH pour le rendu WAV. Preuve : npm run test:conductor · documentation en direct : build.thiri.ai/lab/conductor-mcp · recettes d'agent.
Agent Chef d'Orchestre (composition d'ambiance)
Persona de bout en bout pour la composition d'ambiance locale — compétence, CLI et panneau de 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 de laboratoire | build.thiri.ai/lab/conductor-agent |
Double configuration MCP ci-dessus + mapConductResultToStudioModules après chaque conduct_band. Le dernier rendu CLI écrit ~/.thiri/conductor-last.json (local uniquement, non commité).
Recette d'agent phare (analyser → diriger → rendre → critiquer)
Collez dans l'ordre après la double configuration MCP ci-dessus :
- Analyser — "Analyse Dm7 G7 Cmaj7 en tonalité de Do avec analyze_chord ; résume les chiffres romains et la tension."
- Diriger — "conduct_band : pad Rhodes chaleureux, basse walking, batterie balais, 8 mesures de swing moyen en Do."
- Rendre — "build_csound_score à partir des pistes, puis render_csound_wav au tempo 120."
- Critiquer — "play_audio ; critique la conduite des voix et l'équilibre des registres ; suggère une révision."
Invites complètes : build.thiri.ai/lab/agent-recipes
Frontière hébergé vs local
| Surface | Csound WAV |
|---|---|
mcp.thiri.ai / connecteur hébergé | Non — théorie + pistes conduct_band uniquement |
thiri-conductor-mcp local | Oui — nécessite Csound CLI sur votre machine |
Installation
Obtenez une clé gratuite sur build.thiri.ai/developers, puis choisissez une voie :
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 4 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"}'
Quatre 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
MIT — © 2026 Blues Prince Media. Le client est ouvert ; le moteur est un service hébergé.