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 la structure d'accords — Demandez à analyze_chord de 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_chord pour obtenir des orthographes enharmoniques correctes, les fréquences, les valeurs MIDI et des recommandations de gammes.
  • Générer des voicings instrumentaux — Demandez generate_voicing avec des styles comme rootless, shell ou drop-2, et transmettez previousNotes pour les scores de conduite de voix.
  • Réharmoniser des progressions — Appliquez reharmonize avec des techniques comme tritone_sub, coltrane_changes ou auto pour transformer des progressions d'accords.
  • Diriger un groupe — Utilisez conduct_band pour traduire des directions en langage naturel en pistes instrumentales et sortie MIDI.

Documentation

🎷 THIRI Chord Intelligence — Serveur MCP

npm npm downloads CI license MCP Glama score

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)

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

OutilCe qu'il fait
analyze_chordAccord → fondamentale, qualité, intervalles, chiffrage romain et fonction harmonique (dominantes secondaires, étiquettes d'emprunt 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 les 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 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"]
    }
  }
}
BinaireOutils
thiri-conductor-mcpconduct_band, render_audio (Csound côté serveur via POST /v2/render), play_audio, search_corpus
thiri-composition-mcpOutils 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éeCommande / chemin
Compétence CursorCopier 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, pas commité).

Recette 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 : nappe Rhodes chaude, walking bass, batterie balais, 8 mesures medium swing 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."

Prompts complets : build.thiri.ai/lab/agent-recipes

Limite hébergé vs local

SurfaceRendu audio
mcp.thiri.ai / connecteur hébergéNon — théorie + pistes conduct_band uniquement
Local thiri-conductor-mcpOui — 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

VariableValeur par défautDescription
THIRI_API_KEY(aucune)Jeton Bearer (sk_live_…) — obtenez-en un sur build.thiri.ai/developers
THIRI_API_URLhttps://chords.thiri.aiBase 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.