Skip to main content
Glama

create_music

AI music generation from a text prompt. Creates a complete original song with vocals, melody, and full arrangement as a finished MP3, not a loop or preview. Describe genre, mood, instrumentation, and tempo, supply your own lyrics, request an instrumental, or pin a style tag. Use for soundtracks under video, release-ready artist tracks, podcast and game themes, and demo sketches. Async: poll songId until model_version leaves 'pending'. — $0.50 USDC via x402 on Base (chain 8453).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoComma-separated keywords to tag the generated file.
styleNoSpecific musical style or genre tag (e.g., 'Hip Hop', 'Ambient', 'Rock'). Helping the AI focus on a specific sound.
lyricsNoYour custom lyrics. Required if custom_mode is true.
promptYesDescribe the song you want to create. Include genre, mood, instruments, and any specific vibe. Example: 'Upbeat 80s synthwave with driving bass and neon atmosphere' or 'A melancholic acoustic guitar ballad about rain'.
custom_modeNoSet to true to use your own lyrics provided in the 'lyrics' field.
vocal_genderNoPreferred gender for the vocalist ('m' for male, 'f' for female).
durationSecondsNoDuration of the track in seconds. Defaults to a full-length song.
make_instrumentalNoIf true, generates a track without vocals.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -10New value: +120
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."New value: +"Duration of the track in seconds. Defaults to a full-length song."
  2. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -120New value: +10
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Defaults to a full-length song."New value: +"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."
  3. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -10New value: +120
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."New value: +"Duration of the track in seconds. Defaults to a full-length song."
  4. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -120New value: +10
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Defaults to a full-length song."New value: +"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."
  5. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -10New value: +120
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."New value: +"Duration of the track in seconds. Defaults to a full-length song."
  6. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -120New value: +10
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Defaults to a full-length song."New value: +"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."
  7. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -10New value: +120
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."New value: +"Duration of the track in seconds. Defaults to a full-length song."
  8. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -120New value: +10
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Defaults to a full-length song."New value: +"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."
  9. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -10New value: +120
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."New value: +"Duration of the track in seconds. Defaults to a full-length song."
  10. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -120New value: +10
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Defaults to a full-length song."New value: +"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."
  11. Changed2 schema fields changed
    • changedInput schema / properties / durationSeconds / default
      Previous value: -10New value: +120
    • changedInput schema / properties / durationSeconds / description
      Previous value: -"Duration of the track in seconds. Default is 10s for quick previews, up to 120s for full tracks."New value: +"Duration of the track in seconds. Defaults to a full-length song."
  12. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full disclosure burden and does so well: it states the output format, async polling behavior (songId/model_version leaving 'pending'), and pricing/payment rails (USDC via x402 on Base). This goes well beyond the schema's field-level information.

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 is front-loaded with the core purpose and every sentence carries weight—use cases, async behavior, and cost are all relevant. The first two sentences overlap slightly in saying this is text-prompt music generation, which keeps it just shy of a 5.

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

Completeness4/5

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

For a tool with no output schema, the description provides the necessary extra context: final MP3 output, async polling touchpoints, and payment details. It is terse about the actual poll mechanism and response shape, but the 100% input-schema coverage compensates for parameter-side gaps.

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

Parameters4/5

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

The schema already documents all 8 parameters, so the baseline is 3; the description adds useful mapping like 'Describe genre, mood, instrumentation, and tempo' (prompt), 'supply your own lyrics' (custom_mode/lyrics), 'request an instrumental' (make_instrumental), and 'pin a style tag' (style). This enriches without duplicating schema detail.

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 identifies a specific verb and resource: AI music generation from a text prompt producing a complete original song as an MP3. It also differentiates from the sibling media tools by specifying vocals, melody, full arrangement, and 'not a loop or preview'.

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 concrete, relevant use cases (soundtracks, release-ready tracks, podcast/game themes, demo sketches) and clarifies the output type. It does not explicitly name sibling alternatives or state when not to use this tool, so it falls short of a 5.

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