
Ultimate Gemini MCP
io.github.nikshipsPublished by GitHub account nikshipsv6.0.21Updated Oct 24, 2026
Image generation with Google Gemini 3.1 Flash: 512px-4K, reference images, search grounding
Overview
Lets an assistant generate and batch-produce images with Google Gemini, including transparent cut-outs, app icons, and search-grounded references.
- What you can do
- Wraps Google's Gemini image model in three main tools: generate_image for single images at 512px to 4K with 14 aspect ratios, up to 14 reference images, optional Google Search and Image Search grounding, and an optional two-pass transparent-background cut-out; generate_app_icon, which forces square, transparent, 1024px PNG icons; and batch_generate for up to 8 parallel prompts. It also ships 26 prompt templates exposed as MCP slash commands and saves results to a configurable output directory.
- When to use it
- Useful when you want an assistant to produce finished image assets from text prompts — product shots, storyboards, icons, logos, or photorealistic scenes — and especially when you need real-world references via Google Search or Image Search, or transparent PNG/WebP cut-outs without manual masking.
- Requirements
- Runs locally over stdio, typically via uvx (PyPI package ultimate-gemini-mcp) or pip, and needs Python 3.11+. A Google Gemini API key is required, supplied as the GEMINI_API_KEY environment variable (GOOGLE_API_KEY is also accepted). Optional environment variables set the output directory, default model and image size, timeouts, batch size, logging, and search or prompt-enhancement defaults. Network access to Google's API is required.
Installation
In SourceWeft
- Open Ultimate Gemini MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Ultimate Gemini MCP
MCP server for Google's Gemini 3.1 Flash Image — fast image generation with advanced reasoning, 512px–4K resolution, up to 14 reference images, Google Search grounding, and automatic thinking mode.
Setup
Claude Desktop
Add to your mcp config (mcp.json / .claude.json):
All generated images include invisible SynthID watermarks for authenticity and provenance tracking.
Features
Gemini 3.1 Flash Image
- High-Resolution Output: 512px, 1K, 2K, and 4K resolution
- Advanced Text Rendering: Legible, stylized text in infographics, menus, diagrams, and logos
- Up to 14 Reference Images: Up to 10 objects + 4 characters for style/character consistency
- Google Search Grounding: Real-time data (weather, stocks, events, maps)
- Google Image Search: Visual context from web images — the model can FIND real images of anything
- Thinking Mode: Configurable reasoning - "minimal" (fast) or "high" (best quality)
- Transparent Backgrounds: Flip one flag → ready-to-use transparent PNG/WebP cut-outs with a real alpha channel, recovered by a two-pass difference matte (generate on white → edit to black → solve for alpha). True soft edges/glow/glass, no color halo. Pillow only — no extra dependencies. Costs a second model call (~2x).
- Dedicated App-Icon / Logo Tool:
generate_app_iconforces a square, transparent, 1024px PNG every time — no way to get a non-square or opaque-background icon
This model is different. Unlike traditional image generators that rely solely on training data, Gemini 3.1 Flash has live access to Google Search and Image Search. It can find actual references for products, people, events, or anything that exists online. "Way of Wade 12" → generates the REAL shoe. "Tony Hawk" → finds real photos. Don't over-prompt — let the model cook.
Server Features
- Batch Processing: Generate multiple images in parallel (up to 8 concurrent)
- 26 Expert Prompt Templates: MCP slash commands for photography, cinematics, storyboards, and more
- Flexible Aspect Ratios: 14 options — 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9
- Configurable via Environment Variables: Output directory, default size, timeouts, and more
Showcase
Photorealistic Capabilities
Jensen Huang — GPU Surfing [Jensen surfing on GPU through cyberpunk city]
Elon Musk — Mars Chess Match [Elon playing chess with robot on Mars]
Jensen Huang — GPU Kitchen [Jensen cooking with GPU appliances]
Elon Musk — Cybertruck Symphony [Elon conducting Cybertruck orchestra]
Jensen Huang — Underwater Data Center [Jensen scuba diving in data center]
Elon Musk — SpaceX Skateboarding [Elon skateboarding at SpaceX]
Google Search Grounding
Current Weather in San Francisco [Weather search]
Google Image Search
Butterfly on Flower [Butterfly image search]
Different Resolutions
512px (fastest) [Cat 512px]
1K [Rose 1K]
Quick Start
Prerequisites
- Python 3.11+
- Google Gemini API key (free tier available)
Installation
Using uvx (recommended — no install needed):
Note: Use
@latestto ensure uv always fetches the newest version from PyPI. Without it, uv may use a cached environment.
Using pip:
From source:
Config file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
macOS
spawn uvx ENOENTerror: Use the full path — find it withwhich uvx, then set"command": "/Users/you/.local/bin/uvx".
Claude Code
Cursor
Add to .cursor/mcp.json:
Images are saved to ~/gemini_images by default. Add "OUTPUT_DIR": "/your/path" to customize.
Tools
generate_image
Generate an image with Gemini 3.1 Flash Image.
Image size guide:
512px— fastest, lowest cost (0.5K)1K— fast, good for testing (~1-2 MB)2K— recommended for most use cases (~3-5 MB)4K— maximum quality for production assets (~8-15 MB)
Transparent backgrounds — set one flag, get a real alpha cut-out
Just set transparent_background=true. You get back a ready-to-use transparent PNG/WebP (real alpha channel) at transparent_path — no manual masking, no second tool, no follow-up steps.
Generating an app icon or logo? Use the dedicated
generate_app_icontool instead — it forces square + transparent + 1024px PNG so the icon constraints can't be set wrong.
Under the hood this is a two-pass difference matte. The subject is rendered once on a pure white (#FFFFFF) background, that image is edited to a pure black (#000000) background, and the two frames are combined to solve for alpha per pixel: since obs_white − obs_black = (1−α)·255 on every channel, α = 1 − mean(obs_white − obs_black)/255, and the foreground colour is un-premultiplied from the black frame. Because there's no colour key, there's no green spill/halo; alpha is fractional, so soft edges, glow, glass, and faint shadows all survive. Pillow-only, zero ML downloads — but it costs a second model call (~2x tokens/latency).
The technique assumes the edit pass changed only the background. If the model drifts the subject between passes, the matte degrades — the result still returns (aligned/alignment_error flag it, with a loud post_processing_warnings entry) so you can decide whether to regenerate.
Each returned image gains: transparent_path, background_removed, background_removal_mode ("difference_matte"), aligned, alignment_error, alpha_output_format, and post_processing_warnings. By default the pass-1 (white-background) original is preserved alongside the cut-out (preserve_original=true).
It nails crisp-edged subjects and soft glow/glass. The one failure mode is the edit pass drifting the subject (flagged via aligned: false) — regenerate if edges look ghosted.
generate_app_icon
Purpose-built for app icons and logos. Square, transparent, and 1024px are forced — there is no aspect_ratio, image_size, output_format, or transparent_background knob to get wrong. Every result is a real alpha-channel PNG at transparent_path, ready to drop into a .iconset directory and convert with iconutil -c icns.
The
promptmust describe ONLY the subject, never the deliverable. This tool already turns whatever you describe into an icon, so framing words like "app icon", "logo", "favicon", or "squircle" in the prompt are rejected (setallow_icon_words_in_prompt=trueonly if such a word is literally part of the depicted subject). Right:"a glowing electric-blue magnifying glass over a network graph". Wrong:"an app icon of a magnifying glass".
batch_generate
Generate multiple images in parallel.
MCP Prompt Templates
26 expert prompt templates are available as MCP slash commands in Claude Code (type / to browse). Each template returns a crafted prompt and recommended parameters ready to pass directly to generate_image or batch_generate. For app icons and logos, use the dedicated generate_app_icon tool instead.
Configuration
Troubleshooting
spawn uvx ENOENT — Claude Desktop can't find uvx. Use the full path:
Find it with: which uvx
GEMINI_API_KEY not found — Set the key in your MCP config env block or in a .env file. Get a free key at Google AI Studio.
Content blocked by safety filters — Rephrase the prompt to avoid sensitive content.
Rate limit exceeded — Wait and retry, or upgrade your API quota.
Images not saving — Check OUTPUT_DIR exists and is writable: mkdir -p /your/output/path.
License
MIT — see LICENSE for details.
MCP Registry
mcp-name: io.github.nikships/ultimate-image-gen-mcp
Links
- Google AI Studio — Get your API key
- Gemini API Docs
- Model Context Protocol
- FastMCP
Source: README.md at commit ff31477
Tools
0Version history
1- v6.0.21LatestSep 23, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.