mcpField
N
nanobanana-mcp

nanobanana-mcp

ローカル
github.com/getjoystickメディア・デザイン211 週間前に更新

nanobanana-mcp について

nanobanana-mcpは、GoogleのNano BananaとVeoモデルで画像の生成・編集や動画の生成・延長を行うMCPサーバーです。画像データではなく保存先のパスを返し、クライアントのコンテキスト量を抑えます。

主な機能

  1. 01画像の生成と編集
  2. 02動画の生成と延長
  3. 03編集時の参照画像の利用
  4. 04画像比率と解像度の指定
  5. 05動画ジョブの確認とモデル一覧
  6. 06保存したファイルパスの返却

活用シーン

  1. 01プロンプトから画像を作成
  2. 02参照ファイルを使って画像を編集
  3. 03テキストや画像から動画を生成
  4. 04Veoの動画クリップを延長

MCP 対応

画像生成・編集、動画生成・延長、動画結果の確認、モデル一覧の6つのツールをMCPクライアントに提供します。画像と動画はディスクに保存され、クライアントにはファイルパスを返します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"getjoystick-nanobanana": {
"command": "npx",
"args": [
"-y",
"@nanobanana/mcp"
],
"env": {
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"NANOBANANA_MODEL": "<NANOBANANA_MODEL>",
"NANOBANANA_OUTPUT_DIR": "<NANOBANANA_OUTPUT_DIR>"
}
}
}
}
起動コマンドnpx -y @nanobanana/mcp
設定が必要な環境変数
GEMINI_API_KEYシークレットGemini API key from https://aistudio.google.com/apikey
NANOBANANA_MODELDefault image model override (default: gemini-3.1-flash-image)
NANOBANANA_OUTPUT_DIRDefault output directory override

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@nanobanana/mcp0.1.2

ツール

3

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
sizeenumいいえ出力解像度1K | 2K | 4K
modelstringいいえGemini 画像モデル ID(デフォルト:gemini-3.1-flash-image)
promptstringはい画像の説明
filenamestringいいえ拡張子を含まないベースファイル名
groundingbooleanいいえGoogle Search を使って事実の正確性を高めます
outputDirstringいいえ保存先ディレクトリ(デフォルト:./nano-banana)
aspectRatiostringいいえ例:1:1、16:9、9:16、4:3、21:9

詳細

@nanobanana/mcp 🍌

Google の Nano Banana(Gemini)画像モデルと Veo 動画モデル向けの軽量な MCP サーバーです。あらゆる MCP クライアント(Claude Code、Claude Desktop、Cursor)から画像の生成・編集、動画の生成を行い、base64 ではなくファイルパスを返すため、エージェントのコンテキストを小さく保てます。

  • ツールは 6 つだけです:generate_image、edit_image、generate_video、extend_video、get_video_result、list_models
  • デフォルトでは Nano Banana 2(gemini-3.1-flash-image)と Veo 3.1 Fast(veo-3.1-fast-generate-preview)を使用します。呼び出しごと、または環境変数でモデルを切り替えられます。固定したモデル ID が古くなった場合、list_models で API キーが実際に使用できるモデルを確認できます。
  • 複数画像の編集:スタイル変換、キャラクター、合成用の参照画像を渡せます
  • アスペクト比(1:1 から 21:9、最大 1:4 と 8:1)と解像度(512、1K、2K、4K)を指定できます
  • インフォグラフィックなど、現実世界の正確さが必要な画像向けに Google Search でグラウンディングできます
  • 動画はブロッキング呼び出しではなくジョブとして処理します:生成には 1~6 分かかるため、generate_video はジョブ ID を返し、get_video_result は各クライアントの 60 秒のタイムアウト内でポーリングします
  • 安全な出力パス。デスクトップ MCP クライアントがサーバーを / で起動しても、サーバーが / に書き込むことはありません。
  • 認証情報は環境変数のみに保存されるため、API キーがチャットのコンテキストを通ることはありません

クイックスタート

aistudio.google.com/apikey で無料の Gemini API キーを取得してください。

Claude Code

claude mcp add nanobanana -e GEMINI_API_KEY=your_key -- npx -y @nanobanana/mcp

MCP Registry では io.github.getjoystick/nanobanana-mcp としても登録されています。

Claude Desktop / Cursor:これを claude_desktop_config.json または .cursor/mcp.json に追加してください。

{
  "mcpServers": {
    "nanobanana": {
      "command": "npx",
      "args": ["-y", "@nanobanana/mcp"],
      "env": { "GEMINI_API_KEY": "your_key" }
    }
  }
}

ツール

generate_image
ParamRequiredDescription
prompt✅画像の説明
modelGemini 画像モデル ID(デフォルトは gemini-3.1-flash-image)
aspectRatio1:1、16:9、9:16、21:9、最大 1:4 と 8:1
size512、1K、2K、または 4K
grounding事実の正確さを高めるため Google Search でグラウンディングします
thinkingLevelminimal または high。high は複雑な画像や文字量の多い画像に役立ちます
outputDir保存先ディレクトリ(デフォルトは ./nano-banana)
filename拡張子を除くファイル名
edit_image

同じパラメーターに加えて、次のパラメーターを指定します。

ParamRequiredDescription
images✅入力ファイルのパス(png、jpg、webp、heic、または pdf)。最初の画像がベースとなり、残りは参照画像になります。

どちらのツールもファイルをディスクに保存し、ファイルパスを返します。

list_models

パラメーターはありません。API キーで使用できる画像モデルと動画モデルの ID を、2 つのセクションに分けて一覧表示します。固定したモデル ID が使えなくなった場合に便利です。以前の Nano Banana サーバーではこれが原因で問題が起きていました。また、Veo の ID はプレビュー版のため、名称が変更されることがあります。

動画

Veo の生成には 1~6 分かかりますが、MCP クライアントは約 60 秒でツール呼び出しを終了します。そのため、動画はジョブとして処理します。ジョブを開始してから、結果をポーリングしてください。

generate_video   →  "Video job started: <jobId>"
get_video_result →  "Still processing (<jobId>)…"   ← blocks up to 45s, then call again
get_video_result →  "Saved: /path/to/clip.mp4 (veo-3.1-fast-generate-preview)
                     Veo URI (needed for extend_video; expires ~2 days): https://…"

get_video_result が待機処理を行います。各呼び出しは waitSeconds(デフォルトは 45 秒で、クライアントの 60 秒のタイムアウト内に収まる最大値)までブロックします。すぐに呼び出し、戻り次第もう一度呼び出してください。間に待ち時間を入れる必要はありません。エージェントにはスリープする方法がないため、これは重要です。

ジョブ ID にはサーバーが必要とする情報がすべて含まれているため、間にサーバープロセスが再起動しても処理を続けられます。生成した動画は Google によってサーバー側から約 2 日後に削除されるため、速やかにダウンロードしてください。サーバー側のコピーだけが extend_video で延長できる動画なので、ショットを続ける予定がある場合は Veo URI を保存しておいてください。

生成した画像をアニメーション化する場合は、まず generate_image に aspectRatio として 16:9 または 9:16 を指定してください。Veo が出力できるのはこの 2 つの比率だけで、渡したフレームをクロップするため、正方形の画像は端が切れてしまいます。それでもクリップの料金は発生します。

generate_video
ParamRequiredDescription
prompt✅シーン、動き、カメラ、会話や効果音などを指定します。Veo はネイティブ音声を生成します
image開始フレームとして使用する画像パス(画像から動画への変換)。Veo は画像を aspectRatio に合わせてトリミングするため、16:9 または 9:16 にしてください。
referenceImagesキャラクター/オブジェクト/スタイルの一貫性を保つための画像パスです。asset は最大 3 枚、style は 1 枚のみ指定できます。image との併用不可。Lite ではサポートされていません。
referenceTypeasset(キャラクター、オブジェクト、シーン — デフォルト)または style(美的スタイル)
modelVeo モデル ID(デフォルトは veo-3.1-fast-generate-preview)
aspectRatio16:9 または 9:16
resolution720p、1080p、または 4k。1080p と 4k には durationSeconds: 8 が必要です
durationSeconds4、6、または 8。referenceImages または 1080p/4k を使用する場合は 8 にする必要があります
negativePrompt表示させたくないもの
personGenerationallow_all(テキストから動画への変換および延長のみ)または allow_adult。画像ベースの生成(image、referenceImages)には allow_adult が必要です。また、EU/UK/CH/MENA では allow_adult のみ使用できます。

フレーム(image、referenceImages)は png または jpg である必要があります。

extend_video

Veo で生成したクリップを約 7 秒延長し、最後の 1 秒から続けます。入力は最大 約 141 秒、出力は最大約 148 秒で、延長は最大 20 回までです。常に 720p です。Lite ではサポートされていません。

延長はローカルファイルではなく、Google 側にある動画のコピーに対して実行されます。get_video_result が出力する Veo URI を渡してください。有効期限は動画と同じで、約 2 日後に切れます。

ParamRequiredDescription
prompt✅次に起こること
video✅get_video_result の Veo URI(https:// URI。ファイルパスではありません)
modelVeo モデル ID(デフォルトは veo-3.1-fast-generate-preview)。Lite では延長できません
negativePrompt表示させたくないもの
get_video_result
ParamRequiredDescription
jobId✅generate_video/extend_video が返す ID
waitSecondsジョブの完了を待つ間、この呼び出しをブロックする時間(デフォルトは 45。これが最大値でもあります)
outputDir保存先ディレクトリ(デフォルトは ./nano-banana)
filename拡張子を除いたファイル名

完成した動画を .mp4 として保存し、絶対パスと、extend_video で必要となるサーバー側コピーの Veo URI を返します。

Configuration

Env varDescription
GEMINI_API_KEY必須です。 Gemini API キー(GOOGLE_API_KEY も使用できます)
NANOBANANA_MODELデフォルトの画像モデルの上書き
NANOBANANA_VIDEO_MODELデフォルトの動画モデルの上書き
NANOBANANA_OUTPUT_DIRデフォルトの出力ディレクトリの上書き

Models

Model idNotes
gemini-3.1-flash-imageデフォルト。 Nano Banana 2:4K 出力、テキスト描画に優れています
gemini-3-pro-imageNano Banana Pro。より深い推論が必要な複雑なシーン向け
gemini-2.5-flash-image初代 Nano Banana(レガシー。Google は 2026-10-02 に提供を終了します)
Video models

Veo には無料枠がありません。課金が有効な API キーが必要で、出力の秒数に応じて課金されます。

Model idPrice8s clipNotes
veo-3.1-fast-generate-preview$0.10/s~$0.80デフォルト。 全機能を備え、コストに対する品質が最も優れています
veo-3.1-generate-preview$0.40/s~$3.20全機能を備え、最も高い忠実度です
veo-3.1-lite-generate-preview$0.05/s~$0.40最も安価です。テキスト/画像から動画への変換のみで、延長と参照画像には非対応、最大 1080p です

3 つすべてのモデルが、テキストから動画への変換、画像から動画への変換、ネイティブ音声に対応しています。延長、参照画像、4k は Veo 3.1 と 3.1 Fast のみで利用できます。クリップの長さは 4、6、または 8 秒で、アスペクト比は 16:9 または 9:16 です。

Development

npm install
npm run build
GEMINI_API_KEY=your_key npm run smoke   # end-to-end test against the live API
GEMINI_API_KEY=your_key SMOKE_VIDEO=1 npm run smoke   # also generates a 4s clip (~$0.20)

Acknowledgements

他の Nano Banana MCP に着想を得ています。Claude Code で構築しました。

License

MIT

コメント

MCP は初めてですか?

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

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