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

npm npm downloads CI license MCP Glama score

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)

  1. Obtenez une clé gratuite sur build.thiri.ai/developers
  2. Dans Claude : Paramètres → ConnecteursAjouter un connecteur personnalisé → URL https://mcp.thiri.ai/mcp → collez votre clé sk_live_
  3. 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

OutilCe qu'il fait
analyze_chordAccord → fondamentale, qualité, intervalles, chiffre romain et fonction harmonique (dominantes secondaires, étiquettes d'échange modal)
resolve_chordAccord → notes épelées (enharmoniquement correctes), fréquences, MIDI, recommandations de gammes
generate_voicingVoicings 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
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 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"]
    }
  }
}
BinaireOutils
thiri-conductor-mcpconduct_band, build_csound_score, render_csound_wav, play_audio, search_csound_corpus, render_with_tension
thiri-composition-mcpOutils 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é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:studiolocalhost:5173/band → panneau Vibe Conduct
Preuve de laboratoirebuild.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 :

  1. Analyser"Analyse Dm7 G7 Cmaj7 en tonalité de Do avec analyze_chord ; résume les chiffres romains et la tension."
  2. Diriger"conduct_band : pad Rhodes chaleureux, basse walking, batterie balais, 8 mesures de swing moyen en Do."
  3. Rendre"build_csound_score à partir des pistes, puis render_csound_wav au tempo 120."
  4. 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

SurfaceCsound WAV
mcp.thiri.ai / connecteur hébergéNon — théorie + pistes conduct_band uniquement
thiri-conductor-mcp localOui — 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

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

MIT — © 2026 Blues Prince Media. Le client est ouvert ; le moteur est un service hébergé.