内容
# 生产者MCP
<!-- mcp-name: io.github.AceDataCloud/mcp-producer -->
[](https://pypi.org/project/mcp-producer/)
[](https://pypi.org/project/mcp-producer/)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io)
一个用于AI音乐生成的[模型上下文协议(MCP)](https://modelcontextprotocol.io)服务器,使用[生产者/ Riffusion](https://www.riffusion.com/)(FUZZ模型)通过[AceDataCloud API](https://platform.acedata.cloud)。
直接从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` | 获取歌词格式指南。 |
## 快速入门
### 1. 获取您的API令牌
1. 在[AceDataCloud平台](https://platform.acedata.cloud)注册
2. 导航到API文档
3. 点击**"获取"**获取您的API令牌
4. 复制令牌以备下文使用
### 2. 使用托管服务器(推荐)
AceDataCloud托管了一个托管的MCP服务器 - **无需本地安装**。
**端点:** `https://producer.mcp.acedata.cloud/mcp`
所有请求都需要Bearer令牌。使用步骤1中的API令牌。
#### Claude.ai
直接在[Claude.ai](https://claude.ai)上使用OAuth连接 - **无需API令牌**:
1. 进入Claude.ai **设置 > 集成 > 添加更多**
2. 输入服务器URL:`https://producer.mcp.acedata.cloud/mcp`
3. 完成OAuth登录流程
4. 在对话中使用工具
#### Claude 桌面版
添加到您的配置(`~/Library/Application Support/Claude/claude_desktop_config.json`在macOS上):
```json
{
"mcpServers": {
"producer": {
"type": "streamable-http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
#### Cursor / Windsurf
添加到您的MCP配置(`.cursor/mcp.json`或`.windsurf/mcp.json`):
```json
{
"mcpServers": {
"producer": {
"type": "streamable-http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
#### VS Code(Copilot)
添加到您的VS Code MCP配置(`.vscode/mcp.json`):
```json
{
"servers": {
"producer": {
"type": "streamable-http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
或安装[ Ace Data Cloud MCP扩展](https://marketplace.visualstudio.com/items?itemName=acedatacloud.acedatacloud-mcp)用于VS Code,该扩展通过一键设置注册托管的MCP服务器。
#### JetBrains IDEs
1. 进入 **设置 > 工具 > AI助手 > 模型上下文协议(MCP)**
2. 点击 **添加** > **HTTP**
3. 粘贴:
```json
{
"mcpServers": {
"producer": {
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
#### Claude 代码
Claude 代码原生支持MCP服务器:
```bash
claude mcp add producer --transport http https://producer.mcp.acedata.cloud/mcp \
-h "Authorization: Bearer YOUR_API_TOKEN"
```
或添加到您的项目的`.mcp.json`:
```json
{
"mcpServers": {
"producer": {
"type": "streamable-http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
#### Cline
添加到Cline的MCP设置(`.cline/mcp_settings.json`):
```json
{
"mcpServers": {
"producer": {
"type": "streamable-http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
#### Amazon Q 开发者
添加到您的MCP配置:
```json
{
"mcpServers": {
"producer": {
"type": "streamable-http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
#### Roo 代码
添加到Roo Code的MCP设置:
```json
{
"mcpServers": {
"producer": {
"type": "streamable-http",
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
#### Continue.dev
添加到`.continue/config.yaml`:
```yaml
mcpServers:
- name: producer
type: streamable-http
url: https://producer.mcp.acedata.cloud/mcp
headers:
Authorization: "Bearer YOUR_API_TOKEN"
```
#### Zed
添加到Zed的设置(`~/.config/zed/settings.json`):
```json
{
"language_models": {
"mcp_servers": {
"producer": {
"url": "https://producer.mcp.acedata.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
}
```
#### cURL 测试
```bash
# 健康检查(无需身份验证)
curl https://producer.mcp.acedata.cloud/health
# MCP 初始化
curl -X POST https://producer.mcp.acedata.cloud/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
```
### 3. 或本地运行(替代方案)
如果您更喜欢在自己的机器上运行服务器:
```bash
# 从PyPI安装
pip install mcp-producer
# 或
uvx mcp-producer
# 设置您的API令牌
export ACEDATACLOUD_API_TOKEN="your_token_here"
# 运行(stdio模式适用于Claude Desktop / 本地客户端)
mcp-producer
# 运行(HTTP模式适用于远程访问)
mcp-producer --transport http --port 8000
```
#### Claude 桌面版(本地)
```json
{
"mcpServers": {
"producer": {
"command": "uvx",
"args": ["mcp-producer"],
"env": {
"ACEDATACLOUD_API_TOKEN": "your_token_here"
}
}
}
}
```
#### Docker(自托管)
```bash
docker pull ghcr.io/acedatacloud/mcp-producer:latest
docker run -p 8000:8000 ghcr.io/acedatacloud/mcp-producer:latest
```
客户端使用它们自己的Bearer令牌连接 - 服务器从每个请求的`Authorization`头部提取令牌。
## 可用工具
### 音乐生成
| 工具 | 描述 |
| -------------------------------- | --------------------------------------- |
| `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` | 歌词格式指南 |
## 使用示例
### 从提示生成音乐
```
用户:创建一个关于雨夜的爵士乐
Claude:我将为您生成一首爵士乐。
[调用producer_generate_music,提示=“关于雨夜的爵士乐,萨克斯风,钢琴,忧郁”]
```
### 自定义歌曲与歌词
```
用户:这是我的歌词:
[第一节] 走在雨中...
[合唱] 但我继续前进...
Claude:我将使用您的歌词创作一首歌曲。
[调用producer_generate_custom_music,歌词,标题和风格]
```
### 扩展歌曲
```
用户:让这首歌更长,加一段新的
Claude:我将从歌曲结束的地方继续。
[调用producer_extend_music,audio_id,continue_at,和新歌词]
```
### 创建封面
```
用户:制作这首歌的原声版
Claude:我将创建一个原声版封面。
[调用producer_cover_music,audio_id和style=“acoustic folk,gentle guitar”]
```
## 可用模型
| 模型 | 层级 | 描述 |
| ------------------ | --------- | -------------------------------------------------- |
| FUZZ-2.0 Pro | 专业 | 最高质量,适用于专业制作 |
| FUZZ-2.0 | 默认 | 推荐用于大多数用例(默认) |
| FUZZ-2.0 Raw | 原始 | 未处理的输出,用于自定义后处理 |
| FUZZ-1.1 Pro | 专业 | 高质量的遗产模型 |
| FUZZ-1.0 Pro | 专业 | 专业遗产模型 |
| FUZZ-1.0 | 默认 | 稳定的遗产模型 |
| FUZZ-1.1 | 默认 | 改进的遗产模型 |
| FUZZ-0.8 | 遗产 | 原始模型,基本质量 |
## 配置
### 环境变量
| 变量 | 描述 | 默认值 |
| --------------------------- | --------------------------- | --------------------------- |
| `ACEDATACLOUD_API_TOKEN` | AceDataCloud的API令牌 | **必填** |
| `ACEDATACLOUD_API_BASE_URL` | AceDataCloud的API基本URL | `https://api.acedata.cloud` |
| `ACEDATACLOUD_OAUTH_CLIENT_ID` | AceDataCloud的OAuth客户端ID(托管模式) | -- |
| `ACEDATACLOUD_PLATFORM_BASE_URL` | AceDataCloud平台基本URL | `https://platform.acedata.cloud` |
| `PRODUCER_DEFAULT_MODEL` | 默认FUZZ模型 | `FUZZ-2.0` |
| `PRODUCER_REQUEST_TIMEOUT` | 请求超时(秒) | `1800` |
| `LOG_LEVEL` | 日志级别 | `INFO` |
### 命令行选项
```bash
mcp-producer --help
选项:
--version 显示版本
--transport 传输模式:stdio(默认)或http
--port HTTP传输的端口(默认:8000)
```
## 开发
### 设置开发环境
```bash
# 克隆仓库
git clone https://github.com/AceDataCloud/ProducerMCP.git
cd ProducerMCP
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # 或`.venv\Scripts\activate`在Windows上
# 安装开发依赖
pip install -e ".[dev,test]"
```
### 运行测试
```bash
# 运行单元测试
pytest
# 运行覆盖率测试
pytest --cov=core --cov=tools
# 运行集成测试(需要API令牌)
pytest tests/test_integration.py -m integration
```
### 代码质量
```bash
# 格式化代码
ruff format .
# 检查代码
ruff check .
# 类型检查
mypy core tools
```
### 构建和发布
```bash
# 安装构建依赖
pip install -e ".[release]"
# 构建包
python -m build
# 上传到PyPI
twine upload dist/*
```
## 项目结构
```
ProducerMCP/
├── core/ # 核心模块
│ ├── __init__.py
│ ├── client.py # Producer API的HTTP客户端
│ ├── config.py # 配置管理
│ ├── exceptions.py # 自定义异常
│ ├── oauth.py # OAuth 2.1提供者
│ ├── server.py # MCP服务器初始化
│ ├── types.py # 类型定义(模型,操作)
│ └── utils.py # 实用函数
├── tools/ # MCP工具定义
│ ├── __init__.py
│ ├── audio_tools.py # 音频生成工具(9个工具)
│ ├── lyrics_tools.py # 歌词生成
│ ├── media_tools.py # 上传、视频、WAV工具
│ ├── task_tools.py # 任务查询工具
│ └── info_tools.py # 信息工具
├── prompts/ # MCP提示
│ └── __init__.py # 提示模板
├── tests/ # 测试套件
│ ├── conftest.py
│ ├── test_client.py
│ ├── test_config.py
│ ├── test_integration.py
│ └── test_utils.py
├── deploy/ # 部署配置
│ └── production/
│ ├── deployment.yaml
│ ├── ingress.yaml
│ └── service.yaml
├── .env.example # 环境模板
├── .ruff.toml # Ruff linter配置
├── CHANGELOG.md
├── Dockerfile # HTTP模式的Docker镜像
├── docker-compose.yaml # Docker Compose配置
├── LICENSE
├── main.py # 入口点
├── pyproject.toml # 项目配置
└── README.md
```
## 贡献
欢迎贡献!请:
1. 分叉仓库
2. 创建功能分支(`git checkout -b feature/amazing`)
3. 提交更改(`git commit -m 'Add amazing feature'`)
4. 推送到分支(`git push origin feature/amazing`)
5. 打开拉取请求
## 许可证
MIT 许可证 - 参见 [LICENSE](LICENSE) 了解详情。
## 链接
- [AceDataCloud 平台](https://platform.acedata.cloud)
- [Riffusion](https://www.riffusion.com/)
- [模型上下文协议](https://modelcontextprotocol.io)
- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)
---
由 [AceDataCloud](https://platform.acedata.cloud) 制作
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器