tunova
Generate Suno AI music (v5.5) from any MCP client. Async; billed only on success.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"tunova": {
"url": "https://api.tunova.ai/mcp"
}
}
}リモートエンドポイント
https://api.tunova.ai/mcpstreamable-httpできること
ツール一覧
ツール(3)
🟢generate_song(prompt, custom, tags, title, instrumental, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "What the song should be about (simple mode), or the exact lyrics (when custom=true)."
},
"custom": {
"type": "boolean",
"description": "false (default): describe the song and Suno writes everything. true: `prompt` is the literal lyrics, and `tags`/`title` are used."
},
"tags": {
"type": "string",
"description": "Style/genre, e.g. 'lofi hip hop, mellow, rainy'. Most useful in custom mode."
},
"title": {
"type": "string",
"description": "Song title (custom mode)."
},
"instrumental": {
"type": "boolean",
"description": "If true, generate without vocals."
},
"model": {
"type": "string",
"enum": [
"v5.5"
],
"description": "Suno model version (v5.5 — the only model). Optional; defaults to v5.5."
},
"idempotency_key": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"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."
}
},
"required": [
"prompt"
],
"additionalProperties": false
}⚪wait_for_song(job_id, max_wait_seconds)
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.
入力スキーマ
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The job_id returned by generate_song."
},
"max_wait_seconds": {
"type": "number",
"description": "How long to wait before returning (default 45, max 55)."
}
},
"required": [
"job_id"
],
"additionalProperties": false
}🟢check_song(job_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The job_id returned by generate_song."
}
},
"required": [
"job_id"
],
"additionalProperties": false
}コミュニティ
エビデンス