Skip to main content
Glama

generate_song

Start generating a song with Suno. Returns immediately with a job_id — a full render takes 1-3 minutes, so this does NOT return audio. After calling this, call wait_for_song with the returned job_id to get the audio URL when ready. Costs 10 tokens, billed only on success.

Input Schema

NameRequiredDescriptionDefault
tagsNoStyle/genre, e.g. 'lofi hip hop, mellow, rainy'. Most useful in custom mode.
modelNoSuno model: v6, or v5.5 as a compatibility alias for v6. Optional; the account default is unchanged.
titleNoSong title (custom mode).
customNofalse (default): describe the song and Suno writes everything. true: `prompt` is the literal lyrics, and `tags`/`title` are used.
promptYesWhat the song should be about (simple mode), or the exact lyrics (when custom=true).
instrumentalNoIf true, generate without vocals.
idempotency_keyNoOptional logical-request id. Reuse it to recover one submit; use a new value to intentionally generate the same song again or retry after a terminal failed job. When omitted, Tunova derives a stable key from the song arguments for safe automatic retries.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / model / description
      Previous value: -"Suno model version (v5.5 — the only model). Optional; defaults to v5.5."New value: +"Suno model: v6, or v5.5 as a compatibility alias for v6. Optional; the account default is unchanged."
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "v5.5"
      -]New value: +[
      +  "v6",
      +  "v5.5"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "description": "Optional logical-request id. Reuse it to recover one submit; use a new value to intentionally generate the same song again or retry after a terminal failed job. When omitted, Tunova derives a stable key from the song arguments for safe automatic retries.",
      +  "maxLength": 128,
      +  "minLength": 1,
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / model / description
      Previous value: -"Suno model version. Omit to use the account default."New value: +"Suno model version (v5.5 — the only model). Optional; defaults to v5.5."
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "v4.5",
      -  "v5",
      -  "v5.5"
      -]New value: +[
      +  "v5.5"
      +]
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses async behavior, that no audio is returned, the 1-3 minute render window, the job_id handoff, and the billing model (charged only on success). It stops short of stating auth/permission requirements or rate limits, but covers the traits an agent most needs to behave correctly.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the action, then async semantics, then the required next call, then cost. Every sentence earns its place and nothing is repeated.

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?

There is no output schema, so the description must explain returns, and it does: it specifies the job_id response shape and explicitly rules out audio. It also covers timing and cost, leaving nothing an agent needs before calling.

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 all seven parameters, including the v6/v5.5 enum and the custom/idempotency_key mechanics, are already documented in the schema. The description adds no parameter-level information beyond what the schema provides, so the baseline 3 applies.

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?

States a specific verb and resource ('Start generating a song with Suno') and immediately characterizes the operation as asynchronous, which distinguishes it from sibling check_song and wait_for_song. An agent can tell exactly what this tool initiates without opening the schema.

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?

Explicitly names the follow-up condition and the alternative to use next ('call wait_for_song with the returned job_id'), plus the cost gate ('10 tokens, billed only on success'). It does not explain when the sibling check_song would be preferred over wait_for_song, so the routing guidance is clear but not exhaustive.

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.