MCP-Suno
Generate lyrics and music using Suno's AI music generation API, with support for custom styles and model selection.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-Sunogenerate an upbeat pop song about dancing in the rain"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-Suno
MCP (Model Context Protocol) server for Suno music generation API.
Features
Generate Lyrics: Create lyrics based on a description or theme
Generate Music: Create custom songs with lyrics, style tags, and model selection
Automatic Polling: Built-in polling mechanism for async task completion
Related MCP server: Suno Autopilot MCP
Installation
Clone or download this repository
Install dependencies:
npm installSet up your API key by creating a
.envfile:
cp .env.example .envEdit .env and add your Suno API key:
SUNO_API_KEY=your_actual_api_key_hereBuilding
npm run buildRunning
npm startOr for development:
npm run devMCP Configuration
Add this server to your MCP client configuration:
{
"mcpServers": {
"suno": {
"type": "stdio",
"command": "node",
"args": ["E:\\xxx\\xxx\\xxx\\suno-mcp-1313api\\dist\\index.js"],
"env": {
"SUNO_API_KEY": "your_api_key_here"
}
"timeout": 600,
}
}
}Available Tools
generate_lyrics
Generate lyrics based on a description or theme.
Parameters:
prompt(required): Description or theme for lyrics (e.g., "dance", "love song", "epic battle")
Returns:
task_id: The task ID for trackingtitle: Generated song titlelyrics: Full lyrics textstatus: Task completion status
Example:
{
"prompt": "a romantic sunset song about two lovers meeting"
}generate_music
Generate music with custom lyrics.
Parameters:
prompt(required): The lyrics for the song in Suno format (with [Verse], [Chorus], [Bridge] tags)title(required): Title of the songtags(optional): Music style tags (e.g., "pop, upbeat, female vocals", "rock, energetic")mv(optional): Model version (default: "chirp-v4")
Returns:
task_id: The task ID for trackingsongs: Array of generated songs with:id: Song IDtitle: Song titletags: Style tagsaudio_url: MP3 audio file URLvideo_url: MP4 video file URLimage_url: Cover image URLimage_large_url: Large cover image URLduration: Song duration in secondsmodel_name: Model usedstatus: Generation statuslyrics: Full lyrics text
Example:
{
"prompt": "[Verse]\nWalking down the street\nFeeling the beat\nMusic in my soul\nTaking control\n\n[Chorus]\nThis is my song\nSinging all night long\nFeel the rhythm\nMoving along",
"title": "My Song",
"tags": "pop, upbeat, electronic",
"mv": "chirp-v4"
}API Endpoints
This MCP server uses the following API endpoints:
Submit Lyrics:
POST https://1313api.top/suno/submit/lyricsSubmit Music:
POST https://1313api.top/suno/submit/musicFetch Task:
GET https://1313api.top/suno/fetch/{task_id}
Polling Behavior
The server automatically polls for task completion with the following settings:
Max Attempts: 60
Polling Interval: 3 seconds
Total Timeout: ~3 minutes
Tasks are polled until they reach SUCCESS or FAILED status, or timeout is reached.
Error Handling
The server returns error messages in the following format:
{
"error": "Error message description"
}Common errors:
SUNO_API_KEY environment variable is not set: API key not configuredFailed to submit lyrics generation: API request failedTask failed: Generation failed on the serverTask timeout: Generation took too long
License
MIT
Available Tools
2 toolsgenerate_lyricsA
Generate lyrics based on a description or theme. Returns the generated lyrics with title.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Description or theme for the lyrics (e.g., "dance", "love song", "epic battle") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the return value ('generated lyrics with title'), which is a positive trait, but it does not elaborate on output length, style constraints, or other behavioral nuances. It provides some transparency but not a comprehensive account.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two short sentences that lead with the core action and then state the return value. There is no superfluous text, making it well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one fully documented parameter and no output schema, the description covers the essential behavior (generates lyrics) and return format (with title). It is adequately complete for an agent to know what the tool does and what to expect, though it omits minor limitations or stylistic details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single 'prompt' parameter with 100% coverage and includes examples. The description's phrasing ('based on a description or theme') merely paraphrases the schema's description and adds no additional semantic value, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action (generate) and resource (lyrics), and specifies the input as 'a description or theme.' It differentiates from the sibling tool 'generate_music' by focusing on lyrics rather than music, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—when lyrics are needed—but does not explicitly state when to prefer it over the sibling 'generate_music' or provide any exclusions or alternative guidance. The usage context is inferred rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_musicA
生成自定义音乐。返回生成的歌曲,包含音频URL、视频URL和封面图片。纯音乐模式下prompt留空,make_instrumental为true
| Name | Required | Description | Default |
|---|---|---|---|
| mv | No | 模型版本 (默认: "chirp-v4",可选: "chirp-v4", "chirp-auk","chirp-bluejay","chirp-crow") | chirp-v4 |
| tags | Yes | 音乐风格标签 (例如: "pop, upbeat, female vocals", "rock, energetic") | |
| title | Yes | 歌曲标题 | |
| prompt | No | 音乐创歌词。纯音乐模式下留空。如果是歌词格式必须是Suno格式(包含[Verse]、[Chorus]、[Bridge]标签) | |
| make_instrumental | No | 是否生成纯音乐,不包含任何乐器声音。true表示生成纯音乐,false表示生成包含演唱的音乐。 | |
| gpt_description_prompt | No | 是否使用GPT生成音乐描述。#灵感模式专用#,只要是灵感模式都用无论是否生成纯音乐 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the output format (audio/video/cover URLs) and the special instrumental behavior. While it doesn't mention potential limitations or side effects, it covers the essential behavioral aspects for a generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the main purpose and includes a critical usage tip. No redundant information; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description explicitly names the returned fields (audio URL, video URL, cover image), which is essential context. It also covers key parameter relationships. Minor gap: no mention of model version behavior or when to use vs. generate_lyrics, but overall adequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by linking prompt and make_instrumental (instrumental mode requires empty prompt), and clarifying the inspiration mode for gpt_description_prompt. This goes beyond the individual schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate custom music' and specifies return values (audio URL, video URL, cover image). This distinguishes it from the sibling tool generate_lyrics, which focuses on lyrics generation, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context, especially for instrumental mode (leave prompt empty, set make_instrumental to true). However, it does not explicitly contrast with generate_lyrics or specify when to choose this tool over alternatives, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
generate_lyrics - First observed
generate_music
TDQS
Scored across 2 tools
generate_lyrics and generate_music have clearly distinct outputs: one returns text (lyrics), the other returns audio/video (music). Their names and descriptions make the separation unambiguous.
Both tools follow the exact same 'generate_<noun>' pattern, using snake_case consistently. This creates a predictable and coherent naming convention.
With only 2 tools, the server feels thin for a music generation service. While the tools cover core generation, the count is borderline and would benefit from additional management or status tools.
The server only offers generation, lacking any way to list, retrieve, or manage past generations. For a realistic workflow, agents need status checks or history access, making the surface significantly incomplete.
Maintenance
Related MCP Connectors
MCP server for Suno AI music generation, lyrics, and covers
Generate Suno AI music (v5.5) from any MCP client. Async; billed only on success.
MCP server for Producer/Riffusion AI music generation
MCP server for Google Veo AI video generation
Related MCP Servers
- FlicenseAqualityDmaintenanceA Model Context Protocol server that allows AI assistants to generate music through the Suno API, supporting custom lyrics and style inputs or inspiration-based creation.129-
- AlicenseNot gradedqualityAmaintenanceAn MCP server that enables local AI models to automatically generate lyrics and style prompts, then submit songs to Suno via browser automation.MIT
- AlicenseAqualityBmaintenanceAn MCP server that generates music using your Suno account, enabling credit checking, song generation, and MP3 downloads without third-party APIs.7MIT
- AlicenseBqualityAmaintenanceA RunAPI MCP server for the Suno music generation models, enabling task creation (text-to-music, covers, mashups, etc.), polling, and pricing lookup through a single API key.16452 npmApache 2.0