Skip to main content
Glama

ModelsLab Text2Image MCP Server

by shimizu
README.md8.06 kB
# 🎨 ModelsLab Text2Image MCP Server [DRAFT] > ⚠️ **注意**: このプロジェクトは現在ドラフト版です。本番環境での使用前に十分なテストを行ってください。 ModelsLab APIを使用したText2Image画像生成専用のModel Context Protocol (MCP)サーバーです。Claude Codeから高品質なAI画像生成を簡単に実行できます。 ## 🚀 主要機能 - 🎭 **Fluxモデル標準搭載** - デフォルトで最新のFluxモデルを使用 - 🌈 **複数モデル対応** - Flux、Stable Diffusion、Midjourney等をサポート - 📁 **ローカル保存** - 生成した画像をローカルファイルに自動保存 - 🔧 **豊富な設定** - 画像サイズ、品質、スタイル等を細かく調整 - 🔒 **セキュア** - APIキーの安全な管理機能内蔵 ## 📦 インストールと設定 ### 1. リポジトリのクローン ```bash git clone https://github.com/shimizu/modelslab-text2img-mcp-server.git cd modelslab-text2img-mcp-server ``` ### 2. 依存関係のインストール ```bash npm install ``` ### 3. ModelsLab API設定 🔑 1. 📝 [ModelsLab](https://modelslab.com/)でアカウント作成 2. 🆔 APIキーを取得 3. 🔧 APIキーを設定: ```bash # 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. サーバー起動 ⚡ ```bash # MCPサーバーを起動 npm start # MCP Inspectorで開発・テスト npm run dev ``` ## Claude Code での使用 Claude Code では `claude mcp add` コマンドでMCPサーバーを登録します: ```bash # プロジェクトに移動 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 ドキュメント](https://docs.anthropic.com/ja/docs/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等) **使用例:** ```json { "prompt": "beautiful landscape at sunset", "model_id": "flux", "width": 1024, "height": 512, "samples": 1, "outputPath": "./generated_landscape.jpg" } ``` ### 👋 hello 動作確認用のシンプルなツール ### 🔗 test_connection HTTP接続テスト用ツール ## 📋 レスポンス形式 ### 🎨 画像生成結果(ファイル保存あり) ```json { "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のみ) ```json { "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

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shimizu/modelslab-text2img-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server