MCPSuno: MCP Suno 服务器实现
使用说明(Markdown 格式)
-
项目简介
- MCPSuno 是一个基于 MCP 的服务器实现,聚合了 Suno API 的音乐生成、歌词、风格、任务管理等工具,并通过 MCP 框架对外暴露,方便 LLM 客户端以标准化方式读取资源、调用工具、获取提示模板等能力。
-
主要功能点
- MCP 核心能力:注册并暴露 Tools、Prompts,支持资源管理、数据访问和工具执行等。
- 双传输模式:支持 stdio 与 HTTP 两种传输模式,HTTP 模式可通过 Bearer Token 进行鉴权。
- 资源与工具:提供大量 Suno 相关的生成、转换、风格、任务等工具,且具备 Persona(声线风格)管理能力。
- Prompts 渲染:提供用于 guiding LLM 的 prompts,用以引导调用合适的工具与工作流。
- JSON-RPC 通信:服务器以 MCP 的请求/响应格式与客户端交互,支持初始化、请求、通知等。
- 运行环境与扩展性:自带命令行入口、Docker 配置示例、以及用于本地开发和测试的代码组织。
-
安装步骤
- 克隆仓库并进入目录
- 创建并激活虚拟环境(推荐)
- 安装依赖并安装本仓库(开发模式)
- 创建并配置环境变量文件 (.env),其中包含 AceDataCloud Suno 相关的 API token 与配置信息
- 运行服务器:可以通过 mcp-suno 启动(推荐的入口命令),也可以直接使用 python main.py 启动
- 在 Claude Desktop/VS Code 等 MCP 客户端中按需配置连接信息
-
服务器配置(MCP 客户端配置示例说明) 配置信息示例(MCP 客户端不需要此代码) { "server_name": "suno", "command": "mcp-suno", "args": ["--transport", "stdio"] } 说明:
- server_name 对应仓库中定义的 MCP 服务器名称,示例为 suno
- command 为启动服务器的命令,仓库提供 mcp-suno 作为入口
- args 为启动参数,如传输模式等 如果使用 HTTP 传输,请将 transport 改为 http,并按需要提供端口与证书等配置
-
基本使用方法
- 启动方式
- 以本地 stdio 模式运行:执行 mcp-suno,服务器通过标准输入输出与客户端通信
- 以 HTTP 模式运行:执行 mcp-suno --transport http --port 8000,服务器通过 HTTP 传输与 MCP 客户端通信
- 客户端连接要点
- MCP 客户端需要在初始化阶段向服务器发送 initialize 请求,声明能力并建立会话
- 客户端可通过工具 (Tools) 调用音乐生成、歌词、风格优化、任务查询等功能
- 使用提示
- 使用 Suno 的 API Token 时,在 HTTP 模式下通过 Authorization: Bearer … 头传递;在本地 stdio 模式下,ACEDATACLOUD_API_TOKEN 需要在环境变量中配置且有效
- 可以通过 prompts 进行提示模板的加载,帮助 LLM 做出更合理的工具调用
- 快速测试
- 在本地环境变量正确配置后,可以尝试生成音乐、获取任务状态、下载 WAV/MP4 等资源
- 启动方式