THIRI Chord Intelligence
oficialMotor de teoría musical determinista para que agentes de IA analicen, resuelvan, vozen y rearmen acordes.
¿Qué puedes hacer con THIRI Chord Intelligence MCP?
- Analiza acordes con teoría musical — Pide raíz, calidad, intervalos, numeral romano y función armónica mediante
analyze_chord, incluyendo dominantes secundarios e intercambio modal. - Resuelve grafías de acordes — Obtén notas enarmónicamente correctas, frecuencias, MIDI y recomendaciones de escala usando
resolve_chord, como "¿Qué notas hay en C7sus4?" - Genera voicings listos para instrumentos — Solicita voicings sin fundamental, shell, tríadas o drop-2 con
generate_voicing, pasando opcionalmentepreviousNotespara puntuaciones de conducción de voces. - Reharmoniza progresiones — Aplica técnicas como
tritone_sub,coltrane_changesoautomediantereharmonize, p. ej., "Reharmoniza Dm7 G7 Cmaj7 con cambios de Coltrane." - Dirige una banda en lenguaje natural — Usa
conduct_bandpara convertir descripciones como "pad de Rhodes cálido, bajo caminante, batería con escobillas" en pistas y MIDI.
Documentación
🎷 THIRI Chord Intelligence — Servidor MCP
Dale a tu IA teoría musical real. THIRI es el servidor MCP de teoría musical + API determinista para creadores de IA: permite que Claude, Cursor o cualquier agente MCP analice acordes, realice análisis de numerales romanos, genere voicings y rearmonice progresiones con respuestas que están calculadas, no adivinadas.
Los LLM alucinan teoría musical: notas incorrectas, numerales romanos falsos, voicings que no conducen voces. THIRI es un motor determinista (teoría de conjuntos de clases de tono sobre ℤ/12) detrás de una API alojada — así C7sus4 mantiene su suspensión, Caug deletrea C E G#, y "cambios Coltrane en Dm7 G7 Cmaj7" devuelve Cmaj7 Ab7 Abmaj7 E7, cada vez.
¿Trabajas con Suno / Udio o cualquier generador? Envuelve la salida y obtén una gráfica de acordes correcta en la que tu agente pueda confiar. Y a diferencia de tonal.js o music21, THIRI está alojado y es nativo para agentes (sin instalación, cualquier lenguaje) — y rearmoniza y conduce voces, no solo busca acordes.
⭐ Si esto te resulta útil, dale una estrella al repositorio — ayuda a otros músicos y creadores de agentes a encontrarlo.
👥 Únete a los Creadores de Música con IA: ¿Quieres límites de tasa elevados, soporte directo del fundador y acceso anticipado a próximas herramientas? Únete a nuestra comunidad de desarrolladores en Skool — T.H.I.R.I. Builders.
Músicos: configuración en 2 minutos (sin código)
- Obtén una clave gratuita en build.thiri.ai/keys
- En Claude: Configuración → Conectores → Agregar conector personalizado → URL
https://mcp.thiri.ai/mcp→ pega tu clave desk_live_ - Pregúntale a Claude: "Rearmoniza Dm7 G7 Cmaj7 con cambios Coltrane."
Eso es todo — sin instalación, sin archivo de configuración. Creadores: opciones completas de instalación (Claude Code, configuración de Desktop, HTTP crudo) están abajo.
Lo que puedes preguntar
"Analiza Dm7b5 en C." →
iiø7, semidisminuido, predominante prestado, + opciones de escala "¿Qué notas hay en C7sus4?" →C F G Bb(la suspensión sobrevive) "Dame un voicing de Cmaj7 sin fundamental, luego conduce voces hacia Dm7." → voicings + una puntuación de conducción de voces "Rearmoniza Dm7 G7 Cmaj7 con cambios Coltrane." →Cmaj7 Ab7 Abmaj7 E7
Herramientas
| Herramienta | Qué hace |
|---|---|
analyze_chord | Acorde → fundamental, calidad, intervalos, numeral romano y función armónica (dominantes secundarias, etiquetas de intercambio modal) |
resolve_chord | Acorde → notas deletreadas (enharmónicamente correctas), frecuencias, MIDI, recomendaciones de escala |
generate_voicing | Voicings listos para instrumento (sin fundamental/bill_evans, shell, tríada, pad, guía-tonos, drop-2/3); pasa previousNotes para una puntuación de conducción de voces; colorPreferences para tensiones explícitas |
reharmonize | Rearmonización de progresiones — 8 técnicas: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (o auto) |
conduct_band | Dirección de banda en lenguaje natural → pistas + MIDI (MCP alojado v0.3+) |
Se ejecuta en el motor de cuadrícula v2 — acordes sus correctos, tríadas reales, deletreo enharmónico, todas las dominantes alteradas — con tiempos de espera de solicitud, informes de cuota y errores estructurados.
Compañeros de dirección y composición (solo Desktop)
Para bucles de agente de escucha (dirigir → renderizar en servidor → WAV a través de tus altavoces), agrega un segundo servidor local junto a las herramientas de teoría alojadas:
{
"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"]
}
}
}
| Bin | Herramientas |
|---|---|
thiri-conductor-mcp | conduct_band, render_audio (Csound del lado del servidor vía POST /v2/render), play_audio, search_corpus |
thiri-composition-mcp | Herramientas de IR de composición + play_composition (vista previa con fluidsynth) |
El renderizado se ejecuta del lado del servidor a partir de v0.5.0 — no se necesita instalar Csound. Prueba: npm run test:conductor · documentación en vivo: build.thiri.ai/lab/conductor-mcp · recetas de agentes.
Agente Director (composición por vibra)
Persona integral para composición local por vibra — habilidad, CLI y panel del dashboard de Band:
| Entrada | Comando / ruta |
|---|---|
| Habilidad de Cursor | Copia 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" |
| Dashboard | npm run dev:studio → localhost:5173/band → panel Vibe Conduct |
| Prueba de laboratorio | build.thiri.ai/lab/conductor-agent |
Configuración MCP dual arriba + mapConductResultToStudioModules después de cada conduct_band. El último renderizado CLI escribe ~/.thiri/conductor-last.json (solo local, no se confirma).
Receta de agente insignia (analizar → dirigir → renderizar → criticar)
Pega en orden después de la configuración MCP dual arriba:
- Analizar — "Analiza Dm7 G7 Cmaj7 en la tonalidad C con analyze_chord; resume numerales romanos y tensión."
- Dirigir — "conduct_band: pad Rhodes cálido, bajo caminante, batería de cepillos, 8 compases de swing medio en C."
- Renderizar — "render_audio del resultado de conduct a tempo 120."
- Criticar — "play_audio; critica la conducción de voces y el balance de registro; sugiere una revisión."
Indicaciones completas: build.thiri.ai/lab/agent-recipes
Límite entre alojado y local
| Superficie | Renderizado de audio |
|---|---|
mcp.thiri.ai / conector alojado | No — solo teoría + pistas de conduct_band |
thiri-conductor-mcp local | Sí — WAV renderizado del lado del servidor (POST /v2/render), reproducido localmente; no se necesita instalar Csound |
Instalación
Obtén una clave gratuita en build.thiri.ai/keys, luego elige una ruta:
Claude Desktop / web / móvil — alojado (conector personalizado de un clic, nada que instalar):
Configuración → Conectores → Agregar conector personalizado → URL https://mcp.thiri.ai/mcp → pega tu clave de sk_live_ en la página de consentimiento. Las mismas 5 herramientas, la misma clave, la misma cuota — sin archivo de configuración, sin npx.
Claude Code (una línea):
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" }
}
}
}
¿Prefieres HTTP crudo? (no se necesita MCP)
El mismo motor es una 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"}'
Cinco endpoints: /v2/analyze, /v2/resolve, /v2/voicing, /v2/reharmonize, /v2/conduct. Consulta openapi.yaml.
Variables de entorno
| Variable | Predeterminado | Descripción |
|---|---|---|
THIRI_API_KEY | (ninguno) | Token Bearer (sk_live_…) — obtén uno en build.thiri.ai/keys |
THIRI_API_URL | https://chords.thiri.ai | Base de API (anula solo para desarrollo local) |
Desarrollo
npm install && npm run build && npm start
Licencia
PolyForm Noncommercial 1.0.0 — © 2026 Blues Prince Media. Gratis para uso
personal, de investigación y no comercial; el uso comercial requiere una licencia
(dennison@bluesprincemedia.com). Consulta LICENSE. Las versiones publicadas en o
antes de v0.5.0 permanecen bajo la licencia dual MIT/PolyForm con la que se publicaron.
A partir de v0.5.0, el motor de composición y el renderizador Csound se ejecutan del lado del servidor detrás de la API alojada (
POST /v2/compose,POST /v2/render); su código fuente ya no se incluye en este paquete.