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
}커뮤니티
증거