mcpField
M
MCP OpenAI Image Generation Server

MCP OpenAI Image Generation Server

ローカル
github.com/spartanz51AI・エージェント3778 週間前に更新

MCP OpenAI Image Generation Server について

MCP OpenAI Image Generation Server は、OpenAI の画像生成・編集 API を MCP ツールとして公開するサーバーです。テキストからの画像生成と、マスクを使った画像編集に対応しています。Cursor などのクライアントから OpenAI の画像モデルを呼び出したい利用者に向いています。

主な機能

  1. 01プロンプトから画像を生成する text-to-image ツール
  2. 02マスク指定に対応した image-to-image ツール
  3. 03DALL-E 2、DALL-E 3、gpt-image-1 に対応
  4. 04--models オプションによるモデル許可リスト
  5. 05出力を一時ファイルに保存しパスを返却

活用シーン

  1. 01Cursor 内での挿絵の直接生成
  2. 02マスクを使ったローカル画像の編集
  3. 03利用可能な OpenAI 画像モデルの制限

MCP 対応

本プロジェクトは MCP サーバーであり、OpenAI の画像生成・編集機能として text-to-image と image-to-image ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP OpenAI Image Generation Server

npm version

このプロジェクトは、OpenAI の画像生成および編集 API(OpenAI のドキュメントを参照)をラップする、Model Context Protocol(MCP)に基づいたサーバー実装を提供します。

機能

  • MCP ツールを通じて、OpenAI の画像生成機能を提供します。
  • DALL-E 2、DALL-E 3、gpt-image-1 などのモデル(利用可能または有効な場合)を使った text-to-image 生成に対応しています。
  • DALL-E 2 および gpt-image-1(利用可能または有効な場合)を使った image-to-image 編集に対応しています。
  • 環境変数とコマンドライン引数で設定できます。
  • サイズ、品質、スタイル、形式など、さまざまなパラメーターを処理します。
  • 生成または編集した画像を一時ファイルに保存し、パスと Base64 データを返します。

以下は、MCP 経由で統合された text-to-image ツールを使い、Cursor で直接画像を生成する例です。

Cursor での使用例

npx ですぐに実行

Node.js と npm が必要です。npx を使うと、npm から直接サーバーを実行できます。

npx imagegen-mcp [options]

オプションやローカルでの実行について詳しくは、「サーバーの実行」セクションを参照してください。

前提条件

  • Node.js(v18 以降を推奨)
  • npm または yarn
  • OpenAI API キー

Cursor との統合

このサーバーを Cursor と簡単に統合し、エディター内で直接画像生成機能を利用できます。

  1. Cursor の設定を開きます:

    • File > Preferences > Cursor Settings に移動します(またはショートカット Ctrl+, / Cmd+, を使います)。
  2. MCP の設定に移動します:

    • 設定の検索バーで「MCP」を検索します。
    • 「Model Context Protocol: Custom Servers」設定を見つけます。
  3. カスタムサーバーを追加します:

    • 「Edit in settings.json」をクリックします。
    • mcpServers 配列に新しい項目を追加します。次のようになります。
    "mcpServers": [
        "image-generator-gpt-image": {
            "command": "npx imagegen-mcp --models gpt-image-1",
            "env": {
                "OPENAI_API_KEY": "xxx"
            }
        }
      // ... その他のカスタムサーバー ...
    ]
    
    • コマンドをカスタマイズします:
      • command フィールドの --models 引数を変更すると、Cursor で使用できるモデルを指定できます(例:--models dall-e-3 または --models gpt-image-1)。選択したモデルを利用できる OpenAI API キーを使用してください。
  4. 設定を保存します:

    • settings.json ファイルを保存します。

Cursor が「OpenAI Image Gen」サーバーを認識し、ツール(text-to-image、image-to-image)が MCP ツールの選択リストで利用できるようになります(例:チャットでの @ メンションやコードアクションで使用できます)。

セットアップ

  1. リポジトリをクローンします:

    git clone <your-repository-url>
    cd <repository-directory>
    
  2. 依存関係をインストールします:

    npm install
    # or
    yarn install
    
  3. 環境変数を設定します: 例をコピーして、プロジェクトのルートに .env ファイルを作成します。

    cp .env.example .env
    

    .env ファイルを編集し、OpenAI API キーを追加します。

    OPENAI_API_KEY=your_openai_api_key_here
    

ビルド

TypeScript コードを JavaScript にビルドするには、次を実行します。

npm run build
# or
yarn build

これにより、コードが dist ディレクトリにコンパイルされます。

サーバーの実行

このセクションでは、クローンとセットアップの後、サーバーをローカルで実行する方法について説明します。クローンせずにすぐに実行する方法については、npx ですぐに実行セクションをご覧ください。

ts-node を使用する場合(開発用):

npx ts-node src/index.ts [options]

コンパイル済みコードを使用する場合:

node dist/index.js [options]

オプション:

  • --models <model1> <model2> ...:サーバーで許可する OpenAI モデルを指定します。指定しない場合、src/libs/openaiImageClient.ts で定義されているすべてのモデル(現在は gpt-image-1、dall-e-2、dall-e-3)が許可されます。
    • npx を使用する場合の例(ローカルでの実行にも使用できます):... --models gpt-image-1 dall-e-3
    • クローン後の例:node dist/index.js --models dall-e-3 dall-e-2

サーバーが起動し、標準入力/出力を使用して MCP リクエストを待ち受けます(StdioServerTransport を使用)。

MCP ツール

サーバーは次の MCP ツールを公開します。

text-to-image

テキストプロンプトに基づいて画像を生成します。

パラメーター:

  • text(string、必須):画像生成に使用するプロンプト。
  • model(enum、任意):使用するモデル(例:gpt-image-1、dall-e-2、dall-e-3)。デフォルトは、許可されている最初のモデルです。
  • size(enum、任意):生成する画像のサイズ(例:1024x1024、1792x1024)。デフォルトは1024x1024です。モデルごとに対応するサイズについては、OpenAI のドキュメントを確認してください。
  • style(enum、任意):画像のスタイル(vivid または natural)。dall-e-3でのみ使用できます。デフォルトはvividです。
  • output_format(enum、任意):形式(png、jpeg、webp)。デフォルトはpngです。
  • output_compression(number、任意):圧縮レベル(0~100)。デフォルトは100です。
  • moderation(enum、任意):モデレーションレベル(low、auto)。デフォルトはlowです。
  • background(enum、任意):背景(transparent、opaque、auto)。デフォルトはautoです。transparentを使用するには、output_formatをpngまたはwebpにする必要があります。
  • quality(enum、任意):品質(standard、hd、auto、...)。デフォルトはautoです。hdはdall-e-3でのみ使用できます。
  • n(number、任意):生成する画像の数。デフォルトは1です。注:dall-e-3が対応するのはn=1のみです。

戻り値:

  • content:次を含む配列:
    • 保存された一時画像ファイルへのパスを含むtextオブジェクト(例:/tmp/uuid.png)。
image-to-image

テキストプロンプトと任意のマスクに基づいて、既存の画像を編集します。

パラメーター:

  • images(string、必須):ローカル画像のファイルパスの配列。
  • prompt(string、必須):希望する編集内容のテキストによる説明。
  • mask(string、任意):マスク画像(PNG)のファイルパス。透明な領域が画像の編集対象になります。
  • model(enum、任意):使用するモデル。編集に対応しているのはgpt-image-1とdall-e-2のみです。デフォルトは、許可されている最初のモデルです。
  • size(enum、任意):生成する画像のサイズ(例:1024x1024)。デフォルトは1024x1024です。dall-e-2が対応するのは256x256、512x512、1024x1024のみです。
  • output_format(enum、任意):形式(png、jpeg、webp)。デフォルトはpngです。
  • output_compression(number、任意):圧縮レベル(0~100)。デフォルトは100です。
  • quality(enum、任意):品質(standard、hd、auto、...)。デフォルトはautoです。
  • n(number、任意):生成する画像の数。デフォルトは1です。

戻り値:

  • content:次を含む配列:
    • 保存された一時画像ファイルへのパスを含むtextオブジェクト(例:/tmp/uuid.png)。

開発

  • Lint: npm run lint または yarn lint
  • フォーマット: npm run format または yarn format(package.jsonで設定されている場合)

コントリビューション

プルリクエスト(PR)を歓迎します。改善やバグ修正をぜひご提案ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。