Server data from the Official MCP Registry
AI image generation and editing with prompt optimization and quality presets. Powered by Nano Banana
AI image generation and editing with prompt optimization and quality presets. Powered by Nano Banana
Valid MCP server (2 strong, 3 medium validity signals). 1 code issue detected. 2 known CVEs in dependencies (0 critical, 2 high severity) Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (3/3 approved); 3 highly-trusted packages. 1 finding(s) downgraded by scanner intelligence.
5 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: GEMINI_API_KEY
Environment variable: IMAGE_OUTPUT_DIR
Environment variable: IMAGE_QUALITY
Environment variable: SKIP_PROMPT_ENHANCEMENT
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-shinpr-mcp-image": {
"env": {
"IMAGE_QUALITY": "your-image-quality-here",
"GEMINI_API_KEY": "your-gemini-api-key-here",
"IMAGE_OUTPUT_DIR": "your-image-output-dir-here",
"SKIP_PROMPT_ENHANCEMENT": "your-skip-prompt-enhancement-here"
},
"args": [
"-y",
"mcp-image"
],
"command": "npx"
}
}
}From the project's GitHub README.
AI image generation and editing MCP server for Cursor, Claude Code, Codex, and any MCP-compatible tool — powered by Nano Banana 2 and Nano Banana Pro (Google Gemini).
An MCP server that turns simple text prompts into high-quality images. Unlike a simple API wrapper, this server automatically enhances your prompt and configures sensible defaults for generation — you don't need to learn prompt engineering or tune settings. Just describe what you want.
You: "cat on a roof"
↓
Your AI assistant infers context
(purpose, style, mood, resolution...)
↓
MCP optimizes your prompt
(adds lighting, composition, atmosphere, artistic details)
↓
Image generation with smart defaults
(grounding, consistency, resolution — all configured automatically)
↓
High-quality image, zero effort
Your AI assistant interprets your intent — the style, purpose, and context behind your request. The MCP focuses on output quality by refining the prompt to meet a structured visual clarity standard and selecting appropriate generation settings. You just describe what you want.
The prompt optimizer uses a Subject–Context–Style framework (powered by Gemini 2.5 Flash) to fill in missing visual details — subject characteristics, environment, lighting, camera work — while preserving your original intent. It doesn't blindly add details: prompts that already meet the quality standard are left largely intact.
Example — what the optimizer does to a short prompt:
Input: "cat on a roof"
After optimization: "A sleek, midnight black cat, perched with poised elegance on the apex of a weathered, terracotta tile roof. Its emerald eyes, narrowed slightly, reflect the warm glow of a setting sun. Each individual tile is distinct, showing subtle variations in color and texture, with patches of moss clinging to the crevices. The cat's fur is sharply defined, catching the golden hour light, highlighting its sleek contours. In the background, the silhouettes of distant, old-world city buildings with ornate spires are softly blurred, bathed in a gradient of fiery orange, soft pink, and deep violet twilight. A gentle, ethereal mist begins to rise from the alleyways below, adding a touch of mystery. The composition is a medium shot, taken from a slightly low angle, emphasizing the cat's commanding presence against the vast sky. Photorealistic style, captured with a prime lens, wide aperture to create a beautiful bokeh, enhancing the depth of field."
This project also provides a standalone Agent Skill (SKILL.md) that teaches AI assistants to write better image generation prompts — no MCP server or API key required.
Note: This skill does not generate images itself. It teaches your AI assistant to write better prompts for tools that already have built-in image generation (e.g., Cursor's native image generation).
Based on the Subject-Context-Style framework, covering prompt structure, visual details (lighting, textures, camera angles), advanced techniques (character consistency, composition), and image editing. Works with any image model (Gemini, GPT Image, Flux, Stable Diffusion, Midjourney, etc.).
npx mcp-image skills install --path <target-directory>
The skill will be placed at <path>/image-generation/SKILL.md. Specify the skills directory for your AI tool:
# Cursor
npx mcp-image skills install --path ~/.cursor/skills
# Codex
npx mcp-image skills install --path ~/.codex/skills
# Claude Code
npx mcp-image skills install --path ~/.claude/skills
| MCP Server | Agent Skill | |
|---|---|---|
| Use when | Your AI tool does not have built-in image generation | Your AI tool already generates images natively |
| Requires | Gemini API key | Nothing |
| What it does | Generates images via Gemini API with automatic prompt optimization | Teaches the AI to write better prompts |
| Works with | MCP-compatible tools (Cursor, Claude Code, Codex, etc.) | Any tool supporting the Agent Skills open standard |
Get your API key from Google AI Studio
Add to ~/.codex/config.toml:
[mcp_servers.mcp-image]
command = "npx"
args = ["-y", "mcp-image"]
[mcp_servers.mcp-image.env]
GEMINI_API_KEY = "your_gemini_api_key_here"
IMAGE_OUTPUT_DIR = "/absolute/path/to/images"
Add to your Cursor settings:
~/.cursor/mcp.json.cursor/mcp.json in your project root{
"mcpServers": {
"mcp-image": {
"command": "npx",
"args": ["-y", "mcp-image"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here",
"IMAGE_OUTPUT_DIR": "/absolute/path/to/images"
}
}
}
}
Run in your project directory to enable for that project:
cd /path/to/your/project
claude mcp add mcp-image --env GEMINI_API_KEY=your-api-key --env IMAGE_OUTPUT_DIR=/absolute/path/to/images -- npx -y mcp-image
Or add globally for all projects:
claude mcp add mcp-image --scope user --env GEMINI_API_KEY=your-api-key --env IMAGE_OUTPUT_DIR=/absolute/path/to/images -- npx -y mcp-image
⚠️ Security Note: Never commit your API key to version control. Keep it secure and use environment-specific configuration.
📁 Path Requirements:
IMAGE_OUTPUT_DIR must be an absolute path (e.g., /Users/username/images, not ./images)./output in the current working directory if not specifiedChoose the right balance of speed, quality, and cost:
| Preset | Model | Best for | Speed |
|---|---|---|---|
fast (default) | Nano Banana 2 (Gemini 3.1 Flash Image) | Quick iterations, drafts, high-volume generation | ~30–40s |
balanced | Nano Banana 2 + Thinking | Production images, good quality with reasonable speed | Medium |
quality | Nano Banana Pro (Gemini 3 Pro Image) | Final deliverables, maximum fidelity, critical visuals | Slow |
Set the default via IMAGE_QUALITY environment variable:
IMAGE_QUALITY=fast # (default) Fastest generation
IMAGE_QUALITY=balanced # Enhanced thinking for better quality
IMAGE_QUALITY=quality # Maximum quality output
To override per-request, just tell your AI assistant (e.g., "generate in high quality" or "use balanced quality"). The assistant will pass the appropriate quality parameter automatically.
Codex:
[mcp_servers.mcp-image.env]
GEMINI_API_KEY = "your_gemini_api_key_here"
IMAGE_QUALITY = "balanced"
Cursor:
Add "IMAGE_QUALITY": "balanced" to the env section in your config.
Claude Code:
claude mcp add mcp-image --env GEMINI_API_KEY=your-api-key --env IMAGE_QUALITY=balanced --env IMAGE_OUTPUT_DIR=/absolute/path/to/images -- npx -y mcp-image
Set SKIP_PROMPT_ENHANCEMENT=true to disable automatic prompt optimization and send your prompts directly to the image generator. Useful when you need full control over the exact prompt wording.
Once configured, just describe what you want in natural language:
"Generate a serene mountain landscape at sunset with a lake reflection"
Your prompt is automatically enhanced with rich details about lighting, materials, composition, and atmosphere.
"Edit this image to make the person face right"
(with inputImagePath: "/path/to/image.jpg")
Character Consistency:
"Generate a portrait of a medieval knight, maintaining character consistency for future variations"
(with maintainCharacterConsistency: true)
High-Resolution 4K with Text Rendering:
"Generate a professional product photo of a smartphone with clear text on the screen"
(with imageSize: "4K")
Custom Aspect Ratio:
"Generate a cinematic landscape of a desert at golden hour"
(with aspectRatio: "21:9")
generate_image ToolThe server uses a two-stage process with separate models for each stage:
SKIP_PROMPT_ENHANCEMENT.| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | ✅ | Text description or editing instruction |
quality | string | - | Quality preset: fast (default), balanced, quality. Overrides IMAGE_QUALITY env var for this request |
inputImagePath | string | - | Absolute path to input image for image-to-image editing |
fileName | string | - | Custom filename for output (auto-generated if not specified) |
aspectRatio | string | - | 1:1 (default), 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 1:4, 1:8, 4:1, 8:1 |
imageSize | string | - | 1K, 2K, 4K. Leave unspecified for standard quality |
blendImages | boolean | - | Enable multi-image blending for combining multiple visual elements naturally |
maintainCharacterConsistency | boolean | - | Maintain character appearance consistency across different poses and scenes |
useWorldKnowledge | boolean | - | Use real-world knowledge for accurate context (historical figures, landmarks, factual scenarios) |
useGoogleSearch | boolean | - | Enable Google Search grounding for real-time factual accuracy |
purpose | string | - | Intended use (e.g., "cookbook cover", "social media post"). Helps tailor visual style and details |
{
"type": "resource",
"resource": {
"uri": "file:///path/to/generated/image.png",
"name": "image-filename.png",
"mimeType": "image/png"
},
"metadata": {
"model": "gemini-3.1-flash-image-preview",
"processingTime": 5000,
"timestamp": "2026-01-01T12:00:00.000Z"
}
}
"API key not found"
GEMINI_API_KEY is set in your environment"Input image file not found"
"No image data found in Gemini API response"
fast preset: ~30–40 seconds typical (includes prompt optimization)balanced preset: Slightly longer due to enhanced thinkingquality preset: Slower but highest fidelity outputuseWorldKnowledge for historical or factual subjectsimageSize: "4K" when text clarity and fine details are criticalfast / balanced: Nano Banana 2 — Gemini 3.1 Flash Image (lower cost)quality: Nano Banana Pro — Gemini 3 Pro Image (higher cost)balanced uses additional thinking tokens (slightly higher cost than fast)MIT License - see LICENSE for details.
Need help? Open an issue or check the troubleshooting section above.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.