A browser-based synthesizer that LLMs can play.
Web Audio synth controllable via MCP, so Claude can play music programmatically.
Claude: "Play a I-IV-V-I progression"
│
▼ MCP
┌─────────────┐ ┌─────────────┐
│ MCP Server │──ws──│ Browser │──► 🔊
└─────────────┘ └─────────────┘
npm install
npm run dev # Start synth at http://localhost:3000Open browser, click "Start Audio", then use Claude Code to play:
> Play a C major chord
> Play Für Elise
> Make it sound like a bass and play something funky
| Tool | Description |
|---|---|
play_note |
Play a single note (e.g., "C4", "F#3") |
play_chord_sequence |
Play chord progressions |
play_sequence |
Play melodies |
set_config |
Change waveform, filter, envelope |
get_config |
Read current settings |
panic |
Stop all notes |
- Synth: Web Audio API (oscillator → filter → gain → output)
- Bridge: MCP server (stdio) + WebSocket to browser
- UI: Vanilla TypeScript, Canvas visualization
MIT
Made by Alé... but mostly Claude 🤖🎹 (Don't tell him I wrote this too)