Claude Code
Run this once in your terminal.
claude mcp add --transport http shawarma https://shawarma.studio/mcp \
--header "Authorization: Bearer shk_…"Claude cannot make sound by itself. Add Shawarma to Claude, and Claude can make a song, change it and give you the MP3.
Shawarma is a music MCP server at https://shawarma.studio/mcp. You ask Claude for a song in plain words. Claude calls make_song, then change_song for each change, and only that part of the song changes.
First ask
86 BPM, warm keys and a soft beat, made by asking Claude
Busier drums
the same song: only the drums changed
You asked“make the drums busier, keep the rest”
Make it yoursThe address is https://shawarma.studio/mcp. It takes a minute.
Run this once in your terminal.
claude mcp add --transport http shawarma https://shawarma.studio/mcp \
--header "Authorization: Bearer shk_…"No key to copy: you sign in to Shawarma.
Once your song plays, type what it needs. It changes while it plays, and you keep only what you like.
"Make a calm song for my morning video." Plain words, like any other ask.
Shawarma writes the song and sends back a link that plays, and a song Claude can change.
"Busier drums." Claude calls change_song, and only the drums change. Ask for the MP3, and Claude calls export_audio.
setcpm(21.5) // 86 BPM, D major, "a calm song for my morning video"
const keys = note("<[d3,f#3,a3,c#4] [b2,d3,f#3,a3] [g2,b2,d3,f#3] [a2,c#3,e3,g3]>") .s("gm_epiano1") .gain(.3) .room(.4)
const bass = note("<d2 b1 g1 a1>") .s("gm_acoustic_bass") .gain(.4)
const drums = s("bd ~ ~ ~ ~ ~ bd ~, ~ ~ rim ~, [~ hh]*4") .gain(.24)
const bells = note("<[f#5 ~ a5 ~] [~ d5 ~ f#5] [b4 ~ d5 ~] [~ c#5 e5 ~]>") .s("glockenspiel") .gain(.14) .delay(.3)
arrange(
[2, stack(keys, bass)], // the morning
[8, stack(keys, bass, drums, bells)], // the day starts
)The sounds that ask for a credit: Sound credits on the Terms page.
No Claude needed: a calm song is already typed in. Press the button, or say what you need.
Free. No sign-up for your first song.
By continuing you agree to the Terms and the Privacy policy.