mcp-producer について
mcp-producer は、Producer/Riffusion の FUZZ モデルと AceDataCloud API を使って AI 音楽を生成・編集する MCP サーバーです。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
Producer/Riffusion(FUZZ モデル)を使用した AI 音楽生成のための Model Context Protocol(MCP) サーバーです。AceDataCloud API を通じて利用できます。
Claude、VS Code、または MCP 対応の任意のクライアントから、AI 音楽を直接生成できます。
機能
- テキストから音楽を生成 - テキストプロンプトから AI 生成音楽を作成します
- カスタム音楽 - カスタム歌詞、タイトル、スタイルを指定して自由に作成できます
- 楽曲の延長 - 任意のタイムスタンプから楽曲を続けます
- カバー/リミックス - 異なるジャンルやスタイルでカバーを作成します
- バリエーション - 楽曲の別バージョンを生成します
- ボーカル/インストゥルメンタルの入れ替え - 楽曲間でボーカルとインストゥルメンタルをミックスします
- セクションの置き換え - 楽曲の特定のセクションを再生成します
- ステム分離 - 楽曲をボーカルとインストゥルメンタルのトラックに分割します
- 歌詞の生成 - プロンプトから構成された歌詞を生成します
- 動画生成 - 楽曲のミュージックビデオを作成します
- WAV エクスポート - ロスレス音声形式で取得できます
- 8 種類の FUZZ モデル - FUZZ-0.8 から FUZZ-2.0 Pro まで
ツールリファレンス
| Tool | Description |
|---|---|
producer_generate_music | テキストプロンプトから AI 音楽を生成します。 |
producer_generate_custom_music | カスタム歌詞、タイトル、スタイルを指定して音楽を生成します。 |
producer_extend_music | 特定のタイムスタンプから既存の楽曲を延長します。 |
producer_cover_music | 異なるスタイルのカバー/リミックス版を作成します。 |
producer_variation_music | 既存の楽曲のバリエーションを作成します。 |
producer_swap_vocals | 2 つの楽曲間でボーカルを入れ替えます。 |
producer_swap_instrumentals | 2 つの楽曲間でインストゥルメンタルを入れ替えます。 |
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 クライアントの接続方法を 1 つ選択してください。
| 接続方法 | 使用する場面 | 認証情報の設定 |
|---|---|---|
| ホスト型 OAuth | クライアントがリモート MCP OAuth に対応している場合 | URL のみを追加し、AceDataCloud にサインインしてアクセスを承認します。クライアントの設定にトークンを貼り付ける必要はありません。 |
| ホスト型 API トークン | クライアントで OAuth を完了できない場合、または明示的な連携用認証情報が必要な場合 | Authorization: Bearer … ヘッダーで AceDataCloud API トークンを送信します。ローカルのシークレットストアまたは環境変数に保管してください。 |
| ローカル stdio | クライアントがローカル MCP プロセスを実行する場合 | mcp-producer をインストールし、ACEDATACLOUD_API_TOKEN をそのプロセスに渡します。この場合も AceDataCloud API を呼び出します。 |
ホスト型サービスは OAuth メタデータと Dynamic Client Registration(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 では、サーバーを追加する際にシェルがトークンを展開します。保存されたユーザー 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 設定 UI または 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 をコピーせず、現在の UI の手順に従ってください。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 | 2 曲のボーカルを入れ替えます |
producer_swap_instrumentals | 2 曲のインストゥルメンタルを入れ替えます |
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
コントリビューション
コントリビューションを歓迎します。以下の手順でお願いします。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing) - 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing) - Pull Request を作成します
ドキュメント
ライセンス
MIT ライセンスの詳細については、LICENSE をご覧ください。
リンク
AceDataCloud が心を込めて作成しました
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。