Midjourney について
MidjourneyMCPは、AceDataCloud API経由でMidjourneyによる画像・動画の生成や編集を可能にするMCPサーバーです。プロンプト関連機能とタスク追跡も備え、ホスト型OAuth、APIトークン、ローカルstdioで接続できます。
主な機能
- 01画像と動画の生成
- 02画像のアップスケール・バリエーション・ズーム・パン
- 03画像のブレンドと参照画像の利用
- 04画像編集と説明生成
- 05動画の延長とタスク追跡
- 06プロンプトの翻訳と短縮
活用シーン
- 01テキストプロンプトから画像を作成
- 02既存画像の編集や変換
- 03プロンプトと参照画像から動画を生成
- 04生成タスクの状態と結果を確認
MCP 対応
MCPクライアントにMidjourneyの画像・動画生成、編集、プロンプト、タスク管理ツールを公開します。OAuthまたはBearerトークンによるホスト型エンドポイント接続と、ローカルstdioでの実行に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://midjourney.mcp.acedata.cloud/mcpclaude mcp add --transport http acedatacloud-mcp-midjourney https://midjourney.mcp.acedata.cloud/mcp{"mcpServers":{"acedatacloud-mcp-midjourney":{"type":"http","url":"https://midjourney.mcp.acedata.cloud/mcp"}}}Cursor で開く{"servers":{"acedatacloud-mcp-midjourney":{"type":"http","url":"https://midjourney.mcp.acedata.cloud/mcp"}}}VS Code で開く{"mcpServers":{"acedatacloud-mcp-midjourney":{"type":"http","url":"https://midjourney.mcp.acedata.cloud/mcp"}}}{"mcpServers":{"acedatacloud-mcp-midjourney":{"serverUrl":"https://midjourney.mcp.acedata.cloud/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
MidjourneyMCP
Midjourney を AceDataCloud API 経由で利用して、AI 画像や動画を生成するための Model Context Protocol(MCP) サーバーです。
Claude、VS Code、または MCP 互換クライアントから、AI 画像や動画の生成、クリエイティブプロジェクトの管理を直接行えます。
機能
- 画像生成 - テキストプロンプトから AI 生成画像を作成します
- 画像変換 - 画像のアップスケール、バリエーション作成、ズーム、パンを行います
- 画像ブレンド - 複数の画像を組み合わせてクリエイティブな融合画像を作成します
- 参照画像を使った生成 - 既存の画像をインスピレーションとして使用します
- 画像の説明 - 画像の AI による説明を取得します(逆プロンプト)
- 画像編集 - テキストプロンプトとマスクを使って画像を編集します
- 動画生成 - テキストと参照画像から動画を作成します
- 動画の延長 - 既存の動画を延長して長くします
- 翻訳 - 中国語のプロンプトを英語に翻訳します
- タスク追跡 - 生成の進捗を監視し、結果を取得します
ツール一覧
| ツール | 説明 |
|---|---|
midjourney_imagine | Midjourney を使用して、テキストプロンプトから AI 画像を生成します。 |
midjourney_transform | 既存の Midjourney 画像にさまざまな操作を適用します。 |
midjourney_blend | Midjourney を使用して、複数の画像をブレンドします。 |
midjourney_with_reference | 参照画像をインスピレーションとして使用して画像を生成します。 |
midjourney_edit | Midjourney を使用して既存の画像を編集します。 |
midjourney_describe | 画像の AI 生成による説明を取得します。 |
midjourney_generate_video | Midjourney を使用して、テキストプロンプトと参照画像から動画を生成します。 |
midjourney_extend_video | 既存の Midjourney 動画を延長して長くします。 |
midjourney_translate | Midjourney のプロンプトとして使う中国語のテキストを英語に翻訳します。 |
midjourney_shorten | 長い Midjourney プロンプトを分析し、重要なアイデアを保ちながら短縮します。 |
midjourney_get_seed | 以前に生成した Midjourney 画像のシード値を取得します。 |
midjourney_get_task | Midjourney 生成タスクのステータスと結果を照会します。 |
midjourney_get_tasks_batch | 複数の Midjourney 生成タスクを一度に照会します。 |
midjourney_list_actions | 利用可能な Midjourney API アクションと対応するツールをすべて一覧表示します。 |
midjourney_get_prompt_guide | Midjourney で効果的なプロンプトを書くためのガイダンスを取得します。 |
midjourney_list_transform_actions | Midjourney 画像で利用可能な変換アクションをすべて一覧表示します。 |
接続:ホスト型 OAuth、API トークン、またはローカル stdio
ホスト型エンドポイントは https://midjourney.mcp.acedata.cloud/mcp です。MCP クライアントには、次のいずれかの方法を選択してください。
| 方法 | 使用する状況 | 認証情報の設定 |
|---|---|---|
| ホスト型 OAuth | クライアントがリモート MCP OAuth に対応している場合 | URL のみを追加してから、AceDataCloud にサインインし、アクセスを承認します。クライアント設定にトークンを貼り付ける必要はありません。 |
| ホスト型 API トークン | クライアントで OAuth を完了できない場合、または明示的な連携用認証情報が必要な場合 | Authorization: Bearer … ヘッダーで AceDataCloud API トークンを送信します。ローカルのシークレットストアまたは環境変数に保管してください。 |
| ローカル stdio | クライアントがローカル MCP プロセスを実行する場合 | mcp-midjourney をインストールし、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://midjourney.mcp.acedata.cloud/mcpを入力してサインインを選択します。Claude から OAuth クライアントの登録方法を尋ねられた場合は、Register automatically を選択してください。同意手続きを完了します。Claude Desktop のローカルclaude_desktop_config.jsonは別途設定します。Claude のコネクターガイド。 - Claude Code:
claude mcp add --transport http --scope user midjourney https://midjourney.mcp.acedata.cloud/mcpを実行し、続けてclaude mcp login midjourneyを実行します。/mcpで確認してください。Claude Code の MCP ガイド。 - Cursor:
https://midjourney.mcp.acedata.cloud/mcpのみを指定してリモートサーバーを追加します。プロジェクトで使用する場合は、以下の設定を<project>/.cursor/mcp.jsonにマージします。個人用には~/.cursor/mcp.jsonを使用します。Cursor の MCP ガイド。 - VS Code / Copilot: MCP: Add Server を実行し、HTTP を選択して
https://midjourney.mcp.acedata.cloud/mcpを入力し、ブラウザーでのサインインを完了します。新しいポータブルなワークスペース設定では<project>/.mcp.jsonを使用します。以下の VS Code 固有の形式では<project>/.vscode/mcp.jsonまたはユーザープロファイルを使用します。MCP: List Servers で確認してください。VS Code の MCP 設定。 - Codex:
codex mcp add midjourney --url https://midjourney.mcp.acedata.cloud/mcpを実行し、続けてcodex mcp login midjourneyを実行します。ユーザー設定は~/.codex/config.tomlにあります。Codex 公式の MCP ガイド。
Cursor のプロジェクト設定(OAuth):
{
"mcpServers": {
"midjourney": {"url": "https://midjourney.mcp.acedata.cloud/mcp"}
}
}
VS Code 固有のワークスペース設定(OAuth):
{
"servers": {
"midjourney": {"type": "http", "url": "https://midjourney.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 midjourney https://midjourney.mcp.acedata.cloud/mcp \
--header "Authorization: Bearer $ACEDATACLOUD_API_TOKEN"
Claude Code のプロジェクト設定では、<project>/.mcp.jsonに変数参照を記述し、その変数を Claude Code の起動環境で設定してください。
{
"mcpServers": {
"midjourney": {
"type": "http",
"url": "https://midjourney.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}"}
}
}
}
Cursor では、~/.cursor/mcp.jsonまたはコミット対象外のプロジェクト設定で、異なる環境変数構文を使用します。
{
"mcpServers": {
"midjourney": {
"url": "https://midjourney.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-midjourney-token", "type": "promptString", "description": "AceDataCloud API token", "password": true}
],
"servers": {
"midjourney": {
"type": "http",
"url": "https://midjourney.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${input:acedata-midjourney-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-midjourney
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
mcp-midjourney
Claude Desktop のローカル MCP では、開発者設定から開いたファイル(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)にこのエントリをマージします。uvx を使うには、uv が PATH に設定されている必要があります。
{
"mcpServers": {
"midjourney": {
"command": "uvx",
"args": ["mcp-midjourney"],
"env": {"ACEDATACLOUD_API_TOKEN": "YOUR_API_TOKEN"}
}
}
}
このユーザーレベルのファイルは非公開にしてください。セルフホスト可能な HTTP は mcp-midjourney --transport http --port 8000 を使用します。適切なネットワーク制御と TLS 制御を行ったうえでのみ公開してください。ローカル実行でも AceDataCloud API が呼び出されます。
サービスを使用する前の確認
https://midjourney.mcp.acedata.cloud/healthが{"status":"ok"}を返す場合、確認できるのはエンドポイントへの到達性のみです。- MCP クライアントがツールを読み込むことを確認します。
midjourney_list_actionsは参照用ツールであり、下流の API アクセスや残高は確認しません。 - API を完全に確認する必要がある場合は、現在のサービスドキュメントと表示されている料金を確認してから、有効な入力を使用して
midjourney_generate_videoを呼び出します。結果にタスク ID が含まれる場合は、終端状態の成功または失敗になるまで、同じ ID でmidjourney_get_taskを呼び出します。進行状況を確認するためだけに操作を再送信しないでください。
401 が発生した場合は、クライアントが使用した認証経路と、トークンまたは OAuth セッションが有効かどうかを確認してください。403 は、アカウント権限の問題またはコンテンツモデレーションによる失敗を示している場合があります。返されたエラーを確認してください。残高不足や下流サービスの障害は、それぞれ個別に診断する必要があります。ツールが一覧にあることやタスクが送信されたことは、結果の成功を証明するものではありません。
利用可能なツール
画像生成
| ツール | 説明 |
|---|---|
midjourney_imagine | テキストプロンプトから画像を生成します(2x2 グリッドを作成) |
midjourney_transform | 画像を変換します(アップスケール、バリエーション、ズーム、パン) |
midjourney_blend | 複数の画像をブレンドします |
midjourney_with_reference | 参照画像を着想源として画像を生成します |
画像編集
| ツール | 説明 |
|---|---|
midjourney_edit | テキストプロンプトを使用して既存の画像を編集します |
midjourney_describe | 画像の AI による説明を取得します(逆プロンプト) |
動画
| ツール | 説明 |
|---|---|
midjourney_generate_video | テキストと参照画像から動画を生成します |
midjourney_extend_video | 既存の動画を延長します |
ユーティリティ
| ツール | 説明 |
|---|---|
midjourney_translate | プロンプト用に中国語のテキストを英語に翻訳します |
midjourney_get_seed | 生成した画像のシード値を取得します |
タスク
| ツール | 説明 |
|---|---|
midjourney_get_task | 単一のタスクのステータスを照会します |
midjourney_get_tasks_batch | 複数のタスクを一度に照会します |
情報
| ツール | 説明 |
|---|---|
midjourney_list_actions | 利用可能な API アクションを一覧表示します |
midjourney_get_prompt_guide | プロンプト作成ガイドを取得します |
midjourney_list_transform_actions | 変換アクションを一覧表示します |
使用例
プロンプトから画像を生成する
User: Create a cyberpunk city at night
Claude: I'll generate a cyberpunk city image for you.
[Calls midjourney_imagine with prompt="Cyberpunk city at night, neon lights, rain, futuristic, detailed --ar 16:9"]
画像をアップスケールする
User: Upscale the second image
Claude: I'll upscale the top-right image from the grid.
[Calls midjourney_transform with image_id and action="upscale2"]
複数の画像を合成する
User: Blend these two images: [url1] and [url2]
Claude: I'll blend these images together.
[Calls midjourney_blend with image_urls=[url1, url2]]
動画を生成する
User: Animate this image [url] with gentle movement
Claude: I'll create a video from this image.
[Calls midjourney_generate_video with image_url and prompt="Gentle camera movement, cinematic"]
生成モード
| モード | 説明 |
|---|---|
fast | ほとんどのユースケースにおすすめです(デフォルト) |
turbo | より高速に生成しますが、クレジットを多く消費します |
relax | 生成に時間がかかりますが、費用を抑えられます |
設定
環境変数
| 変数 | 説明 | デフォルト |
|---|---|---|
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 |
MIDJOURNEY_DEFAULT_MODE | デフォルトの生成モード | fast |
MIDJOURNEY_REQUEST_TIMEOUT | リクエストのタイムアウト時間(秒) | 1800 |
LOG_LEVEL | ログレベル | INFO |
コマンドラインオプション
mcp-midjourney --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/MidjourneyMCP.git
cd MidjourneyMCP
# 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/*
プロジェクト構成
MidjourneyMCP/
├── core/ # Core modules
│ ├── __init__.py
│ ├── client.py # HTTP client for Midjourney API
│ ├── config.py # Configuration management
│ ├── exceptions.py # Custom exceptions
│ ├── server.py # MCP server initialization
│ ├── types.py # Type definitions
│ └── utils.py # Utility functions
├── tools/ # MCP tool definitions
│ ├── __init__.py
│ ├── describe_tools.py # Image description tools
│ ├── edits_tools.py # Image editing tools
│ ├── imagine_tools.py # Image generation tools
│ ├── info_tools.py # Information tools
│ ├── task_tools.py # Task query tools
│ ├── translate_tools.py # Translation tools
│ └── video_tools.py # Video generation tools
├── prompts/ # MCP prompt templates
│ └── __init__.py
├── tests/ # Test suite
├── deploy/ # Deployment configs
│ └── production/
│ ├── deployment.yaml
│ ├── ingress.yaml
│ └── service.yaml
├── .env.example # Environment template
├── .gitignore
├── 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
API リファレンス
このサーバーは、AceDataCloud Midjourney API をラップしています。
- Midjourney Imagine API - 画像生成
- Midjourney Describe API - 画像の説明
- Midjourney Tasks API - タスクの照会
- Midjourney Edits API - 画像編集
- Midjourney Videos API - 動画生成
- Midjourney Translate API - 翻訳
貢献
貢献を歓迎します。以下の手順でお願いします。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing) - 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing) - プルリクエストを作成します
サービスの詳細
ライセンス
MIT ライセンスの詳細については、LICENSE をご覧ください。
リンク
AceDataCloud の愛を込めて
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。