Gemini Image Studio

io.github.udhaykumarbala由 GitHub 账号 udhaykumarbala 发布v1.0.2更新于 Oct 24, 2026

AI image generation and editing with Google Gemini. Structured JSON editing.

已验证STDIO仅桌面媒体与设计AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,让助手用 Google Gemini 生成并精确编辑图像,支持基于 JSON 蓝图的编辑。

可以做什么
根据文本或 JSON 提示生成图像,可选预设、宽高比、分辨率、模型以及用于一致性的参考图。将已有图像分解为描述各视觉组件的结构化 JSON 蓝图。通过修改点号路径的 JSON 字段或用自然语言指令编辑图像,并缓存蓝图以便再次编辑。列出可用的素材预设并浏览此前生成的图像。
适用场景
适合让助手制作网页素材、广告创意或品牌视觉,并进行孤立、可重复的修改,例如只改发色或背景而不重新生成整张图。适用于受益于结构化图像编辑的营销与设计流程。
运行要求
通过 stdio 在本地运行,从 npm 包 gemini-image-studio-mcp 安装(需要 Node.js 和 npx)。需要 Google AI Studio 的 Gemini API 密钥,通过环境变量 GEMINI_API_KEY 提供。可选环境变量 OUTPUT_DIR 指定图像保存位置(默认 ./output)。需要访问 Google Gemini 的网络连接。
安装前请注意
需要保存在 GEMINI_API_KEY 中的 Gemini API 密钥,避免写入共享配置文件。图像提示和参考图会发送给 Google Gemini,启用搜索接地时查询会发送给 Google 搜索。生成可能产生 API 使用费用。服务器会把生成的图像和缓存的蓝图写入输出目录。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Gemini Image Studio,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

gemini-image-studio-mcp

MCP server for AI image generation and editing with Google Gemini. Create web assets, ad creatives, and brand visuals — with structured JSON editing for precise, repeatable control.

[npm version] [License: MIT]

What Makes This Different

Most Gemini image MCP servers are basic text-to-image wrappers. This one adds a structured editing pipeline:

  1. Generate an image from text or JSON prompts
  2. Decompose it into a structured JSON blueprint (every visual component mapped)
  3. Edit by changing specific fields — subject[0].hair.color: "platinum_blonde" — and regenerating

This means precise, isolated changes without affecting the rest of the image. Change a hair color without touching the background. Swap clothing without altering the pose. All through dot-notation JSON paths.

Features

  • 5 MCP Tools — generate, decompose, edit, presets, list
  • Structured JSON Editing — decompose images into blueprints, edit specific fields with dot-notation
  • Natural Language Editing — or just describe the change in plain English
  • 10 Built-in Presets — Facebook ads, Instagram stories, hero images, OG images, YouTube thumbnails, and more
  • Reference Image Support — up to 14 reference images for character/object consistency
  • Dual Model Support — Gemini 3.1 Flash (fast) or Gemini 3 Pro (best quality)
  • Blueprint Caching — decomposed blueprints cached alongside images for instant re-edits
  • Google Search Grounding — real-world accuracy via web search
  • Smart Error Handling — retry on rate limits, clear safety block messages, file size warnings

Quick Start

1. Get a Gemini API Key

Get one free at Google AI Studio.

2. Install

bash
npm install -g gemini-image-studio-mcp

3. Add to Claude Code

bash
claude mcp add gemini-image-studio-mcp -e GEMINI_API_KEY=your-key-here -- gemini-image-studio-mcp

Or add to your project's .claude/mcp.json:

json
{  "mcpServers": {    "gemini-image-studio-mcp": {      "command": "npx",      "args": ["-y", "gemini-image-studio-mcp"],      "env": {        "GEMINI_API_KEY": "your-key-here"      }    }  }}

4. Use It

Ask Claude to generate images:

"Create a Facebook ad for a coffee shop with warm lighting"

"Generate a hero image for a tech startup landing page"

"Edit the hero image — change the background to a sunset beach"

Tools

generate_image

Create a new image from text or structured JSON prompts.

ParameterTypeRequiredDescription
promptstringYesText description or JSON prompt
prompt_format"text" | "json"NoPrompt format (default: "text")
presetstringNoAsset preset (e.g., "facebook_ad", "hero_image")
aspect_ratiostringNoOverride ratio ("1:1", "16:9", "9:16", etc.)
image_size"1K" | "2K" | "4K"NoResolution (default: "1K")
model"flash" | "pro"NoGemini model (default: "flash")
reference_imagesstring[]NoPaths to reference images for consistency
output_namestringNoCustom filename
enable_search_groundingbooleanNoUse Google Search for accuracy

decompose_image

Analyze an image into a structured JSON blueprint — the first step of the edit workflow.

ParameterTypeRequiredDescription
image_pathstringYesPath to the image
detail_level"basic" | "detailed" | "exhaustive"NoGranularity (default: "detailed")

Returns a full blueprint with subject, scene, technical, composition, text_rendering, style_modifiers, and meta sections — each field precisely describing the image's visual components.

edit_image

Edit an image using JSON changes or natural language.

ParameterTypeRequiredDescription
image_pathstringYesPath to the image
edit_type"json" | "natural_language"YesEdit mode
changesobjectFor JSON editsDot-notation paths to change
instructionstringFor NL editsNatural language instruction
blueprintobjectNoBlueprint (auto-loaded from cache if omitted)
model"flash" | "pro"NoModel (default: "flash")
output_namestringNoCustom filename

JSON edit example — change hair color and add sunglasses:

json
{  "image_path": "/output/portrait.png",  "edit_type": "json",  "changes": {    "subject[0].hair.color": "platinum_blonde",    "subject[0].accessories": [      { "item": "sunglasses", "material": "metal", "color": "#C0C0C0" }    ]  }}

Natural language edit example:

json
{  "image_path": "/output/portrait.png",  "edit_type": "natural_language",  "instruction": "Change the background to a tropical beach at sunset. Keep the person exactly the same."}

get_presets

List available asset presets with dimensions, tips, and conventions.

ParameterTypeRequiredDescription
category"ad" | "web" | "social" | "all"NoFilter (default: "all")

list_generated

Browse previously generated images.

ParameterTypeRequiredDescription
filterstringNoSearch by filename
limitnumberNoMax results (default: 20)
include_blueprintsbooleanNoInclude cached blueprints

JSON Editing Workflow

The key differentiator — precise, field-level image editing:

Step 1: Generate  generate_image(prompt: "Professional headshot, navy blazer", preset: "linkedin_post")  → /output/headshot.png
Step 2: Decompose  decompose_image(image_path: "/output/headshot.png")  → JSON blueprint with every visual component mapped
Step 3: Edit (precise)  edit_image(    image_path: "/output/headshot.png",    edit_type: "json",    changes: {      "subject[0].clothing[0].color": "#8B0000",      "scene.lighting.type": "studio_softbox"    }  )  → /output/headshot-edit-1.png (blazer changed to dark red, lighting adjusted)
Step 4: Edit (creative)  edit_image(    image_path: "/output/headshot-edit-1.png",    edit_type: "natural_language",    instruction: "Add warm bokeh to the background"  )  → /output/headshot-edit-1-edit-1.png

Dot-Notation Paths

subject[0].hair.color          → Hair colorsubject[0].hair.style          → Hair stylesubject[0].clothing[0].color   → First clothing item colorsubject[0].accessories         → Add/change accessoriesscene.lighting.type            → Lighting typescene.location                 → Location/backgroundtext_rendering.text_content    → Text in imagetechnical.lens                 → Camera lenscomposition.framing            → Shot framingstyle_modifiers.aesthetic      → Aesthetic style

Built-in Presets

PresetCategoryAspect RatioDimensionsBest For
facebook_adAd1:11080x1080Facebook/Instagram feed ads
instagram_story_adAd9:161080x1920Instagram/Facebook story ads
google_display_bannerAd16:91200x628Google Display Network
hero_imageWeb21:92560x1080Above-the-fold hero sections
og_imageWeb16:91200x630Social share / link previews
product_cardWeb4:5800x1000E-commerce product grids
email_headerWeb3:1600x200Email marketing headers
linkedin_postSocial1:11080x1080LinkedIn feed posts
twitter_postSocial16:91200x675Twitter/X posts
youtube_thumbnailSocial16:91280x720YouTube thumbnails

Configuration

VariableRequiredDefaultDescription
GEMINI_API_KEYYes—Google AI Studio API key
OUTPUT_DIRNo./outputWhere generated images are saved

Integration

Claude Code

bash
claude mcp add gemini-image-studio-mcp -e GEMINI_API_KEY=your-key -- gemini-image-studio-mcp

Cursor

Add to .cursor/mcp.json:

json
{  "mcpServers": {    "gemini-image-studio-mcp": {      "command": "npx",      "args": ["-y", "gemini-image-studio-mcp"],      "env": {        "GEMINI_API_KEY": "your-key-here"      }    }  }}

Any MCP Client

bash
GEMINI_API_KEY=your-key npx gemini-image-studio-mcp

The server communicates over stdio using the Model Context Protocol.

MCP Prompt & Resource

This server also exposes:

  • Prompt: nano_banana_expert — invoke this to give Claude full knowledge of the JSON schema, editing best practices, and asset creation guidelines
  • Resource: nanobanana://schema/prompt — the raw JSON schema with all enum values for programmatic access

Models

ModelIDBest For
Flash (default)gemini-3.1-flash-image-previewFast generation, high volume, cost-effective
Progemini-3-pro-image-previewBest quality, complex scenes, professional assets

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Run tests (npm test)
  4. Commit your changes
  5. Push and open a PR

License

MIT

来源:README.md,提交 ef13138

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分