THIRI Chord Intelligence

officiel

Moteur 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 les accords avec la théorie musicale — Demandez la fondamentale, la qualité, les intervalles, le chiffrage romain et la fonction harmonique via analyze_chord, y compris les dominantes secondaires et l'échange modal.
  • Résoudre l'orthographe des accords — Obtenez des notes enharmoniquement correctes, les fréquences, le MIDI et des recommandations de gammes avec resolve_chord, comme « Quelles notes dans C7sus4 ? »
  • Générer des voicings prêts pour l'instrument — Demandez des voicings sans fondamentale, en coquille, en triade ou drop-2 avec generate_voicing, en passant éventuellement previousNotes pour les scores de conduite de voix.
  • Réharmoniser des progressions — Appliquez des techniques comme tritone_sub, coltrane_changes ou auto via reharmonize, par ex., « Réharmonise Dm7 G7 Cmaj7 avec les changements de Coltrane. »
  • Diriger un groupe en langage naturel — Utilisez conduct_band pour transformer des descriptions comme « nappe Rhodes chaleureuse, basse walking, batterie aux balais » en pistes et en MIDI.

Documentation

🎷 THIRI Chord Intelligence — Serveur MCP

npm npm downloads CI license MCP Glama score

Donnez à votre IA une vraie théorie musicale. THIRI est le serveur MCP de théorie musicale + API 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, non devinées.

Les LLM hallucinent la théorie musicale : mauvaises notes, faux chiffrages romains, 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 — ainsi C7sus4 conserve sa suspension, Caug orthographie 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 (aucune installation, n'importe quel langage) — et il réharmonise et effectue le voice-leading, sans se contenter de rechercher des accords.

⭐ Si cela vous est utile, mettez une étoile au dépôt — cela aide d'autres musiciens et créateurs d'agents à le trouver.

👥 Rejoignez les AI Music Builders : Vous voulez des limites de débit élevées, un support direct du fondateur et un accès anticipé aux outils à venir ? Rejoignez notre communauté de développeurs sur Skool — T.H.I.R.I. Builders.

Musiciens : configuration en 2 minutes (sans code)

  1. Obtenez une clé gratuite sur build.thiri.ai/keys
  2. Dans Claude : Paramètres → Connecteurs → Ajouter un connecteur personnalisé → URL https://mcp.thiri.ai/mcp → collez votre clé sk_live_
  3. Demandez à Claude : « Réharmonise Dm7 G7 Cmaj7 avec des Coltrane changes. »

C'est tout — aucune installation, aucun 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é, sous-dominante empruntée, + options de gammes « Quelles notes dans C7sus4 ? » → C F G Bb (la suspension survit) « Donne-moi un voicing Cmaj7 sans fondamentale, puis fais le voice-leading vers Dm7. » → voicings + un score de voice-leading « Réharmonise Dm7 G7 Cmaj7 avec des Coltrane changes. » → Cmaj7 Ab7 Abmaj7 E7

Outils

OutilCe qu'il fait
analyze_chordAccord → fondamentale, qualité, intervalles, chiffrage romain et fonction harmonique (dominantes secondaires, étiquettes d'échange modal)
resolve_chordAccord → notes orthographiées (correctes enharmoniquement), fréquences, MIDI, recommandations de gammes
generate_voicingVoicings 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 des tensions explicites
reharmonizeRé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_bandDirection de groupe en langage naturel → pistes + MIDI (MCP hébergé v0.3+)

Fonctionne sur le moteur v2 grid — accords suspendus corrects, vraies triades, orthographe enharmonique, toutes les dominantes altérées — avec délais d'expiration des requêtes, rapports de quota et erreurs structurées.

Compagnons chef d'orchestre et composition (Desktop uniquement)

Pour les boucles d'agents hear-it (direction → rendu côté serveur → WAV via vos haut-parleurs), ajoutez un second serveur local aux côtés des outils théoriques 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"]
    }
  }
}
BinaireOutils
thiri-conductor-mcpconduct_band, render_audio (Csound côté serveur via POST /v2/render), play_audio, search_corpus
thiri-composition-mcpOutils IR de composition + play_composition (aperçu fluidsynth)

Le rendu s'exécute côté serveur depuis la v0.5.0 — aucune installation Csound nécessaire. Preuve : npm run test:conductor · documentation en direct : build.thiri.ai/lab/conductor-mcp · recettes d'agents.

Agent chef d'orchestre (composition vibe)

Persona de bout en bout pour la composition vibe locale — compétence, CLI et panneau du tableau de bord Band :

EntréeCommande / chemin
Compétence CursorCopiez 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"
Tableau de bordnpm run dev:studio → localhost:5173/band → panneau Vibe Conduct
Preuve en laboratoirebuild.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, non commité).

Recette d'agent phare (analyser → diriger → rendre → critiquer)

Collez dans l'ordre après la configuration MCP double ci-dessus :

  1. Analyser — « Analyse Dm7 G7 Cmaj7 en tonalité C avec analyze_chord ; résume les chiffrages romains et la tension. »
  2. Diriger — « conduct_band : pad Rhodes chaleureux, basse walking, batterie balais, 8 mesures swing moyen en C. »
  3. Rendre — « render_audio à partir du résultat de conduct au tempo 120. »
  4. Critiquer — « play_audio ; critique le voice-leading 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

SurfaceRendu audio
mcp.thiri.ai / connecteur hébergéNon — théorie + pistes conduct_band uniquement
thiri-conductor-mcp localOui — WAV rendu côté serveur (POST /v2/render), joué localement ; aucune installation Csound nécessaire

Installation

Obtenez une clé gratuite sur build.thiri.ai/keys, 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 — aucun 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

VariableDéfautDescription
THIRI_API_KEY(aucun)Jeton Bearer (sk_live_…) — obtenez-en un sur build.thiri.ai/keys
THIRI_API_URLhttps://chords.thiri.aiBase API (remplacez 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'usage commercial 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é distribué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 inclus dans ce paquet.