Shawarma

A music MCP server your agent can keep editing

Shawarma is the music MCP server whose songs your agent can keep editing.

Add one address, https://shawarma.studio/mcp, to Claude, ChatGPT, Codex or Cursor. Your agent can then make a song from words, change only the part you ask for, and export an MP3 or WAV.

Boss Hall

140 BPM, low strings and war drums, from make_song

  1. The doors openstrings, bass
  2. The fightstrings, drums, bass, brass

Made by an agent

  • Written by the agent

    100 BPM, plucks and a beat, from write_song on Free

    Make it yours

Set it up in your agent

The address for every agent is https://shawarma.studio/mcp. Replace shk_… with a key from Development, in your account menu.

Claude Code

Run this once in your terminal.

claude mcp add --transport http shawarma https://shawarma.studio/mcp \
  --header "Authorization: Bearer shk_…"

Codex

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_…"

Cursor

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_…" }
    }
  }
}

Claude.ai

No key to copy: you sign in to Shawarma.

  1. Open Settings, then Connectors.
  2. Choose Add custom connector and paste the address above.
  3. Choose Connect, sign in to Shawarma and choose Allow.

ChatGPT

No key to copy: you sign in to Shawarma.

  1. Open Settings, then Apps and connectors. Under Advanced settings, turn on developer mode (custom connectors need it).
  2. Choose Create, paste the address above and choose OAuth.
  3. Sign in to Shawarma and choose Allow.

The tools your agent gets

The same tools are a plain web API for your own code.

ToolWhat it doesPlan
make_songA new song from words: style, mood, length.Pro, from your AI allowance
change_songChanges only what was asked and saves a new version.Pro, from your AI allowance
get_song / list_songsTitle, code, versions and links.Free
restore_versionGoes back to an earlier version.Free
share_songA public link that plays without signing in.Free
export_audioAn MP3 or WAV file of the song.Pro
list_soundsDrum kits, instruments, darbuka and riq, maqam scales.Free
write_songYour agent writes the music code; Shawarma checks it and saves it.Free
check_code / guideFinds mistakes in music code, and a short guide for the agent.Free
get_jobFollows a long request (composing, audio) until it is ready.Free

Then ask for changes

Once your song plays, type what it needs. It changes while it plays, and you keep only what you like.

  • Youmake background music for my game’s boss fight
  • Youmake the drums heavier
  • Yourestore version 1
  • Youexport it as a WAV
  • Youlist the darbuka sounds

Why a music MCP server

  • Edits, not new rolls

    Every song is code. "Busier drums" changes the drums and nothing else, and every version is kept.

  • One address

    The same server works in Claude, ChatGPT, Codex and Cursor. Claude.ai and ChatGPT sign in, the others use a key.

  • Real files

    Export MP3 or WAV on Pro, or share a link that plays. You own what you make and can use it in your videos and games. Some built-in sounds ask for a credit; the list is on the Terms page.

See the code of “Boss Hall”
setcpm(35) // 140 BPM, C minor, make_song("boss fight, game background")

const strings = note("<[c3,g3,eb4] [ab2,eb3,c4] [bb2,f3,d4] [g2,d3,b3]>").s("gm_string_ensemble_1").gain(.3)
const drums = s("bd ~ ~ bd ~ ~ bd ~, ~ ~ ~ ~ sd ~ ~ ~, ~ ~ ~ ~ ~ ~ [lt lt] [mt ht]").gain(.44)
const bass = note("<[c2 c2 ~ c2] [ab1 ab1 ~ ab1] [bb1 bb1 ~ bb1] [g1 g1 ~ b1]>").s("sawtooth").lpf(500).gain(.28)
const brass = note("<[c5 ~ ~ g4] [ab4 ~ ~ ~] [bb4 ~ d5 ~] [b4 ~ ~ ~]>").s("gm_trumpet").gain(.18)

arrange(
  [2, stack(strings, bass)],                 // the doors open
  [8, stack(strings, drums, bass, brass)],   // the fight
)

Questions

What is a music MCP server?
MCP is the way AI agents use outside tools. A music MCP server gives your agent tools to make songs, change them and export audio, so it can make music when you ask.
Which agents work with it?
Claude Code, Codex and Cursor with a key, and Claude.ai and ChatGPT by signing in. Any agent that speaks MCP over HTTP can use the same address.
Is there an MCP server for audio files?
Yes. Shawarma’s export_audio tool renders a song as an MP3 or WAV file and gives your agent a download link (Pro).
Do I need Pro?
No. On Free, your agent writes the music code itself, and Shawarma checks, saves, plays and shares it. With Pro, Shawarma’s composer writes from your words and you can export audio.
Who owns the songs?
You own what you make and can use it in your videos and games. Some built-in sounds ask for a credit; the list is on the Terms page.

The sounds that ask for a credit: Sound credits on the Terms page.

Try a song before you connect

A boss fight is already typed in. Press the button, or say what you need.

Free. No sign-up for your first song.

Have an account?Continue with Google

By continuing you agree to the Terms and the Privacy policy.