Suno by Ace Data Cloud

io.github.AceDataCloudPublished by GitHub account AceDataCloudv2026.11.7.0Updated Nov 7, 2026

Create Suno music, lyrics and covers with Ace Data Cloud; retrieve the same task for results.

The publisher's own server: SunoMV Music Video Generator

VerifiedStreamable HTTPWeb executableMedia & DesignAI & ML

Overview

AI-generated overview

Lets an assistant generate and edit Suno AI music, lyrics and covers through Ace Data Cloud, then track tasks and fetch results.

What you can do
  • Generate songs from a prompt or with custom lyrics, title and style, and generate lyrics from a description
  • Extend, cover, remix, remaster, mash up or replace sections of existing songs, and concatenate segments
  • Separate stems, extract vocals, and export MP4, WAV, MP3, MIDI, timing and subtitle data
  • Create and reuse personas and custom music models, and optimize style descriptions
  • Upload your own audio for extension or cover, and check audio availability
  • Track generation tasks individually or in batch, and list models, actions and lyric formatting guidance
When to use it
Useful when you want an assistant to draft songs, lyrics or cover versions, or to run multi-step audio work such as extending a track, splitting stems or exporting alternate formats, without leaving the chat.
Requirements
Either the hosted endpoint with browser OAuth sign-in, or an Ace Data Cloud API token supplied as ACEDATACLOUD_API_TOKEN (Bearer header for hosted use, environment variable for the local stdio package). Local use needs Python with uv/uvx or pip. An Ace Data Cloud account with service access and balance is required.
Before you install
Generation and edits are paid operations billed to your Ace Data Cloud account; check current pricing and limits first. Generation returns a task ID, and repeating the call to check progress may submit and bill another task. The token is a secret: keep it in a credential store or environment variable, not in prompts or committed configs, and do not configure OAuth and a fixed token at once. Uploaded audio and prompts are sent to Ace Data Cloud.

Installation

In SourceWeft

  1. Open Suno by Ace Data Cloud in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.AceDataCloud%2Fmcp-suno/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "suno-by-ace-data-cloud": {
      "type": "http",
      "url": "https://suno.mcp.acedata.cloud/mcp"
    }
  }
}

README

Suno by Ace Data Cloud

简体中文安装与首用指南

[PyPI version] [PyPI downloads] [Python 3.10+] [License: MIT] [MCP]

A Model Context Protocol (MCP) server for AI music generation using Suno through the AceDataCloud API.

Generate AI music, lyrics, and manage audio projects directly from Claude, VS Code, or any MCP-compatible client.

Use Suno in Glama

Find the Ace-provided Suno source listing or remote connector. Follow the Glama installation, API Token and first-use guide. Public discovery and a successful personal connection are separate checks; generation uses your Ace account balance.

Suno in goose

Use the independent Suno by Ace Data Cloud native goose plugin: install and API Token guide · 简体中文. It reuses this MCP server and does not imply goose Marketplace or default-provider inclusion.

Find the Suno integration in the official MCP Registry

Open Suno in the official MCP Registry, expand the matching io.github.AceDataCloud entry, and use its Packages or Remotes installation information in a client that consumes MCP catalogs. This is the Suno integration provided by Ace Data Cloud; it is not an endorsement by the model vendor. The Registry is a directory, not the app that runs a tool.

Search for mcp-suno (or io.github.AceDataCloud/mcp-suno) to locate the exact entry. The official Registry search currently matches server names; spaces in a display title do not create extra search aliases. If your client does not consume the catalog, use the client-specific connection instructions below and check Applications → General application for your token, service permissions, balance and current price. Keep the original task ID when checking asynchronous results.

Features

  • Music Generation - Create AI-generated songs from text prompts
  • Custom Lyrics & Style - Full control over lyrics, title, and music style
  • Song Extension - Continue existing songs from any timestamp
  • Cover/Remix - Create cover versions with different styles
  • Lyrics Generation - Generate structured lyrics from descriptions
  • Persona Management - Save and reuse voice styles
  • Custom Music Models - Create and reuse app-owned custom music models
  • Task Tracking - Monitor generation progress and retrieve results

Tool Reference

ToolDescription
suno_generate_musicGenerate AI music from a text prompt using Suno's Inspiration Mode.
suno_generate_custom_musicGenerate AI music with full control over lyrics, title, and style (Custom Mode).
suno_extend_musicExtend an existing song from a specific timestamp with new lyrics.
suno_cover_musicCreate a cover or remix version of an existing song in a different style.
suno_concat_musicConcatenate extended song segments into a single complete audio file.
suno_generate_with_personaGenerate music using a saved artist persona for consistent vocal style.
suno_remaster_musicRemaster an existing song; v5/v5.5 require a variation category.
suno_stems_musicSeparate a song into individual stems (vocals and instruments).
suno_replace_sectionReplace a specific time range in a song with new generated content.
suno_upload_extendExtend an uploaded audio (your own music) with new AI-generated content.
suno_upload_coverCreate an AI cover of an uploaded audio (your own music).
suno_mashup_musicBlend exactly two songs using a required creative-direction prompt.
suno_all_stems_musicReturn two distinct 12-stem candidate sets, labeled stem_set 1 and 2 in task results.
suno_generate_lyricsGenerate song lyrics from a text prompt.
suno_get_mp4Get an MP4 video version of a generated song.
suno_get_timingGet timing and subtitle data for a generated song.
suno_check_audio_availabilitySynchronously check for positive evidence that an audio ID is available on the current channel.
suno_extract_vocalsExtract a required vocal interval shorter than 30 seconds.
suno_get_wavGet the lossless WAV format of a generated song.
suno_get_mp3Get the compressed MP3 format of a generated song.
suno_get_midiGet MIDI data extracted from a generated song.
suno_create_personaCreate a new artist persona from an existing audio's vocal style.
suno_create_custom_modelCreate a reusable custom music model from 6 to 24 authorized audio URLs.
suno_get_custom_modelRetrieve one custom music model by ID.
suno_list_custom_modelsList custom music models for the current Suno application.
suno_generate_with_custom_modelGenerate a song using a ready custom music model.
suno_delete_custom_modelArchive a custom music model so it can no longer be used.
suno_optimize_styleOptimize a music style description for better generation results.
suno_mashup_lyricsGenerate mashup lyrics by combining two sets of lyrics.
suno_upload_audioUpload external audio in standard or enhanced mode for subsequent operations.
suno_get_taskQuery the status and result of a music generation task.
suno_get_tasks_batchQuery multiple music generation tasks at once.
suno_list_modelsList all available Suno models and their capabilities.
suno_list_actionsList all available Suno API actions and corresponding tools.
suno_get_lyric_format_guideGet guidance on formatting lyrics for Suno music generation.

Verify the connection before generating

First discover the server's tools, then call suno_list_models with no arguments. This returns local reference information without generating music; it does not validate the application key. Your client's Chat model may still be billed separately.

For an application-backed read-only check, enable only suno_list_custom_models and call it with limit=1. This uses the existing custom-model retrieve_batch operation; it does not create music or train a model. A successful items response, including an empty list for a new application, is the success criterion. The key must permit the custom-model lookup API. This confirms only that lookup's access, not permission to generate music or sufficient balance for a generation.

If the tool is missing, reconnect and refresh the tool list. For 401/403, check the copied key, application/service permissions, Allowed APIs, expiration and usage limits before creating another credential. For other errors retain the task/trace ID, never the key. Do not retry generation to test authentication. Review current pricing before a paid request.

Connect in minutes

The hosted server is https://suno.mcp.acedata.cloud/mcp. Choose one authentication route before following a client example:

RouteUse it whenWhat you provide
Browser sign-in (OAuth)Your MCP client supports remote OAuth; use DCR if the client requires automatic registrationThe server URL; sign in to AceDataCloud and approve access in the browser. No key needs to be pasted into the MCP config.
API tokenYour client cannot complete the remote OAuth flow, or you need an explicit credential for an integrationAn AceDataCloud API token in the client's Bearer header. Keep it in a user-level secret store or environment variable.
Local stdioYou want the MCP process to run on your machineInstall mcp-suno and pass ACEDATACLOUD_API_TOKEN to that process.

The hosted server always receives a Bearer token: with OAuth, the client obtains and sends it after sign-in; with API-token setup, you supply it. DCR is client registration, not a separate AceDataCloud API key. After consent, the hosted service currently reuses or creates an API credential for your account; it may fail if the account cannot obtain one. Some clients offer a published client identity or manual client ID; those are client-specific alternatives, not a second API-token requirement. Browser sign-in does not remove the need for an AceDataCloud account. Music generation uses your AceDataCloud account and may incur usage charges. Review current Suno pricing and limits before generating.

Browser sign-in: hosted server

Use this path for clients with remote MCP OAuth support. Add only the URL first; do not also set an Authorization header. If a client cannot complete discovery or registration, use the API-token route below.

Claude and Claude Desktop chat

Use Claude's remote custom connector in Customize → Connectors → Add custom connector (or your organization's connector settings). Enter the hosted URL, choose sign-in, and select Register automatically for the OAuth client if Claude asks. Complete the AceDataCloud login and consent flow, then enable the connector in your conversation. Claude Desktop's claude_desktop_config.json is for local MCP processes; it is not where Claude's remote custom connectors are installed. Claude's connector guide.

Claude Code
bash
claude mcp add --transport http --scope user suno https://suno.mcp.acedata.cloud/mcpclaude mcp login suno

In Claude Code, /mcp shows the connection and available tools. For project scope, merge {"mcpServers":{"suno":{"type":"http","url":"https://suno.mcp.acedata.cloud/mcp"}}} into <project>/.mcp.json; keep existing entries when merging. Claude Code and Claude Desktop chat have separate MCP configuration. Claude Code MCP guide.

Cursor

In Cursor's MCP settings, add a remote server with the hosted URL and complete the OAuth prompt. For project scope, merge this into <project>/.cursor/mcp.json; for your own machines, use ~/.cursor/mcp.json:

json
{  "mcpServers": {    "suno": {      "url": "https://suno.mcp.acedata.cloud/mcp"    }  }}

The URL-only project config contains no token. Do not commit a project config if you later add a real token. Cursor MCP guide.

VS Code with GitHub Copilot

Run MCP: Add Server, choose HTTP, and enter the hosted URL. Save to the user profile for personal use or to a workspace config for a team; approve the server and complete sign-in when prompted. New workspace configs use <project>/.mcp.json; VS Code also reads its .vscode/mcp.json format. This is the VS Code format for a local workspace:

json
{  "servers": {    "suno": {      "type": "http",      "url": "https://suno.mcp.acedata.cloud/mcp"    }  }}

Run MCP: List Servers to check connection and tool loading. VS Code MCP setup and configuration reference.

Codex CLI or Codex app
bash
codex mcp add suno --url https://suno.mcp.acedata.cloud/mcpcodex mcp login suno

Codex keeps user MCP settings in ~/.codex/config.toml and can show the server in /mcp. Official Codex MCP guide.

API token: hosted server

  1. Open Ace Data Cloud → Applications. Sign in, or register an account first.
  2. Find General application. If it has not been created, choose Initialize General Application. A general key can use the services available to your account; a dedicated application's key is limited to its service. Check the required service/model access and current pricing.
  3. Copy the API Key from the application card, or open Keys / Manage Keys → Create to create a separate key for this integration. Give it a recognizable name so you can revoke or rotate it independently.
  4. When creating a key, review Expiration Time, Set Usage Limitation, and Allowed APIs. Enable only the restrictions you need, allow the operations you will call, then click Create and copy the token from the key list. Task lookup does not grant permission to submit a generation. Confirm the application's balance can cover your first request; any trial allowance is whatever your account currently displays.
  5. Copy only the token value, without quotation marks, spaces, or Bearer . An API Key / API Token field expects this raw value; only a manually configured HTTP Authorization header needs the Bearer prefix. A platform-... account-management token cannot replace a generation API key.

[Copy an application API key or open Manage Keys]

[Create a separately named key with optional restrictions]

Save the key in the client's credential store or the environment variable shown below. Never put it in a prompt, shared workflow, screenshot, or Git commit. If authentication fails, check the full copied value, application/service access, expiration, usage limit, and balance before creating another key.

Use this route when you need a fixed credential or your client does not complete OAuth. An invalid fixed header does not automatically fall back to browser sign-in.

For Claude Code, set the variable in the environment that starts Claude Code, then add the server. The shell expands the token when you add the server, so treat the saved user-level MCP config as a secret; use browser sign-in above if you do not want a key in client config:

bash
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'claude mcp add --transport http --scope user suno https://suno.mcp.acedata.cloud/mcp \  --header "Authorization: Bearer $ACEDATACLOUD_API_TOKEN"

For a shared project config, put only the variable reference in <project>/.mcp.json and keep the token in each user's environment. Unlike the CLI example above, Claude Code expands ${ACEDATACLOUD_API_TOKEN} when it reads .mcp.json. Merge this entry with existing servers:

json
{  "mcpServers": {    "suno": {      "type": "http",      "url": "https://suno.mcp.acedata.cloud/mcp",      "headers": {        "Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}"      }    }  }}

For Cursor, use its ${env:ACEDATACLOUD_API_TOKEN} syntax in a user-level ~/.cursor/mcp.json (or an uncommitted project config):

json
{  "mcpServers": {    "suno": {      "url": "https://suno.mcp.acedata.cloud/mcp",      "headers": {        "Authorization": "Bearer ${env:ACEDATACLOUD_API_TOKEN}"      }    }  }}

For VS Code, prefer a user-profile MCP config and a masked input instead of putting the token in the JSON. Merge these fields into the file opened by MCP: Open User Configuration:

json
{  "inputs": [    {"id": "acedata-suno-token", "type": "promptString", "description": "AceDataCloud API token", "password": true}  ],  "servers": {    "suno": {      "type": "http",      "url": "https://suno.mcp.acedata.cloud/mcp",      "headers": {"Authorization": "Bearer ${input:acedata-suno-token}"}    }  }}

This interactive input is specific to VS Code's user/workspace format; do not copy it into .mcp.json for Agent Host. VS Code prompts once and stores the value securely for later use. VS Code configuration reference.

Other clients use different schemas. For Cline, open MCP Servers → Configure → Configure MCP Servers (Cline CLI: ~/.cline/data/settings/cline_mcp_settings.json) and use type: "streamableHttp" under mcpServers; Cline's guide has the full shape. For JetBrains AI Assistant, go to Settings → Tools → AI Assistant → Model Context Protocol (MCP) and add a remote server using the hosted URL; check its connection status and use the API-token route if your version does not complete OAuth. JetBrains' guide. For Zed, use context_servers with the hosted URL in its settings; omitting Authorization starts its OAuth flow. Zed's guide.

Local stdio server

Local mode needs an API token. Use it when your client only supports local processes or you want the MCP process on your machine; it still calls the AceDataCloud API and does not run Suno locally.

bash
# Install once, then run the local stdio serverpython -m pip install mcp-sunoexport ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'mcp-suno

For Claude Desktop's local MCP configuration, merge this into the file opened by its developer settings (~/Library/Application Support/Claude/claude_desktop_config.json on macOS). This is a local uvx process; it is separate from the remote custom connector above:

json
{  "mcpServers": {    "suno": {      "command": "uvx",      "args": ["mcp-suno"],      "env": {        "ACEDATACLOUD_API_TOKEN": "YOUR_API_TOKEN"      }    }  }}

Keep this user-level file private. On Windows, set $env:ACEDATACLOUD_API_TOKEN = 'YOUR_API_TOKEN' in the shell that starts local clients. uvx requires uv on PATH; mcp-suno requires the package installed in the environment from which the client launches it.

For self-hosted HTTP, run mcp-suno --transport http --port 8000 or build this repository's Dockerfile and run the resulting image. Clients must send their own Bearer tokens; expose the service only with suitable network and TLS controls.

Check the connection before generating

  1. https://suno.mcp.acedata.cloud/health returning {"status":"ok"} checks reachability only, not authentication.
  2. Use the client's MCP server list to confirm Suno tools appear. suno_list_models and suno_list_actions return static reference data; they confirm tool loading, not that your downstream API credential or balance works.
  3. When ready, ask the client to call suno_generate_music with a short prompt. Save the returned task ID, then call suno_get_task until it completes. This is the first end-to-end API check and can be billed. Check the current Suno service limits and pricing before this step.

If you see 401, check whether the client completed OAuth or sent a valid token, and do not configure both paths at once. If OAuth redirects but fails, retry from the same client session; if the account cannot create or retrieve a credential, resolve that in AceDataCloud Platform. A tool list can load while an API call fails for balance, permissions, or service availability, so check the returned error rather than assuming the connection failed.

Use the tools

Tool names in the client include the suno_ prefix. Start with suno_list_models or suno_list_actions to confirm the connection. For generation, use suno_generate_music for a prompt or suno_generate_custom_music for your own lyrics and style. Advanced operations, media conversion, personas, and custom models are listed in the tool reference and exposed by the MCP server.

Generation and edits return a task ID, not a finished song. Query suno_get_task (or suno_get_tasks_batch for multiple IDs) until the task reports success and final media URLs. An intermediate audio URL may be only a preview; a failed task should stop polling. Do not repeat the generation call to check progress, because it may submit and bill another task.

Example request to your MCP client:

Use suno_generate_music to create a short upbeat acoustic birthday song. Give me the task ID, check it with suno_get_task, and share the final audio only after the task completes.

For custom lyrics:

Use suno_generate_custom_music with title “Storm”, style “energetic rock”, and these lyrics: [Verse] Thunder in the night [Chorus] We are the storm. Then follow the returned task ID to completion.

negative_tags excludes styles or genres in custom generation (custom=true) and in suno_replace_section. The API currently sets no fixed character limit for this field, but overly long content may still fail; keep the description concise.

Extensions (suno_extend_music, suno_upload_extend) require a positive continue_at in seconds; fractional boundaries such as 30.792 are preserved. Lyrics affect only new content after that boundary, not the original portion. Replacement requires 0 <= replace_section_start < replace_section_end. suno_samples_music selects an interval from one source audio: samples_start defaults to 0, and samples_end is required and must be greater than start. Interval ends must not exceed the source duration. duration (an integer from 10–360) is a target used only for generation; actual length depends on the model.

For suno_generate_inspo, supply 1–4 public reference audio URLs. Use instrumental=true for a no-lyrics request, or custom=true with lyric_prompt and empty lyric for automatic lyrics. The optional persona_id is a voice ID, not an audio ID; voice support with Inspo depends on the service channel. Extensions do not use an additional persona ID.

For suno_all_stems_music, wait for successful terminal completion of the full task. Playable URLs during processing do not mean every stem is complete.

For covers, extensions and stem separation, use the returned audio id as audio_id. A downloadable audio file does not guarantee that its ID remains available for further processing.

Cover with a specified voice

Both suno_cover_music and suno_upload_cover accept persona_id for a specified-voice cover. A private voice created by suno_create_voice requires this sequence:

  1. Keep the returned persona_id from voice creation.
  2. Call suno_upload_audio with the original song's public audio_url, mode: "standard" and that persona_id to associate the source with the voice. persona_id cannot be used with mode: "enhanced".
  3. Call suno_upload_cover with the upload's returned data.audio_id and the same persona_id, then follow its task ID to completion.

Do not reuse an older audio ID that was not uploaded with that private voice. Voice creation, upload and cover must use the same service channel. No extra vocal_gender is needed; a gender preference is not a substitute for a voice ID.

Check audio availability before processing

Before a cover or extension, you can call suno_check_audio_availability with the audio UUID from a completed song's id, not the generation task_id:

json
{"audio_id":"33333333-3333-4333-8333-333333333333"}

Pass these arguments to suno_check_audio_availability. It calls POST /suno/availability synchronously with an API token and currently costs no Credits. Do not poll its returned task_id as though it were a generation job.

A successful response has data.id and data.available=true: the current channel found positive evidence of availability at check time. This does not guarantee that a later cover, extension or other operation will succeed. If availability cannot be confirmed, the API returns an error such as HTTP 503 availability_unknown, never available=false. Do not interpret an error (including rate limits or upstream failures) as proof that the audio is unavailable. Retain returned support identifiers and do not blindly retry or submit a paid operation to resolve uncertainty. Invalid audio IDs return HTTP 400; the MCP tool rejects malformed UUIDs before calling the API.

Processing errors

The audio API documents these HTTP 500 errors:

CodeMeaning
api_error with message the account may have been offlineThe audio API reports that the account may have been offline.
suno_processing_unavailableMusic processing is unavailable.
suno_model_unavailableThe selected model is unavailable for this operation.
suno_processing_failedMusic processing returned no audio.

Stop on terminal failure, retain any returned task_id and trace_id, and contact support with those IDs. Do not blindly resubmit, switch models, or treat an existing download URL as proof that another processing request will work.

Available Models

ModelVersionMax DurationFeatures
chirp-v6V6API-definedCurrent v6 model
chirp-v6-wildV6 WildAPI-definedv6 Wild model
chirp-v6-miniV6 MiniAPI-definedv6 Mini model
chirp-v5-5V5.58 minutesPrevious model name
chirp-v5V58 minutesHigh quality
chirp-v4-5-plusV4.5+8 minutesEnhanced quality
chirp-v4-5V4.54 minutesVocal gender control
chirp-v4V4150 secondsStable
chirp-v3-5V3.5120 secondsFast
chirp-v3-0V3120 secondsLegacy

Vocal Gender Control (v4.5+ only):

  • f - Female vocals
  • m - Male vocals

Configuration

Environment Variables

VariableDescriptionDefault
ACEDATACLOUD_API_TOKENLocal stdio token; hosted requests provide it via OAuth or Bearer headerRequired for local stdio
ACEDATACLOUD_API_BASE_URLAPI base URLhttps://api.acedata.cloud
ACEDATACLOUD_OAUTH_CLIENT_IDOAuth client ID (hosted mode)—
ACEDATACLOUD_PLATFORM_BASE_URLPlatform base URLhttps://platform.acedata.cloud
SUNO_DEFAULT_MODELDefault model for generationchirp-v5-5
SUNO_REQUEST_TIMEOUTRequest timeout in seconds1800
LOG_LEVELLogging levelINFO

Command Line Options

bash
mcp-suno --help
Options:  --version          Show version  --transport        Transport mode: stdio (default) or http  --port             Port for HTTP transport (default: 8000)

Development

Setup Development Environment

bash
# Clone repositorygit clone https://github.com/AceDataCloud/SunoMCP.gitcd SunoMCP
# Create virtual environmentpython -m venv .venvsource .venv/bin/activate  # or `.venv\Scripts\activate` on Windows
# Install with dev dependenciespip install -e ".[dev,test]"

Run Tests

bash
# Run unit testspytest
# Run with coveragepytest --cov=core --cov=tools
# Run integration tests (requires API token)pytest tests/test_integration.py -m integration

Code Quality

bash
# Format coderuff format .
# Lint coderuff check .
# Type checkmypy core tools

Build & Publish

bash
# Install build dependenciespip install -e ".[release]"
# Build packagepython -m build
# Upload to PyPItwine upload dist/*

Project Structure

SunoMCP/├── core/                   # Core modules│   ├── __init__.py│   ├── client.py          # HTTP client for Suno API│   ├── config.py          # Configuration management│   ├── exceptions.py      # Custom exceptions│   ├── server.py          # MCP server initialization│   └── utils.py           # Utility functions├── tools/                  # MCP tool definitions│   ├── __init__.py│   ├── audio_tools.py     # Audio generation tools│   ├── info_tools.py      # Information tools│   ├── lyrics_tools.py    # Lyrics generation tools│   ├── media_tools.py     # Media conversion tools│   ├── persona_tools.py   # Persona management tools│   ├── custom_model_tools.py # Custom music model tools│   └── task_tools.py      # Task query tools├── tests/                  # Test suite│   ├── conftest.py│   ├── test_client.py│   ├── test_config.py│   ├── test_integration.py│   └── test_utils.py├── deploy/                 # Deployment configs│   └── production/│       ├── deployment.yaml│       ├── ingress.yaml│       └── service.yaml├── .env.example           # Environment template├── .gitignore├── CHANGELOG.md├── Dockerfile             # Docker image for HTTP mode├── docker-compose.yaml    # Docker Compose config├── LICENSE├── main.py                # Entry point├── pyproject.toml         # Project configuration└── README.md

API Reference

This server wraps the AceDataCloud Suno API:

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

Documentation

Documentation

License

MIT License - see LICENSE for details.

Links


Made with love by AceDataCloud

Cline setup / Cline 图文接入

Suno by Ace Data Cloud — English guide · 完整中文图文步骤. The Cline marketplace submission is pending review as of 2026-10-18; the guide labels the manual fallback separately. / Cline 官方目录投稿仍待审核,手动接入不等于已上架。

Additional audio operations and controls

  • suno_add_stem: generate a selected voice/instrument stem with optional style, influence controls, variety, and explicitly opted-in max_mode.
  • suno_extract_stem: extract a selected stem and complementary remainder.
  • suno_generate_sound: create one-shot or loop sound effects with optional BPM, musical key, and MP3 output selection.
  • suno_adjust_speed: change playback speed from 0.25 to 4, optionally preserving pitch.

Prompt generation accepts variety; custom generation also accepts max_mode and audio_weight. Enhanced max_mode has a higher API price and remains off unless explicitly requested. Existing model defaults are unchanged.

suno_generate_with_custom_model accepts instrumental generation or lyric_prompt in place of supplied lyrics, plus negative_tags, vocal_gender, weirdness, style_influence, duration, and callback_url. Title and style are optional.

Studio projects (Beta)

suno_manage_project(request=..., idempotency_key=...) covers create, retrieve, save, upload, add_track, generate_track, replace_section, commit_candidate, remove_track, and render. Its action-specific schema requires only the fields applicable to that operation.

  1. Create a project, then retrieve and retain its complete state and latest version_id.
  2. Save complete state, upload material, or add tracks using the current version.
  3. For generation, supply a source audio ID and a completed project render audio ID. Source ranges use seconds; project timeline ranges use beats.
  4. Poll accepted task IDs with suno_get_task until finished_at is set and inspect response.success. Generating candidates does not modify the project.
  5. Choose a candidate and explicitly commit it to a track, then render with the latest version. Candidate playback alone does not prove a project is renderable.

Every write requires a caller-selected idempotency_key. Retry an uncertain submission with the same key and identical request, or poll its original task ID; never automatically generate a new key and resubmit a billable operation. On a version conflict, retrieve the current project and re-plan the change.

suno_get_tasks_batch returns full JSON task records with polling guidance, preserving model objects, project state/candidates, and media fields such as MIDI.

Source: README.md at commit 93eb12a

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

19
  1. v2026.11.7.0LatestNov 7, 2026
  2. v2026.11.1.2Nov 3, 2026
  3. v2026.11.1.1Nov 1, 2026
  4. v2026.10.30.0Oct 30, 2026
  5. v2026.10.28.0Oct 29, 2026
  6. v2026.10.21.0Oct 21, 2026
  7. v2026.10.20.0Oct 20, 2026
  8. v2026.10.19.4Oct 19, 2026
  9. v2026.10.18.6Oct 18, 2026
  10. v2026.10.12.1Oct 12, 2026
  11. v2026.10.8.0Oct 8, 2026
  12. v2026.10.7.2Oct 7, 2026
  13. v2026.10.6.0Oct 6, 2026
  14. v2026.10.5.0Oct 5, 2026
  15. v2026.10.4.1Oct 4, 2026
  16. v2026.10.4.0Oct 4, 2026
  17. v2026.9.30.0Sep 30, 2026
  18. v2026.9.29.0Sep 29, 2026
  19. v2026.9.9.0Sep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Suno integrations