npm @runapi.ai/suno-mcpstdioApache-2.0updated 18d ago
Suno API access for AI agents: run multimodal generation operations, poll asynchronous results, and check pricing through one focused MCP server.
What can you do with suno mcp?
Why This Package?
@runapi.ai/suno-mcp is a focused Model Context Protocol server for the Suno model line on RunAPI.
It gives MCP-compatible assistants direct access to 12 endpoints and 6 model variants without loading the full RunAPI catalog.
Use this per-model server when an agent should stay scoped to Suno. Use @runapi.ai/mcp when one assistant should discover every RunAPI model line.
Install
Add it to Claude Code:
claude mcp add suno -s user -- npx -y @runapi.ai/suno-mcp
Use project scope when the server should be shared with a repository:
claude mcp add suno -s project -- npx -y @runapi.ai/suno-mcp
Codex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:
{
"mcpServers": {
"suno": {
"command": "npx",
"args": ["-y", "@runapi.ai/suno-mcp"]
}
}
}
check_pricing works before sign-in. For task creation and status polling, ask your assistant to call the login tool. It opens a browser login and saves credentials to ~/.config/runapi/config.json, the same file used by runapi login.
Headless and CI hosts can still set RUNAPI_API_KEY before starting the MCP host.
Ready-made examples are in examples/ for Claude, Cursor, Windsurf, VS Code, and Roo Code.
Tools
| Tool | Auth | Purpose |
|---|---|---|
add_samples |
Yes | Create a Suno add samples task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
blend_lyrics |
Yes | Create a Suno blend lyrics task and optionally wait for a terminal status. Returns the task id, status, and result payload. |
cover_audio |
Yes | Create a Suno cover audio task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
create_mashup |
Yes | Create a Suno create mashup task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
extend_music |
Yes | Create a Suno extend music task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
generate_lyrics |
Yes | Create a Suno generate lyrics task and optionally wait for a terminal status. Returns the task id, status, and result payload. |
inspire_music |
Yes | Create a Suno inspire music task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
remaster_audio |
Yes | Create a Suno remaster audio task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
separate_audio_stems |
Yes | Create a Suno separate audio stems task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
stitch_audio |
Yes | Create a Suno stitch audio task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
text_to_music |
Yes | Create a Suno text to music task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
text_to_sound |
Yes | Create a Suno text to sound task and optionally wait for a terminal status. Returns the task id, status, and output URLs. |
get_task |
Yes | Fetch the current status and latest payload for an existing task. |
check_pricing |
No | Look up current pricing for a Suno model and endpoint. |
Models
Suno covers 6 model variants across 12 endpoints. Each tool accepts the models listed for it:
| Tool | Models |
|---|---|
add_samples |
suno-v4, suno-v4.5, suno-v4.5-plus, suno-v5, suno-v5.5 |
blend_lyrics |
no model parameter |
cover_audio |
suno-v4, suno-v4.5, suno-v4.5-all, suno-v4.5-plus, suno-v5, suno-v5.5 |
create_mashup |
suno-v4, suno-v4.5, suno-v4.5-all, suno-v4.5-plus, suno-v5, suno-v5.5 |
extend_music |
suno-v4, suno-v4.5, suno-v4.5-all, suno-v4.5-plus, suno-v5, suno-v5.5 |
generate_lyrics |
no model parameter |
inspire_music |
suno-v4, suno-v4.5, suno-v4.5-plus, suno-v5, suno-v5.5 |
remaster_audio |
suno-v4, suno-v4.5, suno-v4.5-plus, suno-v5, suno-v5.5 |
separate_audio_stems |
no model parameter |
stitch_audio |
suno-v4, suno-v4.5, suno-v4.5-plus, suno-v5, suno-v5.5 |
text_to_music |
suno-v4, suno-v4.5, suno-v4.5-all, suno-v4.5-plus, suno-v5, suno-v5.5 |
text_to_sound |
suno-v5, suno-v5.5 |
Model availability can change between releases. Use check_pricing or the Suno model page for the current catalog view.
Agent Prompts
Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.
Create a task
Run a Suno add samples task with RunAPI.
The assistant can call check_pricing, then add_samples, and return the task id, status, and output URLs.
Submit without waiting
Create the task but don't wait for it to finish.
The assistant calls the create tool with wait: false and returns the task id. Check on it later with get_task.
Check pricing before creating
Check current Suno pricing, then create the task if it matches my request.
The assistant calls check_pricing and can link to the Suno model page for the canonical catalog entry.
Configuration
The server resolves auth in this order:
RUNAPI_API_KEYenvironment variable, useful for headless and CI hosts~/.config/runapi/config.json, created by the MCPlogintool orrunapi login- No key, which still allows
check_pricing
The config file is normally managed by login. A pre-provisioned headless config can use:
{
"apiKey": "your_runapi_key"
}
Do not commit real API keys.
Links
| Resource | URL |
|---|---|
| Suno model page | https://runapi.ai/models/suno |
| npm package | @runapi.ai/suno-mcp |
| GitHub repository | runapi-ai/suno-mcp |
| RunAPI MCP overview | runapi.ai/mcp |
| RunAPI docs | runapi.ai/docs |
License
Licensed under the Apache License, Version 2.0.
Install
Add suno mcp to your client. Pick the one you use.
claude mcp add suno-mcp -- npx -y @runapi.ai/suno-mcpcodex mcp add suno-mcp -- npx -y @runapi.ai/suno-mcpamp mcp add suno-mcp -- npx -y @runapi.ai/suno-mcp{
"mcpServers": {
"suno-mcp": {
"command": "npx",
"args": [
"-y",
"@runapi.ai/suno-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"suno-mcp": {
"command": "npx",
"args": [
"-y",
"@runapi.ai/suno-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"suno-mcp","command":"npx","args":["-y","@runapi.ai/suno-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"suno-mcp": {
"command": "npx",
"args": [
"-y",
"@runapi.ai/suno-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"suno-mcp": {
"command": "npx",
"args": [
"-y",
"@runapi.ai/suno-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"suno-mcp": {
"command": "npx",
"args": [
"-y",
"@runapi.ai/suno-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"suno-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@runapi.ai/suno-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"suno-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@runapi.ai/suno-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @runapi.ai/suno-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
14 tools
suno mcp exposes 14 tools to a connected agent.
- add_samples
- Yes
- blend_lyrics
- Yes
- cover_audio
- Yes
- create_mashup
- Yes
- extend_music
- Yes
- generate_lyrics
- Yes
- inspire_music
- Yes
- remaster_audio
- Yes
- separate_audio_stems
- Yes
- stitch_audio
- Yes
- text_to_music
- Yes
- text_to_sound
- Yes
- get_task
- Yes
- check_pricing
- No
Score
86 / 100
Excellent
- Documentation25/25
- Maintenance25/25
- Trust16/20
- Capability8/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 11 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 14 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.3.2Latest | Aug 21, 2026 |
| 0.3.1 | Aug 17, 2026 |
| 0.3.0 | Aug 10, 2026 |
| 0.2.7 | Aug 7, 2026 |
| 0.2.6 | Aug 6, 2026 |
| 0.2.5 | Jul 31, 2026 |
| 0.2.4 | Jul 28, 2026 |
| 0.2.3 | Jul 28, 2026 |
| 0.2.2 | Jul 23, 2026 |
| 0.2.1 | Jul 22, 2026 |
| 0.2.0 | Jul 21, 2026 |
| 0.1.10 | Jul 20, 2026 |
| 0.1.9 | Jul 8, 2026 |
| 0.1.8 | Jul 8, 2026 |
| 0.1.7 | Jul 8, 2026 |
| 0.1.6 | Jun 24, 2026 |
| 0.1.5 | Jun 24, 2026 |
| 0.1.4 | Jun 24, 2026 |
| 0.1.3 | Jun 24, 2026 |
| 0.1.2 | Jun 23, 2026 |
| 0.1.0 | Jun 23, 2026 |