Skip to main content
Glama

Server Details

Generate Suno AI music (v5.5) from any MCP client. Async; billed only on success.

Ownership verified
Status
Healthy
Uptime
100.0% over 81 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
erliona/tunova-sdk
GitHub Stars
0
Server Listing
Tunova
ChatGPT
–
Claude
–

TDQS

A4.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role in an async workflow: generate starts a job, check does a single non-blocking status read, and wait polls until completion. The descriptions explicitly differentiate check_song from wait_for_song, preventing misselection.

Naming Consistency5/5

All three tools follow a consistent snake_case verb_noun pattern: check_song, generate_song, wait_for_song. The shared _song suffix reinforces the domain and predictability.

Tool Count5/5

Three tools is exactly right for a focused async song-generation workflow with start, poll-wait, and single-check operations. No tool feels redundant or missing for the stated purpose.

Completeness4/5

The core lifecycle is covered: start a generation, wait for completion, and check status. Minor gaps exist—no cancel/delete job, no list jobs, and no retrieval of past results beyond job_id—but agents can work around these for the primary flow.

Available Tools

3 tools
check_songAInspect

Get the current status of a song job by job_id — a single check with no waiting. Returns the audio URLs if complete, an error if it failed, or 'processing' if still rendering.

NameRequiredDescriptionDefault
job_idYesThe job_id returned by generate_song.

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 burden of behavioral disclosure. It transparently states the outcome states: 'Returns the audio URLs if complete, an error if it failed, or 'processing' if still rendering.' It also discloses the non-blocking nature ('no waiting'). The description doesn't mention auth or side effects, but for a read-only status check this is adequate.

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?

The description is two sentences with no filler. The main action and key differentiators ('single check with no waiting') are front-loaded, and every clause adds value by specifying behavior and return outcomes.

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?

For a simple tool with one parameter and no output schema, the description fully covers what happens: returns URLs on success, error on failure, 'processing' if pending. It also mentions the non-blocking behavior. The sibling names (generate_song, wait_for_song) provide additional context, making this description complete for the tool's complexity.

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 coverage is 100%, so the job_id parameter is fully described in the schema ('The job_id returned by generate_song'). The description only reiterates that the tool works 'by job_id' without adding additional syntax or format details. Baseline 3 applies as the schema already handles parameter semantics.

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 clearly states the tool's function: 'Get the current status of a song job by job_id'. It uses a specific verb ('Get'), specifies the resource ('song job'), and differentiates itself from siblings by emphasizing 'a single check with no waiting', which distinguishes it from wait_for_song.

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?

The description conveys usage context by contrasting this tool with waiting: 'a single check with no waiting'. This implies it should be used for one-shot status checks rather than blocking until completion, effectively differentiating it from wait_for_song. However, it stops short of explicitly stating 'use this when you want to poll' or naming the alternative for waiting scenarios.

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

generate_songAInspect

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.

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.

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.

wait_for_songAInspect

Wait for a song job to finish and return the audio when ready. Polls server-side for up to ~45 seconds. If the song is ready, returns the clips with audio URLs. If it is still rendering, returns its status so you can call wait_for_song again with the same job_id. Safe to call repeatedly — it only reads status, never starts a new song.

NameRequiredDescriptionDefault
job_idYesThe job_id returned by generate_song.
max_wait_secondsNoHow long to wait before returning (default 45, max 55).

TDQS

A4.7/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 burden and excels. It discloses polling limits (~45 seconds), return behavior on success vs. still rendering, idempotency (safe to call repeatedly), and that it never starts a new song. This is rich behavioral context.

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?

Three sentences, front-loaded with the main purpose, then behavioral details, then safety. Every sentence earns its place with no redundancy or fluff.

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?

Despite no output schema, the description fully explains the polling loop, success/retry paths, and safety profile. It is complete for a two-parameter tool with no annotations, covering both how and when to use it.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaning by referencing 'same job_id' for retries and the ~45-second polling window, which complements the schema's max_wait_seconds parameter and clarifies intended usage.

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 uses a specific verb+resource ('Wait for a song job to finish and return the audio') and clearly distinguishes itself from siblings: it polls for completion rather than just checking status (check_song) or creating a job (generate_song).

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 context: use it after generating a song, and if not ready, call again with the same job_id. It implicitly differentiates from alternatives by stating it returns audio when ready, but does not explicitly mention check_song as an alternative for status-only checks.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedgenerate_song2 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. 1 tool update
    • Changedgenerate_song1 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. 1 tool update
    • Changedgenerate_song2 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. 3 tool updates
    • First observedcheck_song
    • First observedgenerate_song
    • First observedwait_for_song

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    A RunAPI MCP server for the Suno music generation models, enabling task creation (text-to-music, covers, mashups, etc.), polling, and pricing lookup through a single API key.
    21
    488 npm
    1
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    MCP server that enables generating songs or instrumental music using Suno V6, V6_MINI, and V6_WILD models via the Kie.ai API, with support for checking task status and retrieving audio URLs.
    2
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Suno music generation API that enables generating lyrics and custom songs with style tags, model selection, and automatic polling for task completion.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.