Skip to main content
Glama

Make a song

create_song

Make an original instrumental song from a description: genre, mood, instruments, tempo, what it's for. Returns it queued; the player in the chat shows it rendering and plays it when it's done (about a minute), with MP3 and WAV downloads and its five stems (drums, bass, guitar, keys, other) as FLAC. Where there's no player, get_song gives those links once it's done. Artist names are not allowed and are removed from prompts before generation: describe the sound instead. Royalty-free, for commercial games and videos. It makes sound effects too, with nothing to switch: a description with no music in it ("heavy rain on a tin roof", "a sword clashing against a metal shield") comes back as a sound effect, one take up to 30 seconds with MP3 and WAV and no stems, and its kind is "sfx".

Input Schema

NameRequiredDescriptionDefault
bpmNoTempo; left out, it's chosen from the prompt.
keyNoA note with sharps and major or minor, like "C major" or "F# minor".
loopNoA seamless loop, for a game level or a background.
seedNoMakes the same song again from the same words and settings; left out, a new one each time.
promptYesThe music in words, e.g. "a calm village theme with flute and harp", or a sound with no music in it for a sound effect, e.g. "footsteps on gravel".
durationNoLength in seconds (default 120).
variationsNoHow many versions of it to make (default 1). Two count as one song.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / prompt / description
      Previous value: -"The music in words, e.g. \"a calm village theme with flute and harp\"."New value: +"The music in words, e.g. \"a calm village theme with flute and harp\", or a sound with no music in it for a sound effect, e.g. \"footsteps on gravel\"."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the full lifecycle: it returns queued, renders in the chat player for about a minute, produces MP3/WAV downloads and five FLAC stems, and falls back to get_song links where no player exists. It also explains the sound-effect branch, including the 30-second one-take limit, lack of stems, and kind="sfx", which is substantial behavioral context not available from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description front-loads the primary purpose and keeps all major details in one dense paragraph. It is long but largely earned by the tool's dual song/sfx behavior and return-flow complexity, though the paragraph could be structured more cleanly for scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the absence of an output schema, and the important song-versus-sfx branching, the description is complete enough for an agent to call it correctly and understand what comes back. It covers generation, queuing, player rendering, downloads, stems, fallback retrieval, licensing, artist-name restrictions, and sound-effect behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all seven parameters, including bpm, key, loop, seed, duration, variations, and prompt. The description reinforces prompt phrasing and adds the sfx duration constraint, but it does not provide meaningfully more detail for key, seed, loop, or variations beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: making an original instrumental song from a description, with a clear secondary mode for sound effects. It also names the get_song sibling for retrieving links when no player is present, so the agent can distinguish this creation tool from result-retrieval tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear conditions for use, including prompt phrasing, the no-artist-names rule, and how to request a sound effect rather than music. It names get_song as the fallback retrieval path, but it does not explicitly say when not to use create_song versus stem-editing siblings like redo_stem or undo_stem.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources