mcp-nano-banana について
mcp-nano-bananaは、Google Gemini Nano Bananaによる画像生成をコーディングアシスタントなどのMCPクライアントに提供します。テキスト生成、画像編集や合成に加え、解像度、アスペクト比、形式を指定できます。
主な機能
- 01テキストから画像を生成
- 02指示に沿って既存画像を編集
- 03最大14枚の参照画像を合成
- 04解像度、比率、形式を指定
- 05ファビコン一式を生成
- 06レート制限時にFlashへ自動切り替え
活用シーン
- 01プロジェクト用のイラストや壁紙を作成
- 02写真の背景や内容を変更
- 03人物と製品の参照画像を合成
- 04Webサイト用のファビコン一式を生成
MCP 対応
MCPサーバーとして、画像の生成、編集、合成、ファビコン作成のツールをクライアントに提供します。リクエストにはGoogle Gemini APIを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| model | enum | いいえ | 使用するモデル:gemini-2.5-flash-image(高速)または gemini-3-pro-image-preview(高品質、デフォルト)gemini-2.5-flash-image | gemini-3-pro-image-preview |
| prompt | string | はい | 生成する画像のテキストによる説明、または参照画像の編集・合成に関する指示 |
| imagePaths | array | いいえ | 参照画像のファイルパスの任意の配列(最大 14 個)。png、jpg、jpeg、webp、gif に対応。 |
| outputPath | string | いいえ | 生成した画像を保存するファイルパス。指定しない場合、画像データをインラインで返します。 |
| resolution | enum | いいえ | 生成画像の解像度。512 は gemini-3.1-flash-image-preview のみ対応。Nano Banana Pro は 1K、2K、4K に対応。512 | 1K | 2K | 4K |
| aspectRatio | enum | いいえ | 生成画像のアスペクト比。gemini-3.1-flash-image-preview では、ほかの比率(1:4、4:1、1:8、8:1)も利用できます。1:1 | 16:9 | 9:16 | 4:3 | 3:4 | 2:3 | 3:2 | 4:5 | 5:4 | 21:9 | 1:4 | 4:1 | 1:8 | 8:1 |
| outputFormat | enum | いいえ | 出力画像形式png | jpeg | webp |
詳細
mcp-nano-banana
Google Gemini Nano Banana モデルを使用した、AI 画像生成用の MCP サーバーです。AI コーディングアシスタントから直接、テキストプロンプトで画像を生成、編集、合成できます。
特長
- テキストから画像を生成 — 自然言語の説明から画像を作成します
- 画像編集 — 画像をアップロードし、テキストの指示で編集します
- 複数画像の合成 — 最大 14 枚の参照画像を 1 枚の合成画像にまとめます
- 解像度の指定 — 512px、1K、2K、4K の解像度で生成します
- 13 種類以上のアスペクト比 — 正方形(1:1)から超ワイド(21:9)、縦長(1:8)まで対応します
- 自動フォールバック — レート制限時(429/403/402)は、Pro モデルから Flash に切り替わります
- ファイル出力 — 指定したパスに保存するか、インラインの base64 として返します
- ファビコン生成 — 1 つのコマンドでファビコンのパッケージ一式を生成します
- 複数形式での出力 — PNG、JPEG、WebP に対応しています
クイックスタート
前提条件
- Google AI Studio から Gemini API キーを取得します
- Google Cloud プロジェクトで 課金を有効にします — 画像生成には有料ティアが必要です(標準解像度の NB2 で 1 枚あたり約 $0.04-0.05)
インストール
npm install -g mcp-nano-banana
API キーを設定します:
export GEMINI_API_KEY=your-api-key
MCP Registry への公開メタデータでは、レジストリ名は io.github.codeFi/mcp-nano-banana です。
MCP の設定
Codex
codex mcp add nano-banana --env GEMINI_API_KEY=your-api-key -- npx -y mcp-nano-banana@latest
または、~/.codex/config.toml に手動で追加します:
[mcp_servers.nano-banana]
command = "npx"
args = ["-y", "mcp-nano-banana@latest"]
[mcp_servers.nano-banana.env]
GEMINI_API_KEY = "your-api-key"
Qwen Code
~/.qwen/settings.json に追加します:
{
"mcpServers": {
"nano-banana": {
"command": "npx",
"args": ["-y", "mcp-nano-banana@latest"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
Claude Code
claude mcp add nano-banana -e GEMINI_API_KEY=your-api-key -- npx -y mcp-nano-banana@latest
または、~/.claude/claude_desktop_config.json に手動で追加します:
{
"mcpServers": {
"nano-banana": {
"command": "npx",
"args": ["-y", "mcp-nano-banana@latest"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
その他の MCP クライアント
標準の mcpServers JSON 形式を使用する CLI やデスクトップクライアントでは、次のように登録します:
{
"mcpServers": {
"nano-banana": {
"command": "npx",
"args": ["-y", "mcp-nano-banana@latest"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
ローカル/開発ビルド
git clone https://github.com/codeFi/mcp-nano-banana.git
cd mcp-nano-banana
npm install
npm run build
その後、MCP クライアントに登録します:
{
"mcpServers": {
"nano-banana": {
"command": "node",
"args": ["/path/to/mcp-nano-banana/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
モデル
| モデル | MCP 名 | 説明 | 参照画像の最大数 |
|---|---|---|---|
gemini-3-pro-image-preview | Nano Banana Pro | 高品質、思考モード、プロ向け素材 | 物体 6 枚 + キャラクター 5 枚 |
gemini-3.1-flash-image-preview | Nano Banana 2 | 高速、高効率、1:4/4:1/1:8/8:1 の比率に対応 | 物体 10 枚 + キャラクター 4 枚 |
gemini-2.5-flash-image | Nano Banana | 最速で、大量処理向けに最適化 | - |
サーバーは品質を優先して Nano Banana Pro をデフォルトに使用し、レート制限時には自動的に Flash に切り替わります。
利用可能なパラメーター
解像度
| 値 | ピクセル数の目安 | 対応モデル |
|---|---|---|
"512" | 約 512px | Nano Banana 2 のみ |
"1K" | 約 1024px | すべてのモデル |
"2K" | 約 2048px | すべてのモデル |
"4K" | 約 4096px | すべてのモデル |
デフォルト:"1K"
アスペクト比
| 値 | 1K での寸法 | 主な用途 |
|---|---|---|
1:1 | 1024×1024 | ソーシャルメディアの投稿、アイコン |
16:9 | 1344×768 | ヘッダー、プレゼンテーション |
9:16 | 768×1344 | ストーリー、モバイル |
4:3 | 1152×896 | デスクトップ、写真 |
3:4 | 896×1152 | ポートレート |
2:3 | 約 896×1344 | 印刷物、雑誌 |
3:2 | 約 1344×896 | 写真 |
4:5 | 約 896×1120 | Instagram の投稿 |
5:4 | 約 1120×896 | Instagram の横長投稿 |
21:9 | 約 2048×878 | 超ワイドバナー |
1:4 | 約 512×2048 | Nano Banana 2 のみ — 縦長の帯 |
4:1 | 約 2048×512 | Nano Banana 2 のみ — 横長の帯 |
1:8 | 約 512×4096 | Nano Banana 2 のみ — さらに縦長 |
8:1 | 約 4096×512 | Nano Banana 2 のみ — さらに横長 |
ツール
generate_image
テキストプロンプトから画像を生成または編集します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
prompt | string | ✅ はい | — | テキストによる説明または編集指示 |
imagePaths | string[] | いいえ | — | ディスク上の参照画像のパス(最大14枚) |
model | string | いいえ | gemini-3-pro-image-preview | 使用するモデル |
aspectRatio | string | いいえ | 1:1 | すべてのオプションについては上の表を参照してください |
resolution | string | いいえ | 1K | 512、1K、2K、または 4K |
outputFormat | string | いいえ | png | png、jpeg、webp |
outputPath | string | いいえ | — | 指定したファイルパスに画像を保存します |
使用例
テキストから生成:
{
"prompt": "A sunset over mountains with dramatic lighting",
"aspectRatio": "16:9",
"resolution": "2K",
"outputPath": "/Users/currentUser/Desktop/sunset.png"
}
既存の画像を編集:
{
"prompt": "Change the background to a coffee shop interior",
"imagePaths": ["/Users/currentUser/photo.jpg"],
"outputPath": "/Users/currentUser/edited.png"
}
複数の画像を組み合わせる:
{
"prompt": "Put these glasses on this person's face",
"imagePaths": ["/path/to/face.jpg", "/path/to/glasses.jpg"],
"outputPath": "/path/to/result.png"
}
高解像度の壁紙:
{
"prompt": "A futuristic cityscape at night with neon lights and rain",
"aspectRatio": "16:9",
"resolution": "4K",
"outputPath": "/path/to/wallpaper.png"
}
generate_favicons
プロンプトまたは既存の画像から、ファビコン一式を生成します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
prompt | string | いいえ* | — | アイコンの説明(imagePath が設定されていない場合は必須) |
imagePath | string | いいえ* | — | 既存のマスターアイコン画像のパス |
model | string | いいえ | gemini-3-pro-image-preview | プロンプト生成に使用するモデル |
outputDir | string | いいえ | — | 個別のファビコンファイルを保存するディレクトリ |
outputPath | string | いいえ | — | ZIP パッケージを指定したパスに保存します |
returnZipBase64 | boolean | いいえ | false | ZIP を Base64 テキストとして返します |
appName | string | いいえ | My App | マニフェストの name |
shortName | string | いいえ | App | マニフェストの short_name |
themeColor | string | いいえ | #ffffff | マニフェストのテーマカラー |
backgroundColor | string | いいえ | #ffffff | マニフェストの背景色 |
includeReadme | boolean | いいえ | true | パッケージに README.md を含めます |
使用例
{
"prompt": "A minimalist banana icon with a soft gradient",
"outputDir": "/path/to/favicon",
"outputPath": "/path/to/favicon.zip",
"appName": "MyBrand",
"shortName": "Brand",
"themeColor": "#1a1a2e",
"backgroundColor": "#ffffff"
}
生成されるファイル:
favicon.ico— 複数サイズのアイコン(16/32/48px)favicon-16x16.png— ブラウザーのタブ用favicon-32x32.png— 高解像度のタブ用apple-touch-icon.png— iOS のホーム画面用android-chrome-192x192.png— Android 用android-chrome-512x512.png— Android HD 用site.webmanifest— PWA マニフェスト
HTML スニペット(レスポンスに含まれます):
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
料金
画像生成には有料の Google AI Studio アカウントが必要です。おおよその料金は以下のとおりです。
| モデル | 1K | 2K | 4K |
|---|---|---|---|
| Nano Banana 2 | ~$0.04 | ~$0.08 | ~$0.15 |
| Nano Banana Pro | ~$0.06 | ~$0.13 | ~$0.24 |
生成した分だけお支払いいただきます。月額最低料金はありません。
対応画像形式
入力(参照画像): png、jpg、jpeg、webp、gif
出力: png、jpeg、webp
開発
# Build TypeScript
npm run build
# Watch mode
npm run dev
# Run tests
npm test
# Run the server directly
node dist/index.js
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
GEMINI_API_KEY is not set | 環境変数をエクスポートするか、MCP 設定に追加してください |
429 Too Many Requests | サーバーは自動的に Flash モデルに切り替わります。アカウントに課金設定を追加してください。 |
403/402 Quota exceeded | Google Cloud Console で課金を有効にしてください |
503 Unavailable | 需要が高まっています。しばらくしてから再試行してください。4K リクエストでよく発生します。 |
| 編集後に画像が更新されない | TypeScript を再ビルドしたことを確認してください(npm run build) |
imagePaths が見つからない | 絶対パスを使用してください。相対パスは正しく解決されない場合があります。 |
アーキテクチャ
AI Assistant (MCP Client)
│ (MCP Protocol over stdio)
▼
mcp-nano-banana Server
│ (HTTPS POST)
▼
Google Gemini API
│
▼
Generated Image → saved to outputPath (or returned inline base64)
ライセンス
作者
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。