@runapi.ai/suno-mcp 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -33
- package/package.json +10 -8
- package/server.json +4 -4
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<h1 align="center">Suno MCP Server</h1>
|
|
1
|
+
<h1 align="center">RunAPI Suno MCP Server</h1>
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<strong>
|
|
4
|
+
<strong>Suno API access for AI agents: create multimodal generation tasks, poll results, and check pricing through one focused MCP server.</strong>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
@@ -10,32 +10,33 @@
|
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<a href="https://www.npmjs.com/package/@runapi.ai/suno-mcp"><img src="https://img.shields.io/npm/v/%40runapi.ai/suno-mcp?style=flat-square&color=blue" alt="npm version"></a>
|
|
13
|
+
<a href="https://github.com/runapi-ai/suno-mcp"><img src="https://img.shields.io/badge/GitHub-runapi--ai%2Fsuno-mcp-24292f?style=flat-square" alt="GitHub repository"></a>
|
|
13
14
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue?style=flat-square" alt="Apache-2.0 license"></a>
|
|
14
15
|
<img src="https://img.shields.io/badge/Type-MCP_Server-blue?style=flat-square" alt="MCP Server">
|
|
15
|
-
<img src="https://img.shields.io/badge/Models-6-
|
|
16
|
+
<img src="https://img.shields.io/badge/Models-6-16a34a?style=flat-square" alt="6 models">
|
|
16
17
|
</p>
|
|
17
18
|
|
|
18
19
|
<p align="center">
|
|
19
|
-
<a href="#
|
|
20
|
+
<a href="#install">Install</a> |
|
|
20
21
|
<a href="#tools">Tools</a> |
|
|
21
22
|
<a href="#models">Models</a> |
|
|
22
|
-
<a href="#
|
|
23
|
-
<a href="#configuration">Configuration</a>
|
|
23
|
+
<a href="#agent-prompts">Agent Prompts</a> |
|
|
24
|
+
<a href="#configuration">Configuration</a> |
|
|
25
|
+
<a href="#links">Links</a>
|
|
24
26
|
</p>
|
|
25
27
|
|
|
26
28
|
---
|
|
27
29
|
|
|
28
|
-
##
|
|
30
|
+
## Why This Package?
|
|
29
31
|
|
|
30
|
-
`@runapi.ai/suno-mcp` is a focused
|
|
31
|
-
It
|
|
32
|
+
`@runapi.ai/suno-mcp` is a focused Model Context Protocol server for the **Suno** model line on RunAPI.
|
|
33
|
+
It gives MCP-compatible assistants direct access to 6 endpoints and 6 model variants without loading the full RunAPI catalog.
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
This package is a pure client; it does not run a local generation backend.
|
|
35
|
+
Use this per-model server when an agent should stay scoped to Suno. Use [`@runapi.ai/mcp`](https://github.com/runapi-ai/mcp) when one assistant should discover every RunAPI model line.
|
|
35
36
|
|
|
36
37
|
---
|
|
37
38
|
|
|
38
|
-
##
|
|
39
|
+
## Install
|
|
39
40
|
|
|
40
41
|
Add it to Claude Code:
|
|
41
42
|
|
|
@@ -43,10 +44,13 @@ Add it to Claude Code:
|
|
|
43
44
|
claude mcp add suno -s user -- npx -y @runapi.ai/suno-mcp
|
|
44
45
|
```
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
- `-s project`: team-shared, written to `.mcp.json` in the current repo so it can be committed.
|
|
47
|
+
Use project scope when the server should be shared with a repository:
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
```bash
|
|
50
|
+
claude mcp add suno -s project -- npx -y @runapi.ai/suno-mcp
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Codex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:
|
|
50
54
|
|
|
51
55
|
```json
|
|
52
56
|
{
|
|
@@ -60,8 +64,9 @@ For other hosts, or for manual configuration, use this JSON:
|
|
|
60
64
|
}
|
|
61
65
|
```
|
|
62
66
|
|
|
63
|
-
Create an API key at [runapi.ai](https://runapi.ai) and expose it as `RUNAPI_API_KEY`.
|
|
64
|
-
|
|
67
|
+
Create an API key at [runapi.ai](https://runapi.ai) and expose it as `RUNAPI_API_KEY`. `check_pricing` can run without a key; task creation and status polling require one.
|
|
68
|
+
|
|
69
|
+
Ready-made examples are in [`examples/`](examples/) for Claude, Cursor, Windsurf, VS Code, and Roo Code.
|
|
65
70
|
|
|
66
71
|
---
|
|
67
72
|
|
|
@@ -69,20 +74,20 @@ See `examples/` for ready-made config files for Claude, Cursor, Windsurf, VS Cod
|
|
|
69
74
|
|
|
70
75
|
| Tool | Auth | Purpose |
|
|
71
76
|
|---|---|---|
|
|
72
|
-
| `cover_audio` | Yes | Create a Suno
|
|
73
|
-
| `create_mashup` | Yes | Create a Suno
|
|
74
|
-
| `extend_music` | Yes | Create a Suno
|
|
75
|
-
| `generate_lyrics` | Yes | Create a Suno
|
|
76
|
-
| `text_to_music` | Yes | Create a Suno
|
|
77
|
-
| `text_to_sound` | Yes | Create a Suno
|
|
77
|
+
| `cover_audio` | Yes | Create a Suno cover audio task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
|
|
78
|
+
| `create_mashup` | Yes | Create a Suno create mashup task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
|
|
79
|
+
| `extend_music` | Yes | Create a Suno extend music task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
|
|
80
|
+
| `generate_lyrics` | Yes | Create a Suno generate lyrics task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
|
|
81
|
+
| `text_to_music` | Yes | Create a Suno text to music task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
|
|
82
|
+
| `text_to_sound` | Yes | Create a Suno text to sound task and optionally wait for a terminal status. Returns the task id, status, output URLs, and pricing snapshot. |
|
|
78
83
|
| `get_task` | Yes | Fetch the current status and latest payload for an existing task. |
|
|
79
|
-
| `check_pricing` | No | Look up the current
|
|
84
|
+
| `check_pricing` | No | Look up the current pricing snapshot for a Suno model and endpoint. |
|
|
80
85
|
|
|
81
86
|
---
|
|
82
87
|
|
|
83
88
|
## Models
|
|
84
89
|
|
|
85
|
-
Suno covers 6
|
|
90
|
+
Suno covers 6 model variants across 6 endpoints. Each tool accepts the models listed for it:
|
|
86
91
|
|
|
87
92
|
| Tool | Models |
|
|
88
93
|
|---|---|
|
|
@@ -93,13 +98,13 @@ Suno covers 6 models across 6 endpoints. Each tool accepts the models listed for
|
|
|
93
98
|
| `text_to_music` | `suno-v4`, `suno-v4.5`, `suno-v4.5-all`, `suno-v4.5-plus`, `suno-v5`, `suno-v5.5` |
|
|
94
99
|
| `text_to_sound` | `suno-v5`, `suno-v5.5` |
|
|
95
100
|
|
|
96
|
-
|
|
101
|
+
Model availability can change between releases. Use `check_pricing` or the [Suno model page](https://runapi.ai/models/suno) for the current catalog view.
|
|
97
102
|
|
|
98
103
|
---
|
|
99
104
|
|
|
100
|
-
##
|
|
105
|
+
## Agent Prompts
|
|
101
106
|
|
|
102
|
-
Ask your assistant in natural language; it
|
|
107
|
+
Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.
|
|
103
108
|
|
|
104
109
|
### Create a task
|
|
105
110
|
|
|
@@ -107,7 +112,7 @@ Ask your assistant in natural language; it uses the tools to confirm pricing and
|
|
|
107
112
|
Run a Suno cover audio task with RunAPI.
|
|
108
113
|
```
|
|
109
114
|
|
|
110
|
-
The assistant
|
|
115
|
+
The assistant can call `check_pricing`, then `cover_audio`, and return the task id, status, and output URLs.
|
|
111
116
|
|
|
112
117
|
### Submit without waiting
|
|
113
118
|
|
|
@@ -117,13 +122,13 @@ Create the task but don't wait for it to finish.
|
|
|
117
122
|
|
|
118
123
|
The assistant calls the create tool with `wait: false` and returns the task id. Check on it later with `get_task`.
|
|
119
124
|
|
|
120
|
-
### Check pricing
|
|
125
|
+
### Check pricing before creating
|
|
121
126
|
|
|
122
127
|
```text
|
|
123
|
-
|
|
128
|
+
Check current Suno pricing, then create the task if it matches my request.
|
|
124
129
|
```
|
|
125
130
|
|
|
126
|
-
The assistant calls `check_pricing` and
|
|
131
|
+
The assistant calls `check_pricing` and can link to the [Suno model page](https://runapi.ai/models/suno) for the canonical catalog entry.
|
|
127
132
|
|
|
128
133
|
---
|
|
129
134
|
|
|
@@ -142,7 +147,19 @@ Example config file:
|
|
|
142
147
|
}
|
|
143
148
|
```
|
|
144
149
|
|
|
145
|
-
Do not commit real API keys. Get one at [runapi.ai](https://runapi.ai)
|
|
150
|
+
Do not commit real API keys. Get one at [runapi.ai](https://runapi.ai).
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Links
|
|
155
|
+
|
|
156
|
+
| Resource | URL |
|
|
157
|
+
|---|---|
|
|
158
|
+
| Suno model page | [https://runapi.ai/models/suno](https://runapi.ai/models/suno) |
|
|
159
|
+
| npm package | [@runapi.ai/suno-mcp](https://www.npmjs.com/package/@runapi.ai/suno-mcp) |
|
|
160
|
+
| GitHub repository | [runapi-ai/suno-mcp](https://github.com/runapi-ai/suno-mcp) |
|
|
161
|
+
| RunAPI MCP overview | [runapi.ai/mcp](https://runapi.ai/mcp) |
|
|
162
|
+
| RunAPI docs | [runapi.ai/docs](https://runapi.ai/docs) |
|
|
146
163
|
|
|
147
164
|
---
|
|
148
165
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runapi.ai/suno-mcp",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Suno MCP server for
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"description": "RunAPI Suno MCP server for multimodal generation: create tasks, poll results, and check pricing across 6 model variants from Claude Code, Codex, Cursor, and VS Code.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -25,12 +25,16 @@
|
|
|
25
25
|
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"runapi",
|
|
28
|
+
"runapi-ai",
|
|
28
29
|
"mcp",
|
|
30
|
+
"mcp-server",
|
|
29
31
|
"model-context-protocol",
|
|
30
|
-
"ai",
|
|
32
|
+
"ai-agents",
|
|
33
|
+
"claude-code",
|
|
34
|
+
"cursor",
|
|
35
|
+
"vscode",
|
|
31
36
|
"suno",
|
|
32
37
|
"suno-mcp",
|
|
33
|
-
"suno-ai",
|
|
34
38
|
"suno-api",
|
|
35
39
|
"music-generation",
|
|
36
40
|
"ai-music",
|
|
@@ -39,13 +43,11 @@
|
|
|
39
43
|
"cover-audio",
|
|
40
44
|
"create-mashup",
|
|
41
45
|
"extend-music",
|
|
42
|
-
"generate-lyrics"
|
|
43
|
-
"text-to-music",
|
|
44
|
-
"text-to-sound"
|
|
46
|
+
"generate-lyrics"
|
|
45
47
|
],
|
|
46
48
|
"author": "RunAPI",
|
|
47
49
|
"license": "Apache-2.0",
|
|
48
|
-
"homepage": "https://runapi.ai",
|
|
50
|
+
"homepage": "https://runapi.ai/models/suno",
|
|
49
51
|
"repository": {
|
|
50
52
|
"type": "git",
|
|
51
53
|
"url": "git+https://github.com/runapi-ai/suno-mcp.git"
|
package/server.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.runapi-builder/suno-mcp",
|
|
4
|
-
"description": "RunAPI MCP server for Suno: create tasks, poll status,
|
|
4
|
+
"description": "RunAPI MCP server for Suno: create tasks, poll status, check pricing.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/runapi-ai/suno-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.4",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@runapi.ai/suno-mcp",
|
|
14
|
-
"version": "0.1.
|
|
14
|
+
"version": "0.1.4",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
|
18
18
|
"environmentVariables": [
|
|
19
19
|
{
|
|
20
|
-
"description": "RunAPI API key.
|
|
20
|
+
"description": "RunAPI API key. Create one at https://runapi.ai",
|
|
21
21
|
"isRequired": true,
|
|
22
22
|
"format": "string",
|
|
23
23
|
"isSecret": true,
|