mcpField
T
tunova

tunova

リモート
github.com/erlionaメディア・デザイン016 週間前に更新
リポジトリ

tunova について

tunovaは、開発者やMCPクライアント向けのSuno AI音楽生成SDKとホスト型MCPサービスです。v5.5に対応し、非同期で生成して成功時のみ課金します。

主な機能

  1. 01Suno v5.5による音楽生成
  2. 02PythonとNode/TypeScript SDK
  3. 03ジョブの送信と結果のポーリング
  4. 04コールバックURLと署名付きWebhook
  5. 05失敗時は課金なし

活用シーン

  1. 01MCPクライアントから楽曲を生成
  2. 02PythonやNodeのプロジェクトから音楽生成を呼び出す
  3. 03Webhookで非同期ジョブの結果を受信

MCP 対応

ホスト型のStreamable HTTP MCPサービスは、Tunova APIキーを使い、generate_song、wait_for_song、check_songツールを提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.tunova.ai/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://api.tunova.ai/mcp認証が必要

ツール

3
パラメーター型必須説明
tagsstringいいえスタイル/ジャンル。例:'lofi hip hop, mellow, rainy'。カスタムモードで最も役立ちます。
modelenumいいえSunoモデル:v6、または互換性エイリアスとしてのv5.5(v6を指します)。任意。アカウントのデフォルト設定は変更されません。v6 | v5.5
titlestringいいえ曲のタイトル(カスタムモード)。
custombooleanいいえfalse(デフォルト):曲の内容を説明すると、Suno がすべて作成します。true:`prompt` は歌詞そのもので、`tags`/`title` を使用します。
promptstringはい曲のテーマ(シンプルモード)、または正確な歌詞(custom=true の場合)。
instrumentalbooleanいいえtrue の場合、ボーカルなしで生成します。
idempotency_keystringいいえ任意の論理リクエスト ID。同じ値を再利用すると、1 回の送信を復元できます。同じ曲を意図的に再生成する場合や、ジョブが最終的に失敗した後に再試行する場合は、新しい値を使用します。省略すると、Tunova は曲の引数から安定したキーを導出し、安全な自動再試行を可能にします。

詳細

Tunova SDK

Tunova の音楽 API 向けの、依存関係ゼロの小さなクライアントと MCP マニフェストです — シンプルな REST または MCP インターフェースを使って、Suno(v5.5)で音楽を生成できます。 生成は非同期で、成功した場合にのみ課金されます。レンダリングに失敗した場合は、料金が自動的に返金されます。

  • Python → python/tunova.py — 標準ライブラリのみを使用。Python 3.8 以降に対応。
  • Node / TypeScript → node/tunova.ts — Node 18 以降に対応(fetch は組み込み)。
  • MCP → server.json — https://api.tunova.ai/mcp でホストされる Streamable-HTTP サーバー。

https://tunova.ai で API キーを取得できます(無料トークン 50 個、カード不要)。詳しいリファレンス: https://api.tunova.ai/docs · ライブステータス:https://tunova.ai/status。

Tunova は独立したサービスであり、Suno とは提携も推奨関係もありません。楽曲は有料の Suno プランから生成されます。ご利用の際は、用途に応じて Suno の利用規約をご確認ください。

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"])

インストールせずに使いたい場合は、python/tunova.py は標準ライブラリのみを使用するため、このファイルだけを同梱して import できます。

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);

どちらの generate() 呼び出しもジョブを送信し、楽曲が配信されるまでポーリングします。処理を待たずに済ませたい場合は、 submit() に callback_url を指定して、HMAC 署名付きの Webhook を受け取ってください。

MCP — AI エージェントに音楽を作る力を与える

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

ツール:generate_song · wait_for_song · check_song。同じ API キーを使用し、成功した場合にのみ課金されるルールも同じです。

Webhook の検証

callback_url を指定すると、Tunova は最終状態のジョブを X-Webhook-Signature: sha256=<hmac> ヘッダーとともに POST します。署名は <X-Webhook-Timestamp>.<rawBody> に対して計算され、whsec_… シークレット(ダッシュボードの API キーページで確認・ローテーションできます)を使用します。解析する前に、生のボディに対して検証してください — どちらの SDK にも検証関数(Tunova.verify_webhook / verifyWebhook)が含まれています。

ライセンス

MIT — LICENSE をご覧ください。SDK コードは自由にご利用いただけます。Tunova API のご利用には 利用規約が適用されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。