io.github.erliona/tunova

Official registry Media and design

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http tunova 'https://api.tunova.ai/mcp' --header 'X-API-Key: <Your Tunova API key (sk_live_…). Get one free at https://tunova.ai>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "tunova": {
            "type": "http",
            "url": "https://api.tunova.ai/mcp",
            "headers": {
                "X-API-Key": "<Your Tunova API key (sk_live_…). Get one free at https://tunova.ai>"
            }
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Tunova SDK
  2. Python
  3. Node / TypeScript
  4. MCP — give an AI agent the power to make music
  5. Verifying webhooks
  6. License

Tunova SDK

Tiny, zero-dependency clients + MCP manifest for the Tunova music API — generate music with Suno (v5.5) over a simple REST or MCP interface. Generation is async and billed only on success: a failed render refunds itself.

  • Python → python/tunova.py — stdlib only, Python 3.8+.
  • Node / TypeScript → node/tunova.ts — Node 18+ (fetch built in).
  • MCP → server.json — hosted Streamable-HTTP server at https://api.tunova.ai/mcp.

Get a key (50 free tokens, no card) at https://tunova.ai. Full reference: https://api.tunova.ai/docs · live status: https://tunova.ai/status.

Tunova is an independent service, not affiliated with or endorsed by Suno. Tracks come from paid Suno plans; review Suno's terms for your use case.

Python

pip install tunova
from tunova import Tunova

t = Tunova("sk_live_…")
job = t.generate("warm lo-fi piano to study to", model="v5.5")
print(job["clips"][0]["audio_url"] if job["status"] == "complete" else job["error"])

Prefer no install? python/tunova.py is stdlib-only — vendor the single file and import it.

Node / TypeScript

npm i tunova
import { Tunova } from "tunova";

const t = new Tunova(process.env.TUNOVA_API_KEY!);
const job = await t.generate("warm lo-fi piano to study to", { model: "v5.5" });
console.log(job.status === "complete" ? job.clips[0]?.audio_url : job.error);

Both generate() calls submit a job and poll until the track is delivered. Prefer fire-and-forget? Use submit() with a callback_url and take an HMAC-signed webhook instead.

MCP — give an AI agent the power to make music

claude mcp add --transport http tunova https://api.tunova.ai/mcp \
  --header "X-API-Key: sk_live_…"

Tools: generate_song · wait_for_song · check_song. Same API key, same billed-on-success rule.

Verifying webhooks

If you pass callback_url, Tunova POSTs the terminal job with X-Webhook-Signature: sha256=<hmac> over <X-Webhook-Timestamp>.<rawBody>, keyed with your whsec_… secret (view/rotate it on the dashboard's API-keys page). Verify against the raw body before parsing — both SDKs ship a verifier (Tunova.verify_webhook / verifyWebhook).

License

MIT — see LICENSE. The SDK code is yours to use freely; your use of the Tunova API is governed by the terms.

Frequently asked questions

What is io.github.erliona/tunova?

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

How do I install io.github.erliona/tunova?

It runs as a remote server. In Claude Code: claude mcp add --transport http tunova 'https://api.tunova.ai/mcp' --header 'X-API-Key: <Your Tunova API key (sk_live_…). Get one free at https://tunova.ai>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.erliona/tunova need an API key?

Yes. It expects X-API-Key, which you set in its configuration.

Is io.github.erliona/tunova open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.erliona/tunova?

It is published by erliona. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.