THIRI Chord Intelligence
官方为AI智能体提供确定性乐理引擎,用于分析和弦、解决和弦、声部配置及和弦再编配。
你可以用 THIRI Chord Intelligence MCP 做什么?
- 分析和弦结构 — 调用
analyze_chord返回任意调内和弦的根音、性质、音程、罗马数字和声功能。 - 解析和弦音符 — 使用
resolve_chord获取等音正确的拼写、频率、MIDI 数值和音阶建议。 - 生成乐器声部 — 请求
generate_voicing,可指定无根音、壳式或 drop-2 等风格,并传入previousNotes以获得声部进行评分。 - 重新和声进行 — 应用
reharmonize,使用tritone_sub、coltrane_changes或auto等技巧来转换和弦进行。 - 指挥乐队 — 使用
conduct_band将自然语言指令转换为乐器音轨和 MIDI 输出。
文档
🎷 THIRI Chord Intelligence — MCP 服务器
为你的 AI 赋予真正的音乐理论。 THIRI 是为 AI 构建者打造的确定性音乐理论 MCP 服务器 + API —— 它让 Claude、Cursor 或任何 MCP 智能体分析和弦、执行罗马数字分析、生成声部排列(voicings)并重新编配和声进行(reharmonize progressions),答案都是计算得出的,而非猜测的。
LLM 会在音乐理论上产生幻觉:错误的音符、伪造的罗马数字、无法正确进行声部引导的排列。THIRI 是一个托管 API 背后的确定性引擎(基于 ℤ/12 上的音级集合理论)——因此 C7sus4 能保留其挂留音,Caug 能以正确的等音拼写 C E G#,而“在 Dm7 G7 Cmaj7 上应用 Coltrane 变化”每次都会返回 Cmaj7 Ab7 Abmaj7 E7。
在你的 Suno / Udio 或其他生成器下游? 包装输出内容,即可获得你的智能体可以信赖的正确和弦图谱。与 tonal.js 或 music21 不同,THIRI 是托管且面向智能体原生的(无需安装,支持任何语言)——而且它能重新编配和声和进行声部引导,而不仅仅是查询和弦。
⭐ 如果这对你有用,请给仓库点个星标——这能帮助其他音乐人和智能体构建者找到它。
👥 加入首批 55 位 AI 音乐构建者:想要更高的速率限制(300 次请求/分钟)、创始人的直接支持,以及即将推出工具的新功能抢先体验?请加入我们在 Skool — Blues People AI 上的开发者社区。
音乐人:2 分钟设置(无需代码)
- 在 build.thiri.ai/developers 获取免费密钥
- 在 Claude 中:设置 → 连接器 → 添加自定义连接器 → URL 填写
https://mcp.thiri.ai/mcp→ 粘贴你的sk_live_密钥 - 直接问 Claude:"用 Coltrane 变化重新编配 Dm7 G7 Cmaj7。"
就这样——无需安装,无需配置文件。开发者:完整的安装选项(Claude Code、桌面版配置、原始 HTTP)见下方。
你可以问什么
"分析 C 调中的 Dm7b5。" →
iiø7、半减七、借用下属和弦 + 音阶选项 "C7sus4 里有哪些音?" →C F G Bb(挂留音得以保留) "给我一个无根音的 Cmaj7 排列,然后声部引导到 Dm7。" → 排列 + 声部引导评分 "用 Coltrane 变化重新编配 Dm7 G7 Cmaj7。" →Cmaj7 Ab7 Abmaj7 E7
工具
| 工具 | 功能 |
|---|---|
analyze_chord | 和弦 → 根音、性质、音程、罗马数字与和声功能(副属和弦、调式互换标记) |
resolve_chord | 和弦 → 拼写音符(等音正确)、频率、MIDI、音阶推荐 |
generate_voicing | 乐器可用排列(无根音/bill_evans、壳形、三和弦、铺底、导音、drop-2/3);传入 previousNotes 可获得声部引导评分;传入 colorPreferences 可标记显式张力音 |
reharmonize | 进行重新编配和声——8 种技巧:tritone_sub、ii_v_insertion、modal_interchange、diminished_passing、secondary_dominant、chain_of_dominants、coltrane_changes、backdoor(或 auto) |
conduct_band | 自然语言乐队指挥 → 声部轨 + MIDI(托管版 MCP v0.3+) |
运行于 v2 网格引擎之上——正确的挂留和弦、真正的三和弦、等音拼写、所有变化属和弦——并带有请求超时、配额报告和结构化错误。
Conductor 与作曲伴侣(仅桌面端)
用于可听的智能体循环(指挥 → 服务端渲染 → 通过扬声器播放 WAV),请在托管理论工具旁添加第二个本地服务器:
{
"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"]
}
}
}
| 二进制文件 | 工具 |
|---|---|
thiri-conductor-mcp | conduct_band、render_audio(通过 POST /v2/render 进行服务端 Csound 渲染)、play_audio、search_corpus |
thiri-composition-mcp | 作曲 IR 工具 + play_composition(fluidsynth 预览) |
渲染自 v0.5.0 起在服务端运行——无需安装 Csound。实证:npm run test:conductor · 在线文档:build.thiri.ai/lab/conductor-mcp · 智能体配方。
Conductor Agent(氛围作曲)
端到端的本地氛围作曲角色——包含技能、CLI 和 Band 仪表盘面板:
| 入口 | 命令 / 路径 |
|---|---|
| Cursor 技能 | 将 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" |
| 仪表盘 | npm run dev:studio → localhost:5173/band → Vibe Conduct 面板 |
| 实验室实证 | build.thiri.ai/lab/conductor-agent |
上述双 MCP 配置 + 每次 conduct_band 后执行 mapConductResultToStudioModules。最后一次 CLI 渲染会写入 ~/.thiri/conductor-last.json(仅本地,不提交)。
旗舰智能体配方(分析 → 指挥 → 渲染 → 评判)
在上方双 MCP 配置之后按顺序粘贴:
- 分析 — "使用 analyze_chord 分析 C 调中的 Dm7 G7 Cmaj7;总结罗马数字和张力音。"
- 指挥 — "conduct_band:温暖的 Rhodes 电钢铺底、行走贝斯、刷子鼓、C 调中速摇摆 8 小节。"
- 渲染 — "以 120 拍速从指挥结果 render_audio。"
- 评判 — "play_audio;评判声部引导和音区平衡;建议一处修改。"
完整提示词:build.thiri.ai/lab/agent-recipes
托管与本地边界
| 表面 | 音频渲染 |
|---|---|
mcp.thiri.ai / 托管连接器 | 否——仅限理论 + conduct_band 声部轨 |
本地 thiri-conductor-mcp | 是——WAV 在服务端渲染(POST /v2/render),在本地播放;无需安装 Csound |
安装
在 build.thiri.ai/developers 获取免费密钥,然后选择一种方式:
Claude 桌面版 / 网页 / 移动端 —— 托管(一键自定义连接器,无需安装任何内容):
设置 → 连接器 → 添加自定义连接器 → URL 填写 https://mcp.thiri.ai/mcp → 在同意页面上粘贴你的 sk_live_ 密钥。同样的 5 个工具、同一个密钥、同一个配额——无需配置文件,无需 npx。
Claude Code(一行命令):
claude mcp add thiri --env THIRI_API_KEY=sk_live_your_key -- npx -y @bluesprincemedia/thiri-mcp
Claude 桌面版(claude_desktop_config.json):
{
"mcpServers": {
"thiri": {
"command": "npx",
"args": ["-y", "@bluesprincemedia/thiri-mcp"],
"env": { "THIRI_API_KEY": "sk_live_your_key" }
}
}
}
偏好原始 HTTP?(无需 MCP)
同一个引擎就是普通的 REST API:
curl -X POST https://chords.thiri.ai/v2/analyze \
-H "Authorization: Bearer YOUR_KEY" -H "content-type: application/json" \
-d '{"chord":"Dm7b5","key":"C"}'
五个端点:/v2/analyze、/v2/resolve、/v2/voicing、/v2/reharmonize、/v2/conduct。参见 openapi.yaml。
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
THIRI_API_KEY | (无) | Bearer 令牌(sk_live_…)——在 build.thiri.ai/developers 获取 |
THIRI_API_URL | https://chords.thiri.ai | API 基础地址(仅本地开发时覆盖) |
开发
npm install && npm run build && npm start
许可证
PolyForm 非商业 1.0.0 — © 2026 Blues Prince Media。个人、研究和非商业用途免费;商业用途需获得许可(dennison@bluesprincemedia.com)。参见 LICENSE。在 v0.5.0 或之前发布的版本保持其随附的 MIT/PolyForm 双许可证。
自 v0.5.0 起,作曲引擎和 Csound 渲染器在托管 API 之后的服务端运行(
POST /v2/compose、POST /v2/render);其源代码不再随本包发布。