Next AI Draw.io
draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand
Description from the maker (original English)
Deterministic music theory for agents: analyze, voice, reharmonize, conduct — computed, not guessed
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
THIRI_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.thiri.ai/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"chord-intelligence": {
"command": "npx",
"args": [
"-y",
"@bluesprincemedia/thiri-mcp"
],
"env": {
"THIRI_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http chord-intelligence https://mcp.thiri.ai/mcpclaude mcp add chord-intelligence --env THIRI_API_KEY=your-value -- npx -y @bluesprincemedia/thiri-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"chord-intelligence": {
"url": "https://mcp.thiri.ai/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"chord-intelligence": {
"command": "npx",
"args": [
"-y",
"@bluesprincemedia/thiri-mcp"
],
"env": {
"THIRI_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"chord-intelligence": {
"type": "http",
"url": "https://mcp.thiri.ai/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"chord-intelligence": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bluesprincemedia/thiri-mcp"
],
"env": {
"THIRI_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.thiri.ai/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Tool names and descriptions exactly as the server reported them on Nov 10, 2026. The maker wrote them, not us; we show them as plain text.
analyze_chordParse a chord into root, quality, intervals, and (with a key) roman numeral + function. Numerals use the jazz convention by default (Cmaj7 in Am = ♭IIIΔ7); both jazz and classical numerals are always returned in `numerals`, and other valid readings in `alternatives`. Pass `scale`
resolve_chordResolve a chord to spelled notes, frequencies, MIDI, and recommended scales.
generate_voicingInstrument-ready voicing in a style; pass previousNotes for a voice-leading score.
reharmonizeReharmonize a progression. Techniques: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (or auto).
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
The registry name was verified against the domain thiri.ai (the registry checks domain ownership)
Code last changed 14 days ago
We have not read this repo from GitHub yet
Responded in 180 ms (HTTP 200)
No sign-in needed
Read 4 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 4 of 4 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: THIRI_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed 14 days ago, and the latest version (0.5.2) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Next AI Draw.io, Pascal 3D Editor, screenpipe
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand
Create, inspect, validate, and save editable 3D building scenes with Pascal's MCP server.
Search your local screen recordings, audio transcripts, and computer activity from screenpipe.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Give your AI real music theory. THIRI is the deterministic music theory MCP server + API for AI builders — it lets Claude, Cursor, or any MCP agent analyze chords, run roman-numeral analysis, generate voicings, and reharmonize progressions with answers that are *computed, not guessed*.
LLMs hallucinate music theory: wrong notes, fake roman numerals, voicings that don't voice-lead. THIRI is a deterministic engine (pitch-class-set theory over ℤ/12) behind a hosted API — so C7sus4 keeps its suspension, Caug spells C E G#, and "Coltrane changes on Dm7 G7 Cmaj7" returns Cmaj7 Ab7 Abmaj7 E7, every time.
Downstream of Suno / Udio or any generator? Wrap the output and get a correct chord chart your agent can trust. And unlike tonal.js or music21, THIRI is hosted and agent-native (no install, any language) — and it *reharmonizes* and *voice-leads*, not just looks chords up.
⭐ If this is useful, star the repo — it helps other musicians and agent builders find it.
👥 Join the AI Music Builders: Want elevated rate limits, direct founder support, and early access to upcoming tools? Join our developer community on [Skool — T.H.I.R.I. Builders](https://www.skool.com/thiri-builders-6682/about).
https://mcp.thiri.ai/mcp → paste your sk_live_ keyThat's it — no install, no config file. Builders: full install options (Claude Code, Desktop config, raw HTTP) are below.
*"Analyze Dm7b5 in C."* →
iiø7, half-diminished, borrowed predominant, + scale options
*"What notes are in C7sus4?"* →
C F G Bb(the suspension survives)
*"Give me a rootless Cmaj7 voicing, then voice-lead into Dm7."* → voicings + a voice-leading score
*"Reharmonize Dm7 G7 Cmaj7 with Coltrane changes."* →
Cmaj7 Ab7 Abmaj7 E7
| Tool | What it does |
|---|---|
analyze_chord | Chord → root, quality, intervals, roman numeral & harmonic function (secondary dominants, modal-interchange labels) |
resolve_chord | Chord → spelled notes (enharmonically correct), frequencies, MIDI, scale recommendations |
generate_voicing | Instrument-ready voicings (rootless/bill_evans, shell, triad, pad, guide-tones, drop-2/3); pass previousNotes for a voice-leading score; colorPreferences for explicit tensions |
reharmonize | Progression reharmonization — 8 techniques: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (or auto) |
conduct_band | Natural-language band conduct → lanes + MIDI (hosted MCP v0.3+) |
Runs on the v2 grid engine — correct sus chords, real triads, enharmonic spelling, all altered dominants — with request timeouts, quota reporting, and structured errors.
For hear-it agent loops (conduct → server-side render → WAV through your speakers), add a second local server alongside hosted theory tools:
{
"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 | Tools |
|---|---|
thiri-conductor-mcp | conduct_band, render_audio (server-side Csound via POST /v2/render), play_audio, search_corpus |
thiri-composition-mcp | Composition IR tools + play_composition (fluidsynth preview) |
Rendering runs server-side as of v0.5.0 — no Csound install needed. Proof: npm run test:conductor · live docs: build.thiri.ai/lab/conductor-mcp · agent recipes.
End-to-end persona for local vibe composition — skill, CLI, and Band dashboard panel:
| Entry | Command / path |
|---|---|
| Cursor skill | Copy 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 → Vibe Conduct panel |
| Lab proof | build.thiri.ai/lab/conductor-agent |
Dual MCP config above + mapConductResultToStudioModules after each conduct_band. Last CLI render writes ~/.thiri/conductor-last.json (local only, not committed).
Paste in order after dual MCP config above:
Full prompts: build.thiri.ai/lab/agent-recipes
| Surface | Audio render |
|---|---|
mcp.thiri.ai / hosted connector | No — theory + conduct_band lanes only |
Local thiri-conductor-mcp | Yes — WAV rendered server-side (POST /v2/render), played locally; no Csound install needed |
Get a free key at [build.thiri.ai/keys](https://build.thiri.ai/keys), then pick a path:
Claude Desktop / web / mobile — hosted (one-click custom connector, nothing to install): Settings → Connectors → Add custom connector → URL https://mcp.thiri.ai/mcp → paste your sk_live_ key on the consent page. Same 5 tools, same key, same quota — no config file, no npx.
Claude Code (one line):
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" } } } }
The same engine is a plain 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"}'
Five endpoints: `/v2/analyze`, `/v2/resolve`, `/v2/voicing`, `/v2/reharmonize`, `/v2/conduct`. See [`openapi.yaml`](./openapi.yaml).
| Variable | Default | Description |
|---|---|---|
THIRI_API_KEY | (none) | Bearer token (sk_live_…) — get one at build.thiri.ai/keys |
THIRI_API_URL | https://chords.thiri.ai | API base (override only for local dev) |
npm install && npm run build && npm start
PolyForm Noncommercial 1.0.0 — © 2026 Blues Prince Media. Free for personal, research, and noncommercial use; commercial use requires a license (dennison@bluesprincemedia.com). See LICENSE. Versions published at or before v0.5.0 remain under the MIT/PolyForm dual license they shipped with.
As of v0.5.0 the composition engine and Csound renderer run server-side behind
the hosted API (
POST /v2/compose,POST /v2/render); their source no longer
ships in this package.