Claude Code
Run this once in your terminal.
claude mcp add --transport http shawarma https://shawarma.studio/mcp \
--header "Authorization: Bearer shk_…"MCP serverAI music API
Connect Claude, ChatGPT, Codex or Cursor to Shawarma. Ask for a song in plain words, then ask for changes: your agent changes only the part you asked about, and every version is kept.
>You: Make background music for my game’s boss fight, then make the drums heavier.
●shawarma · make_song(description: “boss fight, game background”)
└Made “Boss Hall”: 140 BPM, low strings and war drums. shawarma.studio/s/k7qmz2
●shawarma · change_song(song_id: "boss-hall", request: “heavier drums”)
└Version 2: a second kick and louder toms. The strings did not change.
Claude: The drums are heavier now. Do you want the MP3?
>You: Yes please.
●shawarma · export_audio(song_id: "boss-hall", format: “mp3”)
└boss-hall.mp3 · 1:12
Other AI music tools hand back one finished file: keep it or roll again. A Shawarma song is written as code, so “busier drums” changes the drums and nothing else. Your agent can open the song next week and pick up where it stopped.
Sign in, open Development from your account menu, and make a key. Claude.ai and ChatGPT need no key: you sign in from the app.
Add Shawarma to your agent with the setup below. It takes a minute.
“A calm 20-second intro for my podcast.” Then ask for changes until it is right.
The same tools are a plain web API at https://shawarma.studio/v1 for your own code. Every argument and route is in the API reference.
| Tool | What it does | Plan |
|---|---|---|
make_song | A new song from words: style, mood, length. | Pro, from your AI allowance |
change_song | Changes only what was asked and saves a new version. | Pro, from your AI allowance |
get_song / list_songs | Title, code, versions and links. | Free |
restore_version | Goes back to an earlier version. | Free |
share_song | A public link that plays without signing in. | Free |
export_audio | An MP3 or WAV file of the song. | Pro |
list_sounds | Drum kits, instruments, darbuka and riq, maqam scales. | Free |
write_song | Your agent writes the music code; Shawarma checks it and saves it. | Free |
check_code / guide | Finds mistakes in music code, and a short guide for the agent. | Free |
get_job | Follows a long request (composing, audio) until it is ready. | Free |
Pro
Your agent sends words and Shawarma’s own composer writes the song, the same one as in the app. It uses your monthly AI allowance. Export MP3 and WAV files too.
Free
Your agent reads the short guide, writes the music code itself, and Shawarma checks, saves, plays and shares it. Up to 30 songs a day, kept in your 3 projects.
The address for every agent is https://shawarma.studio/mcp. Replace shk_… with a key from Development, in your account menu.
Run this once in your terminal.
claude mcp add --transport http shawarma https://shawarma.studio/mcp \
--header "Authorization: Bearer shk_…"Add this to ~/.codex/config.toml, then put the key in your shell profile.
[mcp_servers.shawarma]
url = "https://shawarma.studio/mcp"
bearer_token_env_var = "SHAWARMA_API_KEY"
# in ~/.zshrc or ~/.bashrc
export SHAWARMA_API_KEY="shk_…"Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project). Cursor uses a key: it has no sign-in to Shawarma.
{
"mcpServers": {
"shawarma": {
"url": "https://shawarma.studio/mcp",
"headers": { "Authorization": "Bearer shk_…" }
}
}
}No key to copy: you sign in to Shawarma.
No key to copy: you sign in to Shawarma.
Call the AI music API over HTTPS with the same key.
curl https://shawarma.studio/v1/songs \
-H "Authorization: Bearer shk_…" \
-H "Content-Type: application/json" \
-d '{"description": "calm 20-second intro for a podcast"}'Free to start. Pro adds Shawarma’s composer and audio files.