关于 mcp-producer
mcp-producer 是一个 MCP 服务,通过 Producer/Riffusion FUZZ 模型和 AceDataCloud API 生成及编辑 AI 音乐。它面向使用 MCP 兼容客户端、需要歌曲、歌词、音频处理和音乐视频工具的人。
主要功能
- 01根据提示词或自定义歌词生成音乐
- 02延长、翻唱和生成歌曲变体
- 03交换人声与伴奏
- 04替换片段并分离音轨
- 05生成歌词和音乐视频
- 06将歌曲导出为 WAV
适用场景
- 01根据文本提示创作歌曲
- 02制作不同风格的翻唱或歌曲变体
- 03替换歌曲片段或分离音轨
- 04生成歌词或音乐视频
MCP 相关
向 MCP 客户端提供音乐生成、编辑、歌词、音频、视频、导出、模型列表和任务状态工具。可通过托管 OAuth、托管 API 令牌或本地 stdio 连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://producer.mcp.acedata.cloud/mcpclaude mcp add --transport http acedatacloud-mcp-producer https://producer.mcp.acedata.cloud/mcp{"mcpServers":{"acedatacloud-mcp-producer":{"type":"http","url":"https://producer.mcp.acedata.cloud/mcp"}}}在 Cursor 中打开{"servers":{"acedatacloud-mcp-producer":{"type":"http","url":"https://producer.mcp.acedata.cloud/mcp"}}}在 VS Code 中打开{"mcpServers":{"acedatacloud-mcp-producer":{"type":"http","url":"https://producer.mcp.acedata.cloud/mcp"}}}{"mcpServers":{"acedatacloud-mcp-producer":{"serverUrl":"https://producer.mcp.acedata.cloud/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
ProducerMCP
一款通过 AceDataCloud API 使用 Producer/Riffusion(FUZZ 模型)生成 AI 音乐的 Model Context Protocol (MCP) 服务。
可直接通过 Claude、VS Code 或任何兼容 MCP 的客户端生成 AI 音乐。
功能
- 文本生成音乐 - 根据文本提示词创作 AI 生成的音乐
- 自定义音乐 - 完全自定义歌词、标题和风格
- 歌曲续写 - 从任意时间戳续写歌曲
- 翻唱/混音 - 以不同流派和风格创作翻唱版本
- 变奏 - 为歌曲生成替代版本
- 人声/伴奏互换 - 在歌曲间混合人声和伴奏
- 片段替换 - 重新生成歌曲中的指定片段
- 音轨分离 - 将歌曲拆分为人声和伴奏音轨
- 歌词生成 - 根据提示词生成结构化歌词
- 视频生成 - 为歌曲创作音乐视频
- WAV 导出 - 获取无损音频格式
- 8 种 FUZZ 模型 - 从 FUZZ-0.8 到 FUZZ-2.0 Pro
工具参考
| 工具 | 描述 |
|---|---|
producer_generate_music | 根据文本提示词生成 AI 音乐。 |
producer_generate_custom_music | 使用自定义歌词、标题和风格生成音乐。 |
producer_extend_music | 从指定时间戳续写已有歌曲。 |
producer_cover_music | 以不同风格创作翻唱/混音版本。 |
producer_variation_music | 为已有歌曲创作变奏版本。 |
producer_swap_vocals | 互换两首歌曲的人声。 |
producer_swap_instrumentals | 互换两首歌曲的伴奏。 |
producer_replace_section | 用新内容替换指定时间段。 |
producer_stems_music | 将歌曲分离为人声和伴奏音轨。 |
producer_generate_lyrics | 根据提示词生成结构化歌曲歌词。 |
producer_upload_audio | 上传外部音频以供处理。 |
producer_generate_video | 为歌曲生成音乐视频。 |
producer_generate_wav | 获取歌曲的无损 WAV 格式。 |
producer_get_task | 查询生成任务的状态。 |
producer_get_tasks_batch | 一次查询多个生成任务。 |
producer_list_models | 列出所有可用的 FUZZ 模型。 |
producer_list_actions | 列出所有可用的操作和工具。 |
producer_get_lyric_format_guide | 获取歌词格式指南。 |
连接:托管 OAuth、API 令牌或本地 stdio
托管端点为 https://producer.mcp.acedata.cloud/mcp。为 MCP 客户端选择一种接入方式:
| 接入方式 | 适用场景 | 凭据设置 |
|---|---|---|
| 托管 OAuth | 客户端支持远程 MCP OAuth | 只添加 URL,然后登录 AceDataCloud 并批准访问。无需将令牌粘贴到客户端配置中。 |
| 托管 API 令牌 | 客户端无法完成 OAuth,或你需要显式的集成凭据 | 在 Authorization: Bearer … 标头中发送 AceDataCloud API 令牌。将其保存在本地密钥存储或环境变量中。 |
| 本地 stdio | 客户端运行本地 MCP 进程 | 安装 mcp-producer,并将 ACEDATACLOUD_API_TOKEN 传递给该进程。它仍会调用 AceDataCloud API。 |
托管服务提供 OAuth 元数据和动态客户端注册(DCR)。DCR 用于注册客户端应用,不是 API 密钥。 OAuth 会为你登录,客户端会发送由此获得的 Bearer 令牌;它可能会重复使用或为该账户创建 API 凭据。通过浏览器登录仍需拥有 AceDataCloud 账户。托管服务可能按用量计费:在执行实际操作前,请查看当前服务文档和所示价格。不要为同一服务同时配置 OAuth 登录和固定的 Authorization 标头。
托管 OAuth 示例
- Claude 和 Claude Desktop 聊天: 在
Customize → Connectors → Add custom connector中添加远程自定义连接器,输入https://producer.mcp.acedata.cloud/mcp,选择登录;如果 Claude 询问如何注册其 OAuth 客户端,请选择 Register automatically。完成授权。Claude Desktop 的本地claude_desktop_config.json是单独的配置方式。Claude 连接器指南。 - Claude Code: 运行
claude mcp add --transport http --scope user producer https://producer.mcp.acedata.cloud/mcp,然后运行claude mcp login producer。检查/mcp。Claude Code MCP 指南。 - Cursor: 添加远程服务,只需填写
https://producer.mcp.acedata.cloud/mcp。对于项目,将下方条目合并到<project>/.cursor/mcp.json;对于个人使用,请使用~/.cursor/mcp.json。Cursor MCP 指南。 - VS Code / Copilot: 运行 MCP: Add Server,选择 HTTP,输入
https://producer.mcp.acedata.cloud/mcp,然后完成浏览器登录。新的可移植工作区配置使用<project>/.mcp.json;下方的 VS Code 专用格式使用<project>/.vscode/mcp.json或用户配置文件。检查 MCP: List Servers。VS Code MCP 设置。 - Codex: 运行
codex mcp add producer --url https://producer.mcp.acedata.cloud/mcp,然后运行codex mcp login producer。其用户设置位于~/.codex/config.toml。Codex 官方 MCP 指南。
Cursor 项目配置(OAuth):
{
"mcpServers": {
"producer": {"url": "https://producer.mcp.acedata.cloud/mcp"}
}
}
VS Code 专用工作区配置(OAuth):
{
"servers": {
"producer": {"type": "http", "url": "https://producer.mcp.acedata.cloud/mcp"}
}
}
托管 API 令牌
- 打开 Ace Data Cloud → Applications。登录,或先注册账号。
- 找到 General application。如果尚未创建,请选择 Initialize General Application。通用密钥可使用账号可用的服务;专用应用的密钥仅限其对应服务。请确认所需的服务/模型访问权限,并查看当前价格。
- 从应用卡片复制 API Key,或打开 Keys / Manage Keys → Create,为此集成创建单独的密钥。为密钥设置易于辨认的名称,以便单独撤销或轮换。
- 创建密钥时,请检查 Expiration Time、Set Usage Limitation 和 Allowed APIs。只启用所需的限制,并允许将要调用的操作,然后点击 Create,再从密钥列表复制令牌。查询任务并不授予提交生成请求的权限。请确认应用余额足以支付首次请求;任何试用额度均以账号当前显示的额度为准。
- 只复制令牌值,不要包含引号、空格或
Bearer。API Key / API Token 字段需要填写原始值;只有手动配置 HTTPAuthorization标头时才需要添加Bearer前缀。platform-...账号管理令牌不能代替生成 API 密钥。


请将密钥保存在客户端的凭据存储中,或保存在下方所示的环境变量中。切勿将其放入提示词、共享工作流、屏幕截图或 Git 提交中。如果身份验证失败,请先检查复制的完整值、应用/服务访问权限、有效期、使用限制和余额,再创建其他密钥。
固定的 Bearer 标头会绕过 OAuth。如果标头无效,请在尝试浏览器登录前将其移除;请对保存的凭据保密。
对于 Claude Code,添加服务时 shell 会展开令牌;请将保存的用户 MCP 配置视为机密:
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
claude mcp add --transport http --scope user producer https://producer.mcp.acedata.cloud/mcp \
--header "Authorization: Bearer $ACEDATACLOUD_API_TOKEN"
对于 Claude Code 项目配置,请在 <project>/.mcp.json 中填写变量引用,并在启动 Claude Code 的环境中设置该变量:
{
"mcpServers": {
"producer": {
"type": "http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}"}
}
}
}
Cursor 在 ~/.cursor/mcp.json 或未提交的项目配置中使用不同的环境变量语法:
{
"mcpServers": {
"producer": {
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${env:ACEDATACLOUD_API_TOKEN}"}
}
}
}
在 VS Code 中,运行 MCP: Open User Configuration,并合并此服务和掩码输入;${input:...} 适用于 VS Code 的用户/工作区格式,不能移植到 Agent Host 的 .mcp.json 格式:
{
"inputs": [
{"id": "acedata-producer-token", "type": "promptString", "description": "AceDataCloud API token", "password": true}
],
"servers": {
"producer": {
"type": "http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${input:acedata-producer-token}"}
}
}
}
对于 Cline,请使用其 MCP 配置界面或 CLI 文件 ~/.cline/data/settings/cline_mcp_settings.json;其远程传输值为 streamableHttp。对于 JetBrains AI Assistant,请从 Settings → Tools → AI Assistant → Model Context Protocol (MCP) 添加远程 URL。对于 Zed,OAuth 场景下请使用仅包含 URL 的 context_servers 条目,或添加本地 Bearer 标头。这些客户端的配置架构各不相同;请遵循其当前界面,而不要照搬其他客户端的 JSON。Cline · JetBrains · Zed。
本地 stdio
安装软件包,并为本地进程提供 API 令牌:
python -m pip install mcp-producer
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
mcp-producer
对于 Claude Desktop 本地 MCP,请将此条目合并到通过其开发者设置打开的文件中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json)。uvx 需要将 uv 添加到 PATH:
{
"mcpServers": {
"producer": {
"command": "uvx",
"args": ["mcp-producer"],
"env": {"ACEDATACLOUD_API_TOKEN": "YOUR_API_TOKEN"}
}
}
}
请妥善保管此用户级文件。可自托管的 HTTP 使用 mcp-producer --transport http --port 8000;仅在具备适当网络和 TLS 控制措施的情况下公开此服务。本地执行仍会调用 AceDataCloud API。
使用服务前的检查
https://producer.mcp.acedata.cloud/health返回{"status":"ok"},仅表示端点可访问。- 确认 MCP 客户端已加载工具。
producer_list_models是一个参考工具;它无法验证下游 API 访问权限或余额。 - 如果需要完整的 API 检查,请先查看当前服务文档和显示的价格,再使用你自己的有效输入调用
producer_generate_music。如果结果中包含任务 ID,请使用同一 ID 调用producer_get_task,直到任务成功或失败。不要仅为检查进度而重新提交操作。
对于 401,请检查客户端使用了哪种身份验证方式,以及令牌或 OAuth 会话是否有效。403 可能表示账户权限问题或内容审核失败;请查看返回的错误信息。余额不足和下游服务故障需要分别排查。工具已列出或任务已提交,并不代表已成功获得结果。
可用工具
音乐生成
| 工具 | 描述 |
|---|---|
producer_generate_music | 根据文本提示词生成音乐 |
producer_generate_custom_music | 使用自定义歌词和风格生成音乐 |
producer_extend_music | 从指定时间戳开始延长歌曲 |
producer_cover_music | 以不同风格创作翻唱 |
producer_variation_music | 创作歌曲的变奏 |
人声/伴奏
| 工具 | 描述 |
|---|---|
producer_swap_vocals | 交换两首歌曲的人声 |
producer_swap_instrumentals | 交换两首歌曲的伴奏 |
producer_replace_section | 用新内容替换指定时间范围 |
producer_stems_music | 分离为多个音轨 |
歌词
| 工具 | 描述 |
|---|---|
producer_generate_lyrics | 根据提示词生成歌词 |
媒体
| 工具 | 描述 |
|---|---|
producer_upload_audio | 上传外部音频 |
producer_generate_video | 为歌曲生成视频 |
producer_generate_wav | 获取无损 WAV 格式 |
任务
| 工具 | 描述 |
|---|---|
producer_get_task | 查询单个任务的状态 |
producer_get_tasks_batch | 一次查询多个任务 |
信息
| 工具 | 描述 |
|---|---|
producer_list_models | 列出可用的 FUZZ 模型 |
producer_list_actions | 列出可用的 API 操作 |
producer_get_lyric_format_guide | 歌词格式指南 |
使用示例
根据提示词生成音乐
User: Create a jazz song about rainy nights
Claude: I'll generate a jazz song for you.
[Calls producer_generate_music with prompt="Smooth jazz song about rainy nights, saxophone, piano, moody"]
使用歌词创作歌曲
User: Here are my lyrics:
[Verse] Walking in the rain...
[Chorus] But I keep moving on...
Claude: I'll create a song with your lyrics.
[Calls producer_generate_custom_music with lyrics, title, and prompt]
延长歌曲
User: Make this song longer with another verse
Claude: I'll extend the song from where it left off.
[Calls producer_extend_music with audio_id, continue_at, and new lyrics]
创建翻唱
User: Make an acoustic version of this song
Claude: I'll create an acoustic cover.
[Calls producer_cover_music with audio_id and prompt="acoustic folk, gentle guitar"]
可用模型
| 模型 | 层级 | 描述 |
|---|---|---|
| FUZZ-2.0 Pro | Pro | 质量最高,最适合专业制作 |
| FUZZ-2.0 | Default | 推荐用于大多数使用场景(默认) |
| FUZZ-2.0 Raw | Raw | 未经处理的输出,适用于自定义后期处理 |
| FUZZ-1.1 Pro | Pro | 高质量的旧版模型 |
| FUZZ-1.0 Pro | Pro | 专业级旧版模型 |
| FUZZ-1.0 | Default | 稳定的旧版模型 |
| FUZZ-1.1 | Default | 改进版旧版模型 |
| FUZZ-0.8 | Legacy | 原始模型,基础质量 |
配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
ACEDATACLOUD_API_TOKEN | AceDataCloud 提供的 API 令牌 | 必填 |
ACEDATACLOUD_API_BASE_URL | API 基础 URL | https://api.acedata.cloud |
ACEDATACLOUD_OAUTH_CLIENT_ID | OAuth 客户端 ID(托管模式) | -- |
ACEDATACLOUD_PLATFORM_BASE_URL | 平台基础 URL | https://platform.acedata.cloud |
PRODUCER_DEFAULT_MODEL | 默认 FUZZ 模型 | FUZZ-2.0 |
PRODUCER_REQUEST_TIMEOUT | 请求超时时间(秒) | 1800 |
LOG_LEVEL | 日志级别 | INFO |
命令行选项
mcp-producer --help
Options:
--version Show version
--transport Transport mode: stdio (default) or http
--port Port for HTTP transport (default: 8000)
开发
设置开发环境
# Clone repository
git clone https://github.com/AceDataCloud/ProducerMCP.git
cd ProducerMCP
# 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 unit tests
pytest
# Run with coverage
pytest --cov=core --cov=tools
# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration
代码质量
# Format code
ruff format .
# Lint code
ruff check .
# Type check
mypy core tools
构建与发布
# Install build dependencies
pip install -e ".[release]"
# Build package
python -m build
# Upload to PyPI
twine upload dist/*
项目结构
ProducerMCP/
├── core/ # Core modules
│ ├── __init__.py
│ ├── client.py # HTTP client for Producer API
│ ├── config.py # Configuration management
│ ├── exceptions.py # Custom exceptions
│ ├── oauth.py # OAuth 2.1 provider
│ ├── server.py # MCP server initialization
│ ├── types.py # Type definitions (models, actions)
│ └── utils.py # Utility functions
├── tools/ # MCP tool definitions
│ ├── __init__.py
│ ├── audio_tools.py # Audio generation tools (9 tools)
│ ├── lyrics_tools.py # Lyrics generation
│ ├── media_tools.py # Upload, video, WAV tools
│ ├── task_tools.py # Task query tools
│ └── info_tools.py # Information tools
├── prompts/ # MCP prompts
│ └── __init__.py # Prompt templates
├── 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
├── .ruff.toml # Ruff linter config
├── 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
参与贡献
欢迎贡献!请:
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing) - 提交更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing) - 创建 Pull Request
文档
许可证
MIT 许可证——详情请参阅 LICENSE。
链接
由 AceDataCloud 倾情打造
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。