A side-by-side look at the Nanobanana MCP Server and VideoGen MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Nanobanana MCP Server for multimedia process work as a local process; choose VideoGen MCP for multimedia process over a hosted endpoint. You can also run both side by side in one mcpServers block.
GEMINI_API_KEY, NANOBANANA_AUTH_METHOD, GCP_PROJECT_ID, GCP_REGION.generate_image, upload_file, show_output_stats.VIDEOGEN_API_KEY, VIDEOGEN_BASE_URL, VIDEOGEN_OAUTH_ISSUER, VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL, VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN.get_getting_started_guidance, get_async_tasks_guidance, get_workflows_guidance.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Multimedia Process | Multimedia Process |
| Quality signal | 63/100 · Good | 84/100 · Excellent |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | GEMINI_API_KEYNANOBANANA_AUTH_METHODGCP_PROJECT_IDGCP_REGION | VIDEOGEN_API_KEYVIDEOGEN_BASE_URLVIDEOGEN_OAUTH_ISSUERVIDEOGEN_OAUTH_SUPABASE_PROJECT_URLVIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN |
| Verified owner | Community listing | Verified |
| GitHub stars | 400 | 4 |
| Directory activity | 1 views 0 installs 0 upvotes | 10 views 0 installs 0 upvotes |
| Tools | 4 | 50 |
| Full listing | View Nanobanana MCP Server | View VideoGen MCP |
generate_imageGenerate new images or edit existing images using natural language instructions.
Supports multiple input modes:
1. Pure generation: Just provide a prompt to create new images
2. Multi-image conditioning: Provide up to 3 input images using input_image_path_1/2/3 parameters
3. File ID editing: Edit previously uploaded images using Files API ID
4. File path editing: Edit local images by providing single input image path
Automatically detects mode based on parameters or can be explicitly controlled.
Input images are read from the local filesystem to avoid massive token usage.
Returns both MCP image content blocks and structured JSON with metadata.upload_fileUpload a local file through the Gemini Files API and return its URI & metadata.
Useful when the image is larger than 20MB or reused across prompts.show_output_statsShow statistics about the output directory and recently generated images.maintenancePerform maintenance operations following workflows.md patterns.
Available operations:
- cleanup_expired: Remove expired Files API entries from database
- cleanup_local: Clean old local files based on age/LRU
- check_quota: Check Files API storage usage vs. ~20GB budget
- database_hygiene: Clean up database inconsistencies
- full_cleanup: Run all cleanup operations in sequenceget_getting_started_guidanceHow to authenticate, verify with get_me, introduce VideoGen with workflow example prompts, choose workflows vs media tools, and follow VideoGen id conventions. Call when connecting, onboarding, the user asks what VideoGen can do, or how to set up the API or MCP. Equivalent to reading the `guidance://getting-started` MCP resource — provided as a tool for clients that don't read resources directly.get_async_tasks_guidanceHow to handle async workflows, tool executions, and exports: statuses, hosted vs local wait caps, polling with get_* tools, and when webhooks apply outside MCP. Call before polling or when a start tool returns a still-running snapshot. Equivalent to reading the `guidance://async-tasks` MCP resource — provided as a tool for clients that don't read resources directly.get_workflows_guidanceCanonical run → remix → export flow and when to use each workflow tool. Prefer script_to_video for longer narrated / informational videos; keep storyboard_to_video to ≤3 scenes unless the user asks for more. Call before starting a full video project. Equivalent to reading the `guidance://workflows` MCP resource — provided as a tool for clients that don't read resources directly.get_tools_vs_workflows_guidanceWhen to use standalone media tools (automatic model routing for a single asset) versus workflows (full editable professional video). Call when choosing between generate_* tools and workflow tools. Equivalent to reading the `guidance://tools-vs-workflows` MCP resource — provided as a tool for clients that don't read resources directly.script_to_videoPreferred for narrated / informational / explainer videos from text, especially ~1 minute or longer. Turn a verbatim narration script into an editable video with AI-generated visuals and captions. Prefer this over storyboard_to_video unless the user wants a short shot-directed storyboard. For avatar narration, pass actorEntityId and optionally set avatarQuality.voiceover_to_videoBuild an editable video with AI-generated visuals from an uploaded voiceover audio file.slideshow_to_videoBuild an editable narrated video from an uploaded PDF or slideshow file. Upload the file first with upload_file, then pass its fileId. For avatar narration, pass actorEntityId and optionally set avatarQuality.storyboard_to_videoBuild an editable video from an ordered storyboard (frame-by-frame shot list). Every scene needs a visual prompt and may include spoken words. To show a saved product, actor, or visual style, pass productEntityIds, actorEntityIds, or visualStyleEntityId on each scene that should use that entity's reference images (create_entity and add_entity_reference first). A prompt alone does not attach those images. Much more credit-heavy than script_to_video: use at most 3 scenes unless the user explicitly asks for more. Prefer script_to_video for ~1 minute+ narrated / informational videos. If the user has not named a workflow, ask with pros/cons before calling this.prompt_to_video_clipGenerate one short AI video clip from a prompt inside an editable project.list_workflow_runsList workflow runs, most recent first.get_workflow_runFetch the current status and result of a single workflow run.cancel_workflow_runRequest cancellation of an in-progress workflow run.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"nanobanana-mcp-server": {
"command": "uvx",
"args": [
"nanobanana-mcp-server@latest"
],
"env": {
"GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE",
"NANOBANANA_AUTH_METHOD": "YOUR_NANOBANANA_AUTH_METHOD_HERE",
"GCP_PROJECT_ID": "YOUR_GCP_PROJECT_ID_HERE",
"GCP_REGION": "YOUR_GCP_REGION_HERE"
}
}
}
}
{
"mcpServers": {
"videogen-mcp": {
"command": "npx",
"args": [
"-y",
"@videogen/mcp"
],
"env": {
"VIDEOGEN_API_KEY": "YOUR_VIDEOGEN_API_KEY_HERE",
"VIDEOGEN_BASE_URL": "YOUR_VIDEOGEN_BASE_URL_HERE",
"VIDEOGEN_OAUTH_ISSUER": "YOUR_VIDEOGEN_OAUTH_ISSUER_HERE",
"VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL": "YOUR_VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL_HERE",
"VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN": "YOUR_VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN_HERE"
}
}
}
}