modelslab-text2img-mcp-server

shimizu/modelslab-text2img-mcp-server

3.2

If you are the rightful owner of modelslab-text2img-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

ModelsLab Text2Image MCP Server is a draft version server for generating images from text using the ModelsLab API.

Tools
  1. modelslab_text2img

    Generates high-quality images from text prompts.

  2. hello

    A simple tool for checking server operation.

  3. test_connection

    Tool for testing HTTP connections.

🎨 ModelsLab Text2Image MCP Server [DRAFT]

⚠️ 注意: このプロジェクトは現在ドラフト版です。本番環境での使用前に十分なテストを行ってください。

ModelsLab APIを使用したText2Image画像生成専用のModel Context Protocol (MCP)サーバーです。Claude Codeから高品質なAI画像生成を簡単に実行できます。

🚀 主要機能

  • 🎭 Fluxモデル標準搭載 - デフォルトで最新のFluxモデルを使用
  • 🌈 複数モデル対応 - Flux、Stable Diffusion、Midjourney等をサポート
  • 📁 ローカル保存 - 生成した画像をローカルファイルに自動保存
  • 🔧 豊富な設定 - 画像サイズ、品質、スタイル等を細かく調整
  • 🔒 セキュア - APIキーの安全な管理機能内蔵

📦 インストールと設定

1. リポジトリのクローン

git clone https://github.com/shimizu/modelslab-text2img-mcp-server.git
cd modelslab-text2img-mcp-server

2. 依存関係のインストール

npm install

3. ModelsLab API設定 🔑

  1. 📝 ModelsLabでアカウント作成
  2. 🆔 APIキーを取得
  3. 🔧 APIキーを設定:
# APIキー設定ファイルを作成
cp src/config/api-keys.example.js src/config/api-keys.js

# api-keys.jsを編集してAPIキーを設定
# apiKey: 'your_modelslab_api_key_here' を実際のキーに変更

重要: src/config/api-keys.js はGitHubにpushされません(.gitignoreで保護)

4. サーバー起動 ⚡

# MCPサーバーを起動
npm start

# MCP Inspectorで開発・テスト
npm run dev

Claude Code での使用

Claude Code では claude mcp add コマンドでMCPサーバーを登録します:

# プロジェクトに移動
cd /path/to/modelslab-text2img-mcp-server

# 実行権限を付与(初回のみ必要)
chmod +x src/index.js

# MCPサーバーを登録(ローカルスコープ)
claude mcp add modelslab-text2img node src/index.js

# または絶対パスで登録
claude mcp add modelslab-text2img node /path/to/modelslab-text2img-mcp-server/src/index.js

詳細は Claude Code MCP ドキュメント を参照してください。

使用開始

claudeを起動後/mcpコマンドを実行しMCPが正しく接続できているか確認してください。

✔ connectedが表示されていれば正常に動作しています。

💬 Claudeでの使用例

🎨 基本的な画像生成

美しい夕焼けの山景色の画像を生成してください

🎭 特定のモデルを指定

midjourney モデルを使用して、アニメスタイルのキャラクターポートレートを生成してください

🖼️ 複数画像の生成

「未来都市」をテーマに、2枚の画像を生成して保存してください

🔧 詳細設定での生成

以下の設定で画像を生成してください:
- プロンプト: "cyberpunk city at night, neon lights, rain"
- サイズ: 1024x768
- 品質: 高品質
- ネガティブプロンプト: "blurry, low quality"

🛠️ 利用可能なツール

🎨 modelslab_text2img

テキストプロンプトから高品質な画像を生成します

パラメータ:

  • prompt (string, required): 画像生成用のテキストプロンプト
  • model_id (string, optional): 使用するモデル(デフォルト: "flux")
  • width (number, optional): 画像の幅(デフォルト: 512)
  • height (number, optional): 画像の高さ(デフォルト: 512)
  • samples (number, optional): 生成する画像数(デフォルト: 1)
  • negative_prompt (string, optional): ネガティブプロンプト
  • num_inference_steps (number, optional): 推論ステップ数(デフォルト: 20)
  • guidance_scale (number, optional): ガイダンススケール(デフォルト: 7.5)
  • outputPath (string, optional): 保存先ファイルパス
  • format (string, optional): 画像形式(jpg, png, webp等)

使用例:

{
  "prompt": "beautiful landscape at sunset",
  "model_id": "flux",
  "width": 1024,
  "height": 512,
  "samples": 1,
  "outputPath": "./generated_landscape.jpg"
}

👋 hello

動作確認用のシンプルなツール

🔗 test_connection

HTTP接続テスト用ツール

📋 レスポンス形式

🎨 画像生成結果(ファイル保存あり)

{
  "status": "success",
  "message": "画像をファイルに保存しました",
  "file": "./generated_image.jpg",
  "size": "245.67 KB",
  "contentType": "image/jpeg",
  "format": "jpg",
  "model": "flux",
  "prompt": "beautiful landscape at sunset",
  "dimensions": "1024x512",
  "samples": 1
}

🌐 画像生成結果(URLのみ)

{
  "success": true,
  "imageUrls": [
    "https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/generations/image1.jpg"
  ],
  "metadata": {
    "tool": "modelslab_text2img",
    "timestamp": "2024-01-01T12:00:00.000Z",
    "imageCount": 1,
    "model": "flux"
  }
}

🗂️ プロジェクト構造

📁 modelslab-text2img-mcp-server/
├── 📄 src/
│   ├── 🎯 index.js                    # エントリーポイント
│   ├── 🔌 adapters/                   # APIアダプター
│   │   └── 🎨 modelslab/
│   │       ├── ModelsLabClient.js     # ModelsLab APIクライアント
│   │       └── config.js              # API設定
│   ├── 🖥️ server/                     # MCPサーバー実装
│   │   ├── DataDownloadServer.js
│   │   └── config.js
│   ├── ⚙️ core/                       # 基底クラス
│   │   ├── DataSourceClient.js
│   │   └── ToolBase.js
│   ├── 🛠️ tools/                      # MCPツール
│   │   ├── index.js
│   │   ├── modelslab_text2img.js      # 画像生成ツール
│   │   ├── hello.js
│   │   └── test_connection.js
│   ├── 🔧 utils/                      # ユーティリティ
│   │   └── modelslab-image-handler.js # 画像処理
│   └── 📁 config/                     # 設定ファイル
│       └── api-keys.example.js        # APIキーテンプレート
├── 📖 docs/                           # ドキュメント
│   └── modelslab-text2img.md
├── 📦 package.json
├── 📖 README.md
└── 📝 CLAUDE.md

🌟 対応モデル

  • Flux - 最新の高品質画像生成モデル(デフォルト)
  • Stable Diffusion - 汎用的な画像生成モデル
  • Midjourney - アーティスティックな画像生成
  • その他 - ModelsLabでサポートされている全モデル

🚨 注意事項

  • 🆔 APIキー必須: ModelsLab APIキーが必要です
  • 🖼️ 画像制限: 最大サイズは1024x768または768x1024(メモリ制限)
  • 📊 レート制限: APIの利用規約に従って適切な間隔でリクエストしてください
  • 🔒 セキュリティ: src/config/api-keys.jsは絶対にコミットしないでください(.gitignoreで保護済み)

🆘 トラブルシューティング

APIキーエラー

ModelsLab API key is not configured

src/config/api-keys.jsファイルを確認してAPIキーが正しく設定されているか確認

画像生成エラー

The temp field must be true or false

→ パラメータの型が正しいかチェック。文字列ではなくbooleanを使用

接続エラー

timeout of 30000ms exceeded

→ ネットワーク接続とModelsLab APIサービス状況を確認

📄 ライセンス

MIT License

🤝 コントリビューション

Issues、Pull Requests大歓迎です!


Made with ❤️ for AI-powered Image Generation