Skip to main content
Glama

Suno MCP

Sunoで音楽を生成するためのMCP(Model Context Protocol)サーバーです。

機能

  • 楽曲生成: カスタム歌詞とスタイルタグを指定して生成

  • 説明文から生成: Suno AIに歌詞を作成させる

  • 完了待機: 完了を待機し、Markdown埋め込み付きのオーディオURLを取得

  • MP3ダウンロード: ローカルフォルダへMP3をダウンロード

  • トークン自動更新: 有効期限切れ時の自動更新

Related MCP server: Suno-MCP

要件

  • Node.js 18以上

  • http://localhost:9100 でSunoにログイン済みの BrowserOS(または --remote-debugging-port を有効にしたChromium)。CDP_URL で上書き可能。

  • Sunoアカウント(無料または有料)

インストール

npm install

Claude Codeでの使用方法

.mcp.json に以下を追加します:

{
  "suno": {
    "command": "node",
    "args": ["/path/to/suno-mcp/src/index.js"]
  }
}

ツール

ツール

説明

suno_generate_song

カスタム歌詞とスタイルで生成

suno_generate_from_description

説明文からAIが歌詞を作成

suno_wait_for_songs

完了を待機し、URLとMarkdownを返す

suno_check_status

生成ステータスを確認

suno_get_credits

アカウントのクレジット情報を取得

suno_get_recent

最近の楽曲リストを取得

suno_download_song

MP3をフォルダにダウンロード

仕組み

認証

Sunoは認証にClerkを使用しており、短期間有効なJWTトークンを利用します。クライアントはCDP経由でアクティブなSunoタブ内の window.Clerk.session.getToken() を呼び出します。Clerkが内部で更新を処理するため、ページのリロードは不要です。トークンは exp クレームの5分前までキャッシュされます。

楽曲生成

直接のAPI呼び出しはhCaptchaにより失敗します。フォームセレクタをスクレイピングするのではなく、クライアントはSuno自身のReactアプリを操作します:

  1. CDP経由でSunoタブに接続し、必要に応じて /create に移動します。

  2. 作成ボタンからReactファイバーツリーを辿り、onCreateClick / lyrics / styles / mode をプロップスとして公開しているコンポーネント(セマンティックな生成ハンドラー)を見つけます。

  3. React互換のネイティブセッターを使用して歌詞とスタイルのテキストエリアに入力し、内部状態を更新します。

  4. ファイバーのプロップスに新しい値が反映される(つまりReactが再レンダリングされる)まで待機します。

  5. ボタンの座標に対してCDPの Input.dispatchMouseEvent を使用して信頼されたマウスクリックを送信します。hCaptchaはCDPで合成されたイベントを実際のユーザー操作として受け入れます(JSから onCreateClick() を呼び出すとキャプチャに拒否されます)。

  6. CDPの Network イベント経由で /api/generate/v2 のレスポンスをキャプチャし、新しいクリップIDを返します。ネットワークイベントを見逃した場合は、/api/project/default をポーリングしてフォールバックします。

このアプローチはUIの再設計に対して堅牢です。クラス名やtextContentの一致、DOMレイアウトではなく、セマンティックなReactプロップス(onCreateClick, lyrics, styles)と aria-label="Create song" ボタン(どちらも変更される可能性が低い重要な要素)に依存しているためです。

// Generate a song
const result = await suno_generate_song({
  lyrics: "[Verse]\nHello world\n\n[Chorus]\nThis is a test",
  style: "indie folk, acoustic, male vocals"
});

// Wait for it to complete
const songs = await suno_wait_for_songs({
  ids: result.songIds
});

// Download it
await suno_download_song({
  songId: songs[0].id,
  folder: "./downloads"
});

既知の制限

  • タイトルフィールドは正常に機能しません(Suno UIの制限であり、新しい生成パスには現在組み込まれていません)。

  • generate_from_description(シンプルモード)は、UIモードの切り替えが見つからない場合、現在カスタムモードにフォールバックします。決定論的な動作が必要な場合は generate_song で歌詞とスタイルを渡してください。

  • アクティブで表示されているSunoセッションを持つBrowserOSが必要です。信頼されたクリックを成功させるため、作成ボタンは画面上でゼロ以外のサイズである必要があります。

  • トークンは約1時間ごとに期限切れになります(Clerk経由で自動更新されます)。

ライセンス

MIT

Install Server
F
license - not found
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

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

  • MCP server for Suno AI music generation, lyrics, and covers

  • Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/unforced/suno-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server