Server definition
- Hash
- sha256:4c45554fb49a407031c4c46fefb16a63a383e92d0f6e5fe893133804fe473c50
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "Generate music with Suno. Call generate_song to start a song (returns a job_id; rendering takes 1-3 minutes), then wait_for_song with that job_id to get the audio URL once ready. Use check_song for a one-shot status. Set X-API-Key (your sk_live_ key from https://tunova.ai/keys) in the MCP client headers.",
"tools": [
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"job_id": {
"description": "The job_id returned by generate_song.",
"type": "string"
}
},
"required": [
"job_id"
],
"type": "object"
},
"name": "check_song",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"custom": {
"description": "false (default): describe the song and Suno writes everything. true: `prompt` is the literal lyrics, and `tags`/`title` are used.",
"type": "boolean"
},
"idempotency_key": {
"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"
},
"instrumental": {
"description": "If true, generate without vocals.",
"type": "boolean"
},
"model": {
"description": "Suno model version (v5.5 — the only model). Optional; defaults to v5.5.",
"enum": [
"v5.5"
],
"type": "string"
},
"prompt": {
"description": "What the song should be about (simple mode), or the exact lyrics (when custom=true).",
"type": "string"
},
"tags": {
"description": "Style/genre, e.g. 'lofi hip hop, mellow, rainy'. Most useful in custom mode.",
"type": "string"
},
"title": {
"description": "Song title (custom mode).",
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"name": "generate_song",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"job_id": {
"description": "The job_id returned by generate_song.",
"type": "string"
},
"max_wait_seconds": {
"description": "How long to wait before returning (default 45, max 55).",
"type": "number"
}
},
"required": [
"job_id"
],
"type": "object"
},
"name": "wait_for_song",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:4c45554fb49a407031c4c46fefb16a63a383e92d0f6e5fe893133804fe473c50 | sha256sum