THIRI Chord Intelligence
oficialMotor de teoria musical determinístico para agentes de IA analisarem, resolverem, vozearem e rearmonizarem acordes.
O que você pode fazer com THIRI Chord Intelligence MCP?
- Analisar função do acorde — Peça ao
analyze_chordpara retornar fundamental, qualidade, intervalos, numeral romano e função harmônica para qualquer acorde em uma tonalidade. - Resolver notas do acorde — Use o
resolve_chordpara obter notas escritas enarmonicamente corretas, valores MIDI, frequências e recomendações de escala. - Gerar voicings de instrumento — Solicite o
generate_voicingcom estilos como rootless, shell ou drop-2, além de pontuações de condução de vozes ao passar notas anteriores. - Reharmonizar progressões — Aplique técnicas de
reharmonizecomo substituição de trítono, mudanças Coltrane ou dominantes secundárias a qualquer sequência de acordes. - Conduzir uma banda — Use o
conduct_bandpara traduzir instruções em linguagem natural em faixas de instrumento e dados MIDI.
Documentação
🎷 THIRI Chord Intelligence — Servidor MCP
Dê ao seu IA teoria musical real. THIRI é o servidor MCP de teoria musical + API determinístico para criadores de IA — ele permite que Claude, Cursor ou qualquer agente MCP analise acordes, execute análise de numerais romanos, gere voicings e rearmonize progressões com respostas que são calculadas, não adivinhadas.
LLMs alucinam teoria musical: notas erradas, numerais romanos falsos, voicings que não fazem voice-leading. THIRI é um motor determinístico (teoria de pitch-class-set sobre ℤ/12) por trás de uma API hospedada — então C7sus4 mantém sua suspensão, Caug soletra C E G#, e "Coltrane changes em Dm7 G7 Cmaj7" retorna Cmaj7 Ab7 Abmaj7 E7, toda vez.
Trabalhando com Suno / Udio ou qualquer gerador? Envolva a saída e obtenha um gráfico de acordes correto em que seu agente possa confiar. E ao contrário de tonal.js ou music21, THIRI é hospedado e nativo para agentes (sem instalação, qualquer linguagem) — e ele rearmoniza e faz voice-leading, não apenas consulta acordes.
⭐ Se isso for útil, dê uma estrela no repositório — isso ajuda outros músicos e criadores de agentes a encontrá-lo.
Músicos: configuração em 2 minutos (sem código)
- Obtenha uma chave gratuita em build.thiri.ai/developers
- No Claude: Configurações → Conectores → Adicionar conector personalizado → URL
https://mcp.thiri.ai/mcp→ cole sua chavesk_live_ - Pergunte ao Claude: "Rearmonize Dm7 G7 Cmaj7 com Coltrane changes."
Pronto — sem instalação, sem arquivo de configuração. Criadores: opções completas de instalação (Claude Code, configuração Desktop, HTTP bruto) estão abaixo.
O que você pode perguntar
"Analise Dm7b5 em C." →
iiø7, meio-diminuto, predominante emprestado, + opções de escala "Quais notas estão em C7sus4?" →C F G Bb(a suspensão sobrevive) "Dê-me um voicing Cmaj7 sem fundamental, depois faça voice-leading para Dm7." → voicings + uma pontuação de voice-leading "Rearmonize Dm7 G7 Cmaj7 com Coltrane changes." →Cmaj7 Ab7 Abmaj7 E7
Ferramentas
| Ferramenta | O que faz |
|---|---|
analyze_chord | Acorde → fundamental, qualidade, intervalos, numeral romano e função harmônica (dominantes secundárias, rótulos de intercâmbio modal) |
resolve_chord | Acorde → notas soletradas (enharmonicamente corretas), frequências, MIDI, recomendações de escala |
generate_voicing | Voicings prontos para instrumento (sem fundamental/bill_evans, shell, tríade, pad, guide-tones, drop-2/3); passe previousNotes para uma pontuação de voice-leading; colorPreferences para tensões explícitas |
reharmonize | Rearmonização de progressões — 8 técnicas: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (ou auto) |
conduct_band | Condução de banda em linguagem natural → faixas + MIDI (MCP hospedado v0.3+) |
Roda no motor de grade v2 — acordes sus corretos, tríades reais, soletração enharmônica, todos os dominantes alterados — com timeouts de requisição, relatórios de cota e erros estruturados.
Companheiros de Conductor e composição (somente Desktop)
Para loops de agente ouvir (conduzir → renderização no servidor → WAV pelos seus alto-falantes), adicione um segundo servidor local junto com as ferramentas de teoria hospedadas:
{
"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 | Ferramentas |
|---|---|
thiri-conductor-mcp | conduct_band, render_audio (Csound no servidor via POST /v2/render), play_audio, search_csound_corpus |
thiri-composition-mcp | Ferramentas de IR de composição + play_composition (pré-visualização fluidsynth) |
A renderização roda no servidor a partir da v0.5.0 — sem necessidade de instalar Csound. Prova: npm run test:conductor · documentação ao vivo: build.thiri.ai/lab/conductor-mcp · receitas de agentes.
Agente Conductor (composição por vibe)
Persona de ponta a ponta para composição local por vibe — skill, CLI e painel do Band:
| Entrada | Comando / caminho |
|---|---|
| Skill do Cursor | Copie 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" |
| Painel | npm run dev:studio → localhost:5173/band → painel Vibe Conduct |
| Prova no Lab | build.thiri.ai/lab/conductor-agent |
Configuração MCP dupla acima + mapConductResultToStudioModules após cada conduct_band. A última renderização via CLI grava ~/.thiri/conductor-last.json (somente local, não commitado).
Receita principal de agente (analisar → conduzir → renderizar → criticar)
Cole em ordem após a configuração MCP dupla acima:
- Analisar — "Analise Dm7 G7 Cmaj7 na tonalidade C com analyze_chord; resuma numerais romanos e tensão."
- Conduzir — "conduct_band: Rhodes pad quente, baixo caminhante, bateria com escova, 8 compassos swing médio em C."
- Renderizar — "render_audio a partir do resultado da condução no tempo 120."
- Criticar — "play_audio; critique voice-leading e equilíbrio de registro; sugira uma revisão."
Prompts completos: build.thiri.ai/lab/agent-recipes
Limite entre hospedado e local
| Superfície | Renderização de áudio |
|---|---|
mcp.thiri.ai / conector hospedado | Não — apenas teoria + faixas conduct_band |
thiri-conductor-mcp local | Sim — WAV renderizado no servidor (POST /v2/render), reproduzido localmente; sem necessidade de instalar Csound |
Instalação
Obtenha uma chave gratuita em build.thiri.ai/developers, depois escolha um caminho:
Claude Desktop / web / mobile — hospedado (conector personalizado em um clique, nada para instalar):
Configurações → Conectores → Adicionar conector personalizado → URL https://mcp.thiri.ai/mcp → cole sua chave sk_live_ na página de consentimento. Mesmas 5 ferramentas, mesma chave, mesma cota — sem arquivo de configuração, sem npx.
Claude Code (uma linha):
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" }
}
}
}
Prefere HTTP bruto? (sem necessidade de MCP)
O mesmo motor é uma API REST simples:
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. Veja openapi.yaml.
Variáveis de ambiente
| Variável | Padrão | Descrição |
|---|---|---|
THIRI_API_KEY | (nenhum) | Token Bearer (sk_live_…) — obtenha um em build.thiri.ai/developers |
THIRI_API_URL | https://chords.thiri.ai | Base da API (substitua apenas para desenvolvimento local) |
Desenvolvimento
npm install && npm run build && npm start
Licença
PolyForm Noncommercial 1.0.0 — © 2026 Blues Prince Media. Gratuito para uso
pessoal, de pesquisa e não comercial; uso comercial requer licença
(dennison@bluesprincemedia.com). Veja LICENSE. Versões publicadas na
v0.5.0 ou antes permanecem sob a licença dupla MIT/PolyForm com a qual foram lançadas.
A partir da v0.5.0, o motor de composição e o renderizador Csound rodam no servidor por trás da API hospedada (
POST /v2/compose,POST /v2/render); seu código-fonte não é mais incluído neste pacote.