Gemini Image MCP
Provides tools for image generation and editing through the Google Gemini API, enabling capabilities such as text-to-image creation, prompt-based image editing, and multi-turn image manipulation sessions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gemini Image MCPGenerate a 16:9 cyberpunk city landscape and save it as city.png"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gemini-image-mcp
Gemini API를 활용한 이미지 생성/편집 도구. MCP 서버와 JS 모듈 두 가지 방식으로 사용 가능.
설치
cd gemini-image-mcp
npm installRelated MCP server: Nano-Banana MCP Server
API 키 설정
cp .env.example .env
# .env 파일에 실제 API 키 입력사용법 1: MCP 서버 (Claude Code)
claude mcp add --transport stdio gemini-image -- node server.js등록 후 Claude Code에서 자연어로 사용:
"고양이 이미지 하나 생성해서 cat.png로 저장해줘"
"cat.png에서 배경을 우주로 바꿔서 cat-space.png로 저장해줘"
"이미지 편집 세션 시작해서 산 풍경 그려줘" → "호수 추가해줘"
MCP 도구 목록
도구 | 설명 |
| 텍스트 → 이미지 생성 |
| 기존 이미지 + 프롬프트 → 편집 |
| 멀티턴 편집 세션 시작 |
| 세션 이어서 편집 |
| 설정 옵션 정보 확인 |
사용법 2: JS 모듈
import { generateImage, editImage, createSession } from './gemini-image.js';
// 이미지 생성
await generateImage('고양이', { output: './cat.png' });
// 이미지 편집
await editImage('./cat.png', '배경을 우주로', { output: './cat-space.png' });
// 멀티턴 세션
const session = createSession();
await session.send('산 풍경', { output: './v1.png' });
await session.send('호수 추가', { output: './v2.png' });
await session.sendWithImage('./photo.png', '스타일 변경', { output: './v3.png' });설정 옵션
aspectRatio:
"1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9"imageSize:
"1K"(기본),"2K","4K"model: 기본
gemini-3-pro-image-preview참고 문서: https://ai.google.dev/gemini-api/docs/image-generation?hl=ko
Available Tools
5 toolscontinue_image_sessionB
기존 멀티턴 세션을 이어서 이미지를 편집합니다. 이전 대화 맥락이 유지됩니다.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | start_image_session에서 받은 세션 ID | |
| prompt | Yes | 추가 편집 지시사항 | |
| outputPath | Yes | 결과 이미지를 저장할 파일 경로 | |
| imagePath | No | 추가로 참조할 이미지 경로 (선택사항) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions that 'previous conversation context is maintained', which is useful behavioral context about session state persistence. However, it lacks critical details like whether this is a read-only or mutation operation, what permissions are needed, how errors are handled, or if there are rate limits. For a tool with 4 parameters and no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences in Korean that efficiently convey the core purpose and key behavioral trait. Every word earns its place with no redundancy or fluff. It's appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., success confirmation, error details, or image metadata), doesn't cover error conditions, and provides minimal behavioral context beyond session continuity. For a session-based image editing tool, this leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain format constraints or provide examples). With high schema coverage, the baseline is 3 even without additional param details in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('continue') and resource ('multi-turn session') with the specific action 'edit images'. It distinguishes from siblings like 'start_image_session' by focusing on continuation rather than initiation. However, it doesn't explicitly differentiate from 'edit_image' which might also edit images but without session context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'previous conversation context is maintained', suggesting it should be used when there's an existing session. However, it doesn't explicitly state when NOT to use it or name alternatives like 'start_image_session' for new sessions or 'edit_image' for single edits without session continuity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageC
기존 이미지를 프롬프트에 따라 편집합니다
| Name | Required | Description | Default |
|---|---|---|---|
| imagePath | Yes | 편집할 원본 이미지 파일 경로 | |
| prompt | Yes | 이미지 편집 지시사항 | |
| outputPath | Yes | 편집된 이미지를 저장할 파일 경로 | |
| aspectRatio | No | 출력 이미지 비율 | |
| imageSize | No | 출력 이미지 크기 (기본: 1K) | |
| model | No | 사용할 모델 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic function. It doesn't disclose behavioral traits such as whether this is a destructive operation (overwrites original?), authentication needs, rate limits, error conditions, or what the output looks like (e.g., file saved confirmation). This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Korean that directly states the tool's function without waste. It's appropriately sized and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, mutation operation) and lack of annotations or output schema, the description is insufficient. It doesn't explain return values, error handling, or important behavioral context like file system interactions, leaving significant gaps for an AI agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional meaning beyond implying 'prompt' guides the edit, which is already clear from parameter descriptions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('edit') and resource ('existing image') with the mechanism ('according to prompt'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'generate_image' or 'continue_image_session', which likely involve image creation or modification in different contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'generate_image' (for new images) or 'continue_image_session' (for ongoing edits). The description implies usage for editing existing images with a prompt, but lacks explicit comparisons or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageC
텍스트 프롬프트로 이미지를 생성합니다
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | 이미지 생성을 위한 텍스트 프롬프트 | |
| outputPath | Yes | 생성된 이미지를 저장할 파일 경로 | |
| aspectRatio | No | 이미지 비율 (기본: 1:1) | |
| imageSize | No | 이미지 크기 (기본: 1K). 4K는 pro 모델만 지원 | |
| model | No | 사용할 모델 (기본: gemini-3-pro-image-preview) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates images from text prompts but lacks critical details: it doesn't mention whether this is a read-only or destructive operation, potential rate limits, authentication needs, or what happens on failure (e.g., error handling). For a generative tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Korean: '텍스트 프롬프트로 이미지를 생성합니다' (Generates an image from a text prompt). It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a straightforward tool. Every part of the sentence earns its place by clearly stating the action and input.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (generative with 5 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like side effects (e.g., file creation at 'outputPath'), error conditions, or return values. For a tool that creates outputs and has multiple configuration options, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly (e.g., 'prompt' for text input, 'outputPath' for file storage, enums for 'aspectRatio' and 'imageSize'). The description adds no additional meaning beyond what's in the schema, such as explaining parameter interactions or constraints. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '텍스트 프롬프트로 이미지를 생성합니다' (Generates an image from a text prompt). It specifies the verb ('생성합니다' - generates) and resource ('이미지' - image), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'edit_image' or 'continue_image_session', which would require more specific language about generation versus modification or continuation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'edit_image' for modifications or 'start_image_session' for session-based workflows, nor does it specify prerequisites or exclusions. Usage is implied only by the name and description, with no explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_image_config_infoB
이미지 생성/편집에 사용 가능한 설정 옵션 정보를 반환합니다
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool returns information, implying a read-only operation, but doesn't disclose behavioral traits like authentication requirements, rate limits, error conditions, or response format. For a tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Korean that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, with every word earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, no annotations, and no output schema, the description is minimally adequate. It explains what the tool does but lacks details on behavioral context, output format, or usage scenarios. For a simple info-retrieval tool, it meets the bare minimum but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter semantics, but that's acceptable given the lack of parameters. A baseline of 4 is appropriate as the schema fully covers the parameter situation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '이미지 생성/편집에 사용 가능한 설정 옵션 정보를 반환합니다' (Returns information about configuration options available for image generation/editing). It specifies the verb ('반환합니다' - returns) and resource ('설정 옵션 정보' - configuration option information), though it doesn't explicitly differentiate from sibling tools like 'generate_image' or 'edit_image'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing, or relationships with sibling tools such as 'generate_image', 'edit_image', 'start_image_session', or 'continue_image_session'. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_image_sessionC
멀티턴 이미지 편집 세션을 시작합니다. 이전 맥락을 유지하며 반복 수정이 가능합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | 첫 번째 이미지 생성/편집 지시사항 | |
| outputPath | Yes | 결과 이미지를 저장할 파일 경로 | |
| imagePath | No | 편집할 원본 이미지 경로 (없으면 텍스트로 새 이미지 생성) | |
| aspectRatio | No | 이미지 비율 | |
| imageSize | No | 이미지 크기 (기본: 1K) | |
| model | No | 사용할 모델 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'maintaining previous context' and 'allowing repeated modifications,' which gives some behavioral insight, but lacks critical details like whether this creates a persistent session, what authentication or permissions are needed, rate limits, or what happens if the session fails. For a tool with 6 parameters and no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that directly state the tool's purpose and key behavioral trait. It's front-loaded with the main action and wastes no words, though it could be slightly more structured by explicitly mentioning session initiation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what the tool returns, how sessions are managed, error handling, or prerequisites. For a tool that likely creates a stateful session, this leaves significant gaps for an AI agent to understand its full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, such as explaining interactions between parameters (e.g., how 'imagePath' and 'prompt' work together). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'starting a multi-turn image editing session that maintains previous context and allows repeated modifications.' It specifies the verb ('start') and resource ('image session'), but doesn't explicitly differentiate it from sibling tools like 'continue_image_session' or 'edit_image' beyond the 'start' aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'continue_image_session' or 'edit_image.' It mentions maintaining context for repeated modifications, but doesn't clarify if this is the only way to achieve that or when to choose it over other image tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
continue_image_session - First observed
edit_image - First observed
generate_image - First observed
get_image_config_info - First observed
start_image_session
TDQS
Scored across 5 tools
The tools are mostly distinct in purpose, with clear separation between image generation, editing, and configuration. However, 'edit_image' and the session tools ('start_image_session', 'continue_image_session') could cause some confusion, as both involve editing images, though the session tools explicitly handle multi-turn contexts.
All tool names follow a consistent verb_noun pattern (e.g., generate_image, edit_image, get_image_config_info). The naming is predictable and readable throughout, with no deviations in style or convention.
With 5 tools, the server is well-scoped for image generation and editing tasks. Each tool has a clear role, and the count is appropriate for covering core operations without being overly sparse or bloated.
The tool set covers key operations like generation, editing, and configuration, with added support for multi-turn sessions. A minor gap is the lack of a tool for deleting or managing images, but this is not critical for the core functionality, and agents can likely work around it.
Maintenance
Related MCP Connectors
Generate AI images, video, music, and sound effects, and upscale them, from any MCP client.
Generate AI images and videos from any compatible MCP client.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables image generation using Gemini native models, supporting both single prompts and batch processing via a file-based queue. It allows for detailed configuration of aspect ratios and models using YAML frontmatter across various MCP-enabled clients.313 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that provides AI image generation and editing capabilities using Google's Gemini 2.5 Flash Image API. It allows users to create new images from text, modify existing files, and perform iterative edits through natural language prompts.6403 npmMIT
- AlicenseAqualityCmaintenanceEnables AI image generation, editing, and upscaling via Google Gemini and Imagen models, supporting dynamic model switching and multiple MCP-compatible clients.12MIT
- AlicenseAqualityDmaintenanceEnables AI image generation via multiple providers (Yunwu, Gemini) with customizable aspect ratios, resolutions, and output settings, seamlessly integrating with MCP-compatible clients.14 npmMIT