🚀 @cloudwerxlab/gpt-image-1-mcp
このプロジェクトは、OpenAIのgpt-image-1モデルを使用して画像を生成および編集するためのModel Context Protocol (MCP)サーバーです。AIによる画像生成のワークフローを合理化し、MCPクライアントとの統合が容易です。
🚀 クイックスタート
このMCPサーバーは、インストールせずに直接NPXを使用して実行できます。npmで表示
npx -y @cloudwerxlab/gpt-image-1-mcp
-yフラグは、インストールプロセス中に表示される可能性のあるすべてのプロンプトに自動的に「はい」と回答します。
📋 前提条件
| 環境 |
詳細 |
| Node.js |
v14以上 |
| OpenAI APIキー |
gpt-image-1へのアクセス権を持つもの |
🔑 環境変数
| 変数 |
必須 |
説明 |
OPENAI_API_KEY |
✅ はい |
gpt-image-1モデルへのアクセス権を持つOpenAI APIキー |
GPT_IMAGE_OUTPUT_DIR |
❌ いいえ |
生成された画像を保存するカスタムディレクトリ(デフォルトはユーザーのPicturesフォルダ内のgpt-image-1サブフォルダ) |
💻 NPXを使用した使用例
Linux/macOS
export OPENAI_API_KEY=sk-your-openai-api-key
export GPT_IMAGE_OUTPUT_DIR=/home/username/Pictures/ai-generated-images
npx -y @cloudwerxlab/gpt-image-1-mcp
Windows (PowerShell)
$env:OPENAI_API_KEY = "sk-your-openai-api-key"
$env:GPT_IMAGE_OUTPUT_DIR = "C:\Users\username\Pictures\ai-generated-images"
npx -y @cloudwerxlab/gpt-image-1-mcp
Windows (Command Prompt)
:: OpenAI APIキーを設定
set OPENAI_API_KEY=sk-your-openai-api-key
:: オプション: カスタム出力ディレクトリを設定
set GPT_IMAGE_OUTPUT_DIR=C:\Users\username\Pictures\ai-generated-images
:: NPXでサーバーを実行
npx -y @cloudwerxlab/gpt-image-1-mcp
🔌 MCPクライアントとの統合
🛠️ MCPクライアントでの設定
ステップ1: 設定ファイルを見つける
- Roo:
c:\Users\<username>\AppData\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json
- VS Code MCP拡張機能: 拡張機能のドキュメントで設定ファイルの場所を確認
- Cursor:
~/.config/cursor/mcp_settings.json (Linux/macOS) または %APPDATA%\Cursor\mcp_settings.json (Windows)
- Augment:
~/.config/augment/mcp_settings.json (Linux/macOS) または %APPDATA%\Augment\mcp_settings.json (Windows)
- Windsurf:
~/.config/windsurf/mcp_settings.json (Linux/macOS) または %APPDATA%\Windsurf\mcp_settings.json (Windows)
ステップ2: 設定を追加する
mcpServersオブジェクトに以下の設定を追加します。
{
"mcpServers": {
"gpt-image-1": {
"command": "npx",
"args": [
"-y",
"@cloudwerxlab/gpt-image-1-mcp"
],
"env": {
"OPENAI_API_KEY": "PASTE YOUR OPEN-AI KEY HERE",
"GPT_IMAGE_OUTPUT_DIR": "OPTIONAL: PATH TO SAVE GENERATED IMAGES"
}
}
}
}
異なるオペレーティングシステムの例
Windows
{
"mcpServers": {
"gpt-image-1": {
"command": "npx",
"args": ["-y", "@cloudwerxlab/gpt-image-1-mcp"],
"env": {
"OPENAI_API_KEY": "sk-your-openai-api-key",
"GPT_IMAGE_OUTPUT_DIR": "C:\\Users\\username\\Pictures\\ai-generated-images"
}
}
}
}
Linux/macOS
{
"mcpServers": {
"gpt-image-1": {
"command": "npx",
"args": ["-y", "@cloudwerxlab/gpt-image-1-mcp"],
"env": {
"OPENAI_API_KEY": "sk-your-openai-api-key",
"GPT_IMAGE_OUTPUT_DIR": "/home/username/Pictures/ai-generated-images"
}
}
}
}
⚠️ 重要提示
Windowsのパスは、JSONでバックスラッシュ文字をエスケープするためにダブルバックスラッシュ (\\) を使用します。Linux/macOSは、フォワードスラッシュ (/) を使用します。
✨ 主な機能
🎨 コアツール
create_image: テキストプロンプトから新しい画像を生成します。
create_image_edit: テキストプロンプトとマスクを使用して既存の画像を編集します。
🚀 主な利点
- MCPクライアントとの簡単な統合
- OpenAIのgpt-image-1機能への完全なアクセス
- AI画像生成のための合理化されたワークフロー
💡 拡張機能
📊 出力とフォーマット
- ✅ 美しくフォーマットされた出力: 応答には絵文字と詳細情報が含まれます。
- ✅ 自動画像保存: すべての生成された画像はディスクに保存され、簡単にアクセスできます。
- ✅ 詳細なトークン使用状況: 各リクエストのトークン消費量を表示します。
⚙️ 設定と処理
- ✅ 設定可能な出力ディレクトリ: 画像を保存する場所をカスタマイズできます。
- ✅ ファイルパスサポート: ベース64エンコードではなくファイルパスを使用して画像を編集できます。
- ✅ 包括的なエラーハンドリング: 特定のエラーコード、説明、およびトラブルシューティングの提案を含む詳細なエラーレポート。
🔄 仕組み
🖼️ 画像生成
- サーバーがプロンプトとパラメータを受け取ります。
- gpt-image-1モデルを使用してOpenAI APIを呼び出します。
- APIからベース64エンコードされた画像が返されます。
- サーバーが画像を設定されたディレクトリに保存します。
- パスとメタデータを含むフォーマットされた応答を返します。
✏️ 画像編集
- サーバーが画像、プロンプト、およびオプションのマスクを受け取ります。
- ファイルパスの場合は、API用にファイルを読み取り、準備します。
- 適切なMIMEハンドリングのために直接curlコマンドを使用します。
- APIからベース64エンコードされた編集済み画像が返されます。
- サーバーが画像を設定されたディレクトリに保存します。
- パスとメタデータを含むフォーマットされた応答を返します。
📁 出力ディレクトリの動作
📂 保存場所
- 🔹 デフォルトの場所: ユーザーのPicturesフォルダ内の
gpt-image-1サブフォルダ(例: Windowsの場合はC:\Users\username\Pictures\gpt-image-1)
- 🔹 カスタム場所:
GPT_IMAGE_OUTPUT_DIR環境変数で設定します。
- 🔹 フォールバック場所:
./generated-images(Picturesフォルダが決定できない場合)
🗂️ ファイル管理
- 🔹 ディレクトリ作成: 出力ディレクトリが存在しない場合は自動的に作成します。
- 🔹 ファイル名付け: 画像はタイムスタンプ付きのファイル名で保存されます(例:
image-2023-05-05T12-34-56-789Z.png)
- 🔹 クロスプラットフォーム: Windows、macOS、およびLinuxで適切なPicturesフォルダ検出機能を備えています。
📦 インストール
NPMパッケージ
このパッケージはnpmで入手できます: @cloudwerxlab/gpt-image-1-mcp
グローバルにインストールすることも、クイックスタートセクションで示されているようにnpxで直接実行することもできます。
npm install -g @cloudwerxlab/gpt-image-1-mcp
ツール: create_image
テキストプロンプトに基づいて新しい画像を生成します。
パラメータ
| パラメータ |
タイプ |
必須 |
説明 |
prompt |
文字列 |
はい |
生成する画像のテキスト説明(最大32,000文字) |
size |
文字列 |
いいえ |
画像サイズ: "1024x1024"(デフォルト)、"1536x1024"、または "1024x1536" |
quality |
文字列 |
いいえ |
画像品質: "high"(デフォルト)、"medium"、または "low" |
n |
整数 |
いいえ |
生成する画像の数(1 - 10、デフォルト: 1) |
background |
文字列 |
いいえ |
背景スタイル: "transparent"、"opaque"、または "auto"(デフォルト) |
output_format |
文字列 |
いいえ |
出力形式: "png"(デフォルト)、"jpeg"、または "webp" |
output_compression |
整数 |
いいえ |
圧縮レベル(0 - 100、デフォルト: 0) |
user |
文字列 |
いいえ |
OpenAIの使用状況追跡用のユーザー識別子 |
moderation |
文字列 |
いいえ |
モデレーションレベル: "low" または "auto"(デフォルト) |
例
<use_mcp_tool>
<server_name>gpt-image-1</server_name>
<tool_name>create_image</tool_name>
<arguments>
{
"prompt": "A futuristic city skyline at sunset, digital art",
"size": "1024x1024",
"quality": "high",
"n": 1,
"background": "auto"
}
</arguments>
</use_mcp_tool>
応答
このツールは以下を返します:
- 生成された画像の詳細を含むフォーマットされたテキストメッセージ
- ベース64エンコードされたデータとしての画像
- トークン使用状況とファイルパスを含むメタデータ
ツール: create_image_edit
テキストプロンプトとオプションのマスクに基づいて既存の画像を編集します。
パラメータ
| パラメータ |
タイプ |
必須 |
説明 |
image |
文字列、オブジェクト、または配列 |
はい |
編集する画像(ベース64文字列またはファイルパスオブジェクト) |
prompt |
文字列 |
はい |
希望する編集のテキスト説明(最大32,000文字) |
mask |
文字列またはオブジェクト |
いいえ |
編集する領域を定義するマスク(ベース64文字列またはファイルパスオブジェクト) |
size |
文字列 |
いいえ |
画像サイズ: "1024x1024"(デフォルト)、"1536x1024"、または "1024x1536" |
quality |
文字列 |
いいえ |
画像品質: "high"(デフォルト)、"medium"、または "low" |
n |
整数 |
いいえ |
生成する画像の数(1 - 10、デフォルト: 1) |
background |
文字列 |
いいえ |
背景スタイル: "transparent"、"opaque"、または "auto"(デフォルト) |
user |
文字列 |
いいえ |
OpenAIの使用状況追跡用のユーザー識別子 |
ベース64エンコードされた画像を使用した例
<use_mcp_tool>
<server_name>gpt-image-1</server_name>
<tool_name>create_image_edit</tool_name>
<arguments>
{
"image": "BASE64_ENCODED_IMAGE_STRING",
"prompt": "Add a small robot in the corner",
"mask": "BASE64_ENCODED_MASK_STRING",
"quality": "high"
}
</arguments>
</use_mcp_tool>
ファイルパスを使用した例
<use_mcp_tool>
<server_name>gpt-image-1</server_name>
<tool_name>create_image_edit</tool_name>
<arguments>
{
"image": {
"filePath": "C:/path/to/your/image.png"
},
"prompt": "Add a small robot in the corner",
"mask": {
"filePath": "C:/path/to/your/mask.png"
},
"quality": "high"
}
</arguments>
</use_mcp_tool>
応答
このツールは以下を返します:
- 編集された画像の詳細を含むフォーマットされたテキストメッセージ
- ベース64エンコードされたデータとしての編集された画像
- トークン使用状況とファイルパスを含むメタデータ
🔧 トラブルシューティング
🚨 一般的な問題と解決策
| 問題 |
解決策 |
| 🖼️ MIMEタイプエラー |
画像ファイルが実際の形式と一致する正しい拡張子(.png、.jpgなど)を持っていることを確認してください。サーバーはファイル拡張子を使用してMIMEタイプを決定します。 |
| 🔑 APIキーの問題 |
OpenAI APIキーが正しく、gpt-image-1モデルへのアクセス権があることを確認してください。誤って含まれている可能性のあるスペースや特殊文字を確認してください。 |
| 🛠️ ビルドエラー |
正しいTypeScriptバージョン(v5.3.3または互換性のあるバージョン)がインストールされていること、およびtsconfig.jsonが適切に構成されていることを確認してください。npm installを実行してすべての依存関係がインストールされていることを確認してください。 |
| 📁 出力ディレクトリの問題 |
プロセスが設定された出力ディレクトリに書き込み権限を持っていることを確認してください。相対パスが機能しない場合は、GPT_IMAGE_OUTPUT_DIRに絶対パスを使用してみてください。 |
🔍 エラーハンドリングとレポート
MCPサーバーには包括的なエラーハンドリングが含まれており、問題が発生したときに詳細な情報を提供します。エラーが発生した場合:
- エラー形式: すべてのエラーは以下を含んで返されます:
- 何が問題であったかを説明する明確なエラーメッセージ
- 特定のエラーコードまたはタイプ
- 利用可能な場合のエラーに関する追加のコンテキスト
- AIアシスタントの動作: このMCPサーバーをAIアシスタントとともに使用する場合:
- AIは常に完全なエラーメッセージを報告してトラブルシューティングを支援します。
- AIはエラーの考えられる原因を平易な言葉で説明します。
- AIは問題を解決するための具体的な手順を提案します。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています - 詳細についてはLICENSEファイルを参照してください。
ライセンスの概要
MITライセンスは、短くてわかりやすい許容的なライセンスです。適切な帰属と保証なしで、誰もがあなたのコードを自由に使用することができます。
あなたは自由に:
- ソフトウェアを商用利用する
- ソフトウェアを変更する
- ソフトウェアを配布する
- ソフトウェアを個人で使用および変更する
以下の条件の下で:
- 元の著作権表示とライセンス表示を、すべてのコピーまたは実質的な使用に含める
制限事項:
- 作者はソフトウェアに関する保証を一切提供せず、損害に対して責任を負いません
🙏 謝辞
このプロジェクトは、以下のサービスや技術によって可能になっています。
フィードバック
このプロジェクトは CLOUDWERX によって開発されました。