CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
acedatacloud avatar

Mcp Suno

acedatacloud/sunomcp
1327 toolsauthSTDIO, HTTPregistry active
Summary

Connects Claude directly to Suno's AI music generation platform through the AceDataCloud API. You get 24 tools covering the full creative workflow: generate songs from prompts or custom lyrics, extend tracks from specific timestamps, create covers and remixes, separate stems, extract vocals, and manage artist personas for consistent voice styles. Also handles practical tasks like concatenating extended segments, optimizing style descriptions, and tracking generation progress. Works through a hosted endpoint at suno.mcp.acedata.cloud, so no local setup required. Just grab an API token from AceDataCloud's platform and add the config to Claude Desktop, Cursor, VS Code, or whichever MCP client you're using. Useful if you're building music workflows, prototyping audio features, or just want to generate and manipulate AI music without leaving your development environment.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

Tools

Public tool metadata for what this MCP can expose to an agent.

27 tools
suno_generate_musicGenerate AI music from a text prompt using Suno's Inspiration Mode. This is the simplest way to create music - just describe what you want and Suno will automatically generate appropriate lyrics, melody, style, and arrangement. Use this when: - You want quick music generation...4 params

Generate AI music from a text prompt using Suno's Inspiration Mode. This is the simplest way to create music - just describe what you want and Suno will automatically generate appropriate lyrics, melody, style, and arrangement. Use this when: - You want quick music generation...

Parameters* required
callback_urlvalue
Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the audio is generated.
instrumentalboolean
If true, generate instrumental music without vocals. Default is false (with vocals).default: false
modelstring
Suno model version. 'chirp-v4-5' is recommended for most use cases. 'chirp-v5' offers best quality with 8-minute max duration. Older models (v3, v3-5, v4) have shorter duration limits.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
promptstring
Description of the music to generate. Be descriptive about genre, mood, instruments, and theme. Examples: 'A happy birthday song with acoustic guitar', 'Epic orchestral battle music with dramatic c...
suno_generate_custom_musicGenerate AI music with full control over lyrics, title, and style (Custom Mode). This gives you complete creative control over the song. You provide the lyrics with section markers, and Suno generates the melody and arrangement. Use this when: - You have specific lyrics you wa...8 params

Generate AI music with full control over lyrics, title, and style (Custom Mode). This gives you complete creative control over the song. You provide the lyrics with section markers, and Suno generates the melody and arrangement. Use this when: - You have specific lyrics you wa...

Parameters* required
callback_urlvalue
Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the audio is generated.
instrumentalboolean
If true, generate instrumental version (lyrics will be ignored). Default is false.default: false
lyricstring
Song lyrics with section markers. Use [Verse], [Chorus], [Pre-Chorus], [Bridge], [Outro], [Intro] to structure the song. Example: [Verse 1] Walking down the empty street Rain is falling at my feet...
modelstring
Suno model version. 'chirp-v4-5' or 'chirp-v5' recommended for best quality.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
stylestring
Music style description. Be specific about genre, mood, tempo, and instruments. Examples: 'upbeat pop rock, energetic drums, electric guitar', 'acoustic folk, gentle, fingerpicking', 'dark electron...default:
style_negativestring
Styles to explicitly exclude from the generation. Examples: 'heavy metal, screaming', 'autotune, electronic'default:
titlestring
Title of the song. Keep it concise and memorable.
vocal_genderstring
Preferred vocal gender. 'f' for female, 'm' for male, empty string for AI to decide. Only works with v4.5+ models.one of · f · mdefault:
suno_extend_musicExtend an existing song from a specific timestamp with new lyrics. This allows you to continue a previously generated song, adding new sections like additional verses, a bridge, or an outro. Use this when: - A generated song is too short and you want to add more - You want to...6 params

Extend an existing song from a specific timestamp with new lyrics. This allows you to continue a previously generated song, adding new sections like additional verses, a bridge, or an outro. Use this when: - A generated song is too short and you want to add more - You want to...

Parameters* required
audio_idstring
ID of the audio to extend. This is the 'id' field from a previous generation result.
callback_urlvalue
Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the extension is complete.
continue_atnumber
Timestamp in seconds where to start the extension. For example, 120.5 means continue from 2 minutes and 0.5 seconds into the song.
lyricstring
Lyrics for the extended section. Use section markers like [Verse], [Chorus], [Bridge], [Outro]. The extension will continue from where the original song left off.
modelstring
Model version to use for the extension.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
stylestring
Music style for the extension. Leave empty to maintain the original style, or specify to change the style mid-song.default:
suno_cover_musicCreate a cover or remix version of an existing song in a different style. This generates a new version of a song with a different arrangement, genre, or mood while keeping the core melody and lyrics. Use this when: - You want to hear a song in a different genre - You want an a...5 params

Create a cover or remix version of an existing song in a different style. This generates a new version of a song with a different arrangement, genre, or mood while keeping the core melody and lyrics. Use this when: - You want to hear a song in a different genre - You want an a...

Parameters* required
audio_idstring
ID of the audio to create a cover of. This is the 'id' field from a previous generation.
callback_urlvalue
Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the cover is complete.
modelstring
Model version to use for the cover.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
promptstring
Description of how you want the cover to sound. Examples: 'acoustic unplugged version', 'jazz lounge style', '80s synthwave remix'default:
stylestring
Target music style for the cover. Examples: 'jazz, smooth, saxophone', 'acoustic folk, gentle guitar', 'electronic dance, high energy'default:
suno_concat_musicConcatenate extended song segments into a single complete audio file. After extending a song multiple times with suno_extend_music, use this tool to merge all the segments into one continuous audio file. Use this when: - You've extended a song one or more times - You want a si...2 params

Concatenate extended song segments into a single complete audio file. After extending a song multiple times with suno_extend_music, use this tool to merge all the segments into one continuous audio file. Use this when: - You've extended a song one or more times - You want a si...

Parameters* required
audio_idstring
ID of the LAST segment of an extended song chain. Suno will automatically find and merge all connected segments.
callback_urlvalue
Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the concatenation is complete.
suno_generate_with_personaGenerate music using a saved artist persona for consistent vocal style. This allows you to maintain a consistent voice/singing style across multiple songs by using a previously saved persona. Use this when: - You want multiple songs with the same vocal style - You're creating...5 params

Generate music using a saved artist persona for consistent vocal style. This allows you to maintain a consistent voice/singing style across multiple songs by using a previously saved persona. Use this when: - You want multiple songs with the same vocal style - You're creating...

Parameters* required
audio_idstring
ID of a reference audio to base the generation on.
callback_urlvalue
Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the audio is generated.
modelstring
Model version to use.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
persona_idstring
ID of the persona to use. Get this from suno_create_persona tool. The persona defines the vocal style and characteristics.
promptstring
Description of the music to generate. The persona's voice will be applied to this new song.
suno_remaster_musicRemaster an existing song to improve audio quality. Takes a previously generated song and applies audio remastering to enhance clarity, dynamics, and overall sound quality. Use this when: - You want to improve the audio quality of a generated song - You want a song generated w...3 params

Remaster an existing song to improve audio quality. Takes a previously generated song and applies audio remastering to enhance clarity, dynamics, and overall sound quality. Use this when: - You want to improve the audio quality of a generated song - You want a song generated w...

Parameters* required
audio_idstring
ID of the audio to remaster. This is the 'id' field from a previous generation.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
modelstring
Model version to use for remastering. Newer models produce better results.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
suno_stems_musicSeparate a song into individual stems (vocals and instruments). Splits the audio into separate tracks for vocals and instrumentals, useful for remixing, karaoke, or isolating specific parts. Use this when: - You want to separate vocals from instrumentals - You need individual...2 params

Separate a song into individual stems (vocals and instruments). Splits the audio into separate tracks for vocals and instrumentals, useful for remixing, karaoke, or isolating specific parts. Use this when: - You want to separate vocals from instrumentals - You need individual...

Parameters* required
audio_idstring
ID of the audio to separate into stems.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
suno_replace_sectionReplace a specific time range in a song with new generated content. Re-generates a portion of a song between the specified start and end times, keeping the rest of the song unchanged. Great for fixing sections you don't like. Use this when: - A specific section of a song needs...7 params

Replace a specific time range in a song with new generated content. Re-generates a portion of a song between the specified start and end times, keeping the rest of the song unchanged. Great for fixing sections you don't like. Use this when: - A specific section of a song needs...

Parameters* required
audio_idstring
ID of the audio to replace a section in.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
lyricvalue
New lyrics for the replaced section. Use section markers like [Verse], [Chorus].
modelstring
Model version to use.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
replace_section_endnumber
End time in seconds of the section to replace.
replace_section_startnumber
Start time in seconds of the section to replace.
stylestring
Music style for the replaced section.default:
suno_upload_extendExtend an uploaded audio (your own music) with new AI-generated content. Similar to suno_extend_music but works with audio you uploaded via suno_upload_audio. Allows you to add new sections to your own music. Use this when: - You uploaded your own music and want to extend it -...6 params

Extend an uploaded audio (your own music) with new AI-generated content. Similar to suno_extend_music but works with audio you uploaded via suno_upload_audio. Allows you to add new sections to your own music. Use this when: - You uploaded your own music and want to extend it -...

Parameters* required
audio_idstring
ID of the uploaded audio to extend. Must be an audio uploaded via suno_upload_audio.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
continue_atnumber
Timestamp in seconds where to start the extension.
lyricstring
Lyrics for the extension section.
modelstring
Model version to use.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
stylestring
Music style for the extension.default:
suno_upload_coverCreate an AI cover of an uploaded audio (your own music). Similar to suno_cover_music but works with audio you uploaded via suno_upload_audio. Re-arranges your music in a different style. Use this when: - You uploaded your own music and want a cover in a different style - You...4 params

Create an AI cover of an uploaded audio (your own music). Similar to suno_cover_music but works with audio you uploaded via suno_upload_audio. Re-arranges your music in a different style. Use this when: - You uploaded your own music and want a cover in a different style - You...

Parameters* required
audio_idstring
ID of the uploaded audio to create a cover of. Must be an audio uploaded via suno_upload_audio.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
modelstring
Model version to use.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
stylestring
Target music style for the cover.default:
suno_mashup_musicCreate a musical mashup by blending multiple songs together. Combines elements from multiple generated songs into a single cohesive mashup track. Different from lyrics mashup - this blends the actual audio. Use this when: - You want to blend two or more songs together musicall...3 params

Create a musical mashup by blending multiple songs together. Combines elements from multiple generated songs into a single cohesive mashup track. Different from lyrics mashup - this blends the actual audio. Use this when: - You want to blend two or more songs together musicall...

Parameters* required
callback_urlvalue
Webhook callback URL for asynchronous notifications.
mashup_audio_idsarray
List of audio IDs to mashup together. Provide 2 or more song IDs.
modelstring
Model version to use.one of chirp-v3-0 · chirp-v3-5 · chirp-v4 · chirp-v4-5 · chirp-v4-5-plus · chirp-v5default: chirp-v4-5
suno_list_modelsList all available Suno models and their capabilities. Shows all available model versions with their limits, features, and recommended use cases. Use this to understand which model to choose for your music generation. Model comparison: - chirp-v5: Latest and best quality, 8-mi...

List all available Suno models and their capabilities. Shows all available model versions with their limits, features, and recommended use cases. Use this to understand which model to choose for your music generation. Model comparison: - chirp-v5: Latest and best quality, 8-mi...

No parameter schema in public metadata yet.

suno_list_actionsList all available Suno API actions and corresponding tools. Reference guide for what each action does and which tool to use. Helpful for understanding the full capabilities of the Suno MCP. Returns: Categorized list of all actions and their corresponding tools.

List all available Suno API actions and corresponding tools. Reference guide for what each action does and which tool to use. Helpful for understanding the full capabilities of the Suno MCP. Returns: Categorized list of all actions and their corresponding tools.

No parameter schema in public metadata yet.

suno_get_lyric_format_guideGet guidance on formatting lyrics for Suno music generation. Shows how to structure lyrics with section markers for best results. Following this format helps Suno understand the song structure and generate appropriate melodies for each section. Returns: Complete guide with sec...

Get guidance on formatting lyrics for Suno music generation. Shows how to structure lyrics with section markers for best results. Following this format helps Suno understand the song structure and generate appropriate melodies for each section. Returns: Complete guide with sec...

No parameter schema in public metadata yet.

suno_generate_lyricsGenerate song lyrics from a text prompt. Creates structured lyrics with proper song sections (Verse, Chorus, Bridge, etc.) based on your description. The generated lyrics are formatted and ready to use with suno_generate_custom_music. Use this when: - You need lyrics but don't...2 params

Generate song lyrics from a text prompt. Creates structured lyrics with proper song sections (Verse, Chorus, Bridge, etc.) based on your description. The generated lyrics are formatted and ready to use with suno_generate_custom_music. Use this when: - You need lyrics but don't...

Parameters* required
modelstring
Model version for lyrics generation. 'default' works well for most lyrics. 'remi-v1' offers an alternative style.one of default · remi-v1default: default
promptstring
Description of the lyrics you want. Include theme, mood, genre, and any specific elements. Examples: 'A romantic ballad about lost love and rainy nights', 'An upbeat pop song about summer vacation'...
suno_get_mp4Get an MP4 video version of a generated song. Converts a generated audio into an MP4 video file with visualizations. Useful for sharing on social media or video platforms. Use this when: - You want a video version of a generated song - You need to share the song on video platf...1 params

Get an MP4 video version of a generated song. Converts a generated audio into an MP4 video file with visualizations. Useful for sharing on social media or video platforms. Use this when: - You want a video version of a generated song - You need to share the song on video platf...

Parameters* required
audio_idstring
The song ID to get the MP4 video for. This is the 'id' field from a previous audio generation result.
suno_get_timingGet timing and subtitle data for a generated song. Returns word-level timing information that can be used for synchronized lyrics display, karaoke, or subtitle generation. Use this when: - You need synchronized lyrics/subtitles - You want to create karaoke-style displays - You...1 params

Get timing and subtitle data for a generated song. Returns word-level timing information that can be used for synchronized lyrics display, karaoke, or subtitle generation. Use this when: - You need synchronized lyrics/subtitles - You want to create karaoke-style displays - You...

Parameters* required
audio_idstring
The song ID to get timing/subtitle data for.
suno_extract_vocalsExtract the vocal track from a generated song (stem separation). Isolates the vocals from a song, removing instrumental background. Useful for remixing, creating acapella versions, or persona creation. Use this when: - You want an isolated vocal track - You need vocals for a r...4 params

Extract the vocal track from a generated song (stem separation). Isolates the vocals from a song, removing instrumental background. Useful for remixing, creating acapella versions, or persona creation. Use this when: - You want an isolated vocal track - You need vocals for a r...

Parameters* required
audio_idstring
The song ID to extract vocals from.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
vocal_endvalue
End time in seconds for the vocal extraction range.
vocal_startvalue
Start time in seconds for the vocal extraction range.
suno_get_wavGet the lossless WAV format of a generated song. Converts the song to high-quality uncompressed WAV format. WAV files are larger but have no quality loss compared to MP3. Use this when: - You need a lossless audio format for production - You want the highest quality audio outp...2 params

Get the lossless WAV format of a generated song. Converts the song to high-quality uncompressed WAV format. WAV files are larger but have no quality loss compared to MP3. Use this when: - You need a lossless audio format for production - You want the highest quality audio outp...

Parameters* required
audio_idstring
The song ID to get the WAV format for.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
suno_get_midiGet MIDI data extracted from a generated song. Converts the song's melodic and rhythmic information into MIDI format, which can be used in digital audio workstations (DAWs) for further editing. Use this when: - You want to edit the melody in a DAW - You need note-level data fr...2 params

Get MIDI data extracted from a generated song. Converts the song's melodic and rhythmic information into MIDI format, which can be used in digital audio workstations (DAWs) for further editing. Use this when: - You want to edit the melody in a DAW - You need note-level data fr...

Parameters* required
audio_idstring
The song ID to get MIDI data for.
callback_urlvalue
Webhook callback URL for asynchronous notifications.
suno_create_personaCreate a new artist persona from an existing audio's vocal style. This saves the vocal characteristics from a generated song so you can reuse that same voice style in future generations. Great for maintaining consistency across multiple songs. Use this when: - You generated a...6 params

Create a new artist persona from an existing audio's vocal style. This saves the vocal characteristics from a generated song so you can reuse that same voice style in future generations. Great for maintaining consistency across multiple songs. Use this when: - You generated a...

Parameters* required
audio_idstring
ID of the audio to use as the persona reference. This should be a previously generated song whose vocal style you want to save and reuse.
descriptionvalue
Description of the singer's style. Examples: 'Warm and breathy female voice with jazz influences', 'Powerful male rock vocalist with raspy tone'
namestring
Name for this persona. Use a descriptive name that helps you remember the voice style. Examples: 'My Rock Voice', 'Soft Female Singer', 'Deep Male Baritone', 'Energetic Pop Vocalist'
vocal_endvalue
End time in seconds of the vocal segment to use from the audio.
vocal_startvalue
Start time in seconds of the vocal segment to use from the audio. Useful for isolating a specific vocal section.
vox_audio_idvalue
Optional audio ID used to generate a new singer's style by combining with the main audio. Useful for creating hybrid vocal personas.
suno_optimize_styleOptimize a music style description for better generation results. Takes a rough style description and refines it into an optimized style prompt that Suno can better understand and produce higher quality music for. Use this when: - You have a vague style idea and want to refine...1 params

Optimize a music style description for better generation results. Takes a rough style description and refines it into an optimized style prompt that Suno can better understand and produce higher quality music for. Use this when: - You have a vague style idea and want to refine...

Parameters* required
promptstring
Style prompt words that need to be optimized. Examples: 'rock guitar', 'jazz smooth', 'electronic dance party'
suno_mashup_lyricsGenerate mashup lyrics by combining two sets of lyrics. Takes two different song lyrics and intelligently combines them into a cohesive mashup. Great for creating unique lyrical combinations. Use this when: - You want to blend two songs' lyrics together - You're creating a mas...2 params

Generate mashup lyrics by combining two sets of lyrics. Takes two different song lyrics and intelligently combines them into a cohesive mashup. Great for creating unique lyrical combinations. Use this when: - You want to blend two songs' lyrics together - You're creating a mas...

Parameters* required
lyrics_astring
The first set of lyrics to combine. Can be full song lyrics with section markers.
lyrics_bstring
The second set of lyrics to combine. Can be full song lyrics with section markers.
suno_upload_audioUpload an external audio file to Suno for use in subsequent operations. Uploads audio from a URL so it can be used with actions like upload_extend and upload_cover, which allow you to extend or create covers of your own music. Use this when: - You have your own music you want...1 params

Upload an external audio file to Suno for use in subsequent operations. Uploads audio from a URL so it can be used with actions like upload_extend and upload_cover, which allow you to extend or create covers of your own music. Use this when: - You have your own music you want...

Parameters* required
audio_urlstring
Public URL of the audio file to upload. The URL must be directly accessible (CDN link, cloud storage URL, etc.).
suno_get_taskQuery the status and result of a music generation task. Use this to check if a generation is complete and retrieve the resulting audio URLs, titles, lyrics, and other metadata. Use this when: - You want to check if a generation has completed - You need to retrieve audio URLs f...1 params

Query the status and result of a music generation task. Use this to check if a generation is complete and retrieve the resulting audio URLs, titles, lyrics, and other metadata. Use this when: - You want to check if a generation has completed - You need to retrieve audio URLs f...

Parameters* required
task_idstring
The task ID returned from a generation request. This is the 'task_id' field from any suno_generate_*, suno_extend_*, suno_cover_*, or suno_concat_* tool response.
suno_get_tasks_batchQuery multiple music generation tasks at once. Efficiently check the status of multiple tasks in a single request. More efficient than calling suno_get_task multiple times. Use this when: - You have multiple pending generations to check - You want to get status of several song...1 params

Query multiple music generation tasks at once. Efficiently check the status of multiple tasks in a single request. More efficient than calling suno_get_task multiple times. Use this when: - You have multiple pending generations to check - You want to get status of several song...

Parameters* required
task_idsarray
List of task IDs to query. Maximum recommended batch size is 50 tasks.

SunoMCP

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.

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_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.

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
claude mcp add --transport http --scope user suno https://suno.mcp.acedata.cloud/mcp
claude 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:

{
  "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:

{
  "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
codex mcp add suno --url https://suno.mcp.acedata.cloud/mcp
codex 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:

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:

{
  "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):

{
  "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:

{
  "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.

# Install once, then run the local stdio server
python -m pip install mcp-suno
export 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:

{
  "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.

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

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

# Clone repository
git clone https://github.com/AceDataCloud/SunoMCP.git
cd SunoMCP

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or `.venv\Scripts\activate` on Windows

# Install with dev dependencies
pip install -e ".[dev,test]"

Run Tests

# Run unit tests
pytest

# Run with coverage
pytest --cov=core --cov=tools

# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration

Code Quality

# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools

Build & Publish

# Install build dependencies
pip install -e ".[release]"

# Build package
python -m build

# Upload to PyPI
twine 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:

  • Suno Audios API - Music generation
  • Suno Lyrics API - Lyrics generation
  • Suno Tasks API - Task queries
  • Suno Persona API - Persona management

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

  • AceDataCloud Platform
  • Suno Official
  • Model Context Protocol
  • MCP Python SDK

Made with love by AceDataCloud

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

Configuration

ACEDATACLOUD_API_TOKEN*secret

API token from Ace Data Cloud (https://platform.acedata.cloud)

Categories
Media & Entertainment
Registryactive
Packagemcp-suno
TransportSTDIO, HTTP
AuthRequired
UpdatedJun 9, 2026
View on GitHub

More from acedatacloud

  • Midjourney13
  • Mcp Nanobanana Pro6
  • Mcp Seedance5
  • Mcp Flux Pro1
  • Mcp Sora1
  • Mcp Hailuo
  • Mcp Kling
  • Mcp Luma
  • Mcp Producer
  • Mcp Seedream Pro
  • Mcp Serp
  • Mcp Shorturl
  • Mcp Veo
  • Mcp Wan

Related Media & Entertainment MCP Servers

View all →
jshorwitz avatar
Synter Ads

io.github.jshorwitz/synter-ads

Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.
11
spacefrontiers avatar
Mcp

spacefrontiers/mcp

Full-text retrieval: papers, books, patents, Wikipedia, Reddit, Telegram, YouTube. With citations.
10
lvpiggyqq avatar
Xcatcher

io.github.lvpiggyqq/xcatcher

High-throughput X/Twitter crawl via tasks; download XLSX; x402 USDC Base/Solana top-ups.
9
swih avatar
Mistral Mcp

swih/mistral-mcp

Mistral AI MCP server: chat, OCR, Voxtral audio, Codestral FIM, vision, agents, batch.
9
la-rebelion avatar
OpenAI Tools MCP Server

ai.com.mcp/openai-tools

Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
8
mindstone avatar
Fathom

io.github.mindstone/mcp-server-fathom

Fathom AI meeting transcription MCP server for Model Context Protocol hosts
8