Lab · Phase 1 · Live proof
Band Studio MCP Proof
The Band studio is a marketing-grade developer console for THIRI:
each module shows which MCP tool and HTTP endpoint powers it, pings /v2/analyze for health,
and logs the last API calls (tool, latency, success). No secrets in the repo — paste your key in the panel or set
VITE_THIRI_API_KEY locally.
Meet THIRI — your personified conductor — in the Conductor Chat panel (Plan · Compose · Cron).
Try it
- Local dev:
cd THIRI/production/thiri-studio-local && npm run dev:studio→ open localhost:5173/ (Producer Composer — see Play · Agent demos) - Hosted innovate: build.thiri.ai/innovate/band (Human Gate: Vercel deploy when ready for homepage embed)
- Practice mirror: practice.thiri.ai/band
What the dashboard proves
| Module | MCP tool | Endpoint |
|---|---|---|
| Global chord | analyze_chord | POST /v2/analyze |
| Keys voicing | generate_voicing | POST /v2/voicing |
| Helix arp | resolve_chord | POST /v2/resolve + /v2/analyze |
| Conduct session | conduct_band | POST /v2/conduct |
Claude Desktop / Cursor MCP
{
"mcpServers": {
"thiri": {
"command": "npx",
"args": ["-y", "@bluesprincemedia/thiri-mcp"],
"env": { "THIRI_API_KEY": "sk_live_…" }
}
}
} Agent recipe chain: /lab/agent-recipes · Keys: /developers
Smoke proof JSON
{
"slug": "studio-mcp-proof",
"version": "0.2.0",
"generatedAt": "2026-06-19T12:00:00Z",
"commit": "local",
"demo": {
"local": "http://localhost:5173/",
"studio_dev": "npm run dev:studio (studio-dashboard)",
"production": "https://build.thiri.ai/innovate/band",
"lab_page": "https://build.thiri.ai/lab/producer-composer",
"agent_doc": "THIRI/lab/DEMO_AGENT.md",
"musician_doc": "THIRI/lab/DEMO_MUSICIAN.md"
},
"grammar_apply": true,
"mcp_tools": [
"analyze_chord",
"generate_voicing",
"resolve_chord",
"reharmonize",
"conduct_band"
],
"local_verbs": [
"progression.set",
"helix",
"keys",
"drums",
"fx",
"vocal",
"transport"
],
"api_endpoints": [
"POST https://chords.thiri.ai/v2/analyze",
"POST https://chords.thiri.ai/v2/voicing",
"POST https://chords.thiri.ai/v2/resolve",
"POST https://chords.thiri.ai/v2/reharmonize",
"POST https://chords.thiri.ai/v2/conduct"
],
"mcp_server": "https://mcp.thiri.ai",
"demo_sequence": [
"progression.set Cm7|F7|Bbmaj7|Eb7 key:Bb bpm:92",
"helix motion:pendulum density:1/16 voices:4 smoothness:60",
"drums track:1 steps:1,5,9,13 kit:808-kick revSend:0.15",
"keys instrument:rhodes voicingStyle:rootless pattern:1,5,9,13",
"fx aux1_level:0.6 aux2_level:0.4 send_drums_rev:0.2",
"transport play"
],
"tests": {
"proof_panel": "pass",
"api_call_log": "pass",
"health_ping": "pass",
"conduct_hydration": "pass",
"grammar_apply_local": "pass",
"lastRun": "2026-06-19T12:00:00Z"
},
"notes": "Producer Composer at / (not /band) — ComposerPromptBar accepts deterministic grammar + vibe compose. See DEMO_AGENT.md for copy-paste sequence. Local: cd THIRI/production/thiri-studio-local && npm run dev:studio."
} Deploy path (Human Gate)
Homepage and lab page changes are prepared locally in thiri-build-site.
Operator promotes with Vercel CLI from that directory when approved:
vercel --prod (project: thiri-build-site → build.thiri.ai).
Studio dashboard deploy is separate — embed links point at innovate/band until a dedicated studio host ships.