Image Edit MCP Server
AI-powered image editing and generation using Google's Gemini models, including image understanding, photorealistic generation, product image cleanup, and smart cropping.
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., "@Image Edit MCP ServerGenerate a photorealistic red ceramic mug on white background"
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.
Image Edit MCP Server
AI-powered image editing and generation server using the Model Context Protocol (MCP). Provides tools for intelligent image manipulation, cleanup, and generation using Google's Gemini AI models.
Features
Image Understanding: Ask questions about images using Gemini 2.5 Pro vision
Image Generation: Create photorealistic images from text using Imagen 4.0
Product Image Cleanup: Remove watermarks while preserving backgrounds
White Background Mode: E-commerce ready product images
Smart Crop: Center crop to 1:1 square format
Intelligent Expand: Fill borders with AI-matched backgrounds
AI Quality Reviews: Automatic quality assessment for generated/edited images
Related MCP server: Nano-Banana MCP Server
Tools
1. understand_image
Ask questions about image content using Gemini 2.5 Pro vision.
Parameters:
image_source(required): Local file path or URLquestion(optional): Your question about the image
Example:
{
"image_source": "/path/to/image.jpg",
"question": "What is the main product in this image?"
}2. generate_image
Generate photorealistic product images from text descriptions using Imagen AI.
Parameters:
description(required): Detailed image description (max 480 tokens)aspect_ratio(optional):1:1,2:3,3:2,3:4,4:3,4:5,5:4,9:16,16:9,21:9(default:1:1)
Example:
{
"description": "Red ceramic coffee mug, white background, studio lighting, macro lens, sharp focus, professional product photography, 4K",
"aspect_ratio": "1:1"
}3. clean_product_image
Remove watermarks and overlays while preserving original background.
Parameters:
input_path(required): Local file path or URLaspect_ratio(optional): Output aspect ratio (default:1:1)additional_instructions(optional): Extra instructions for AI
4. clean_product_image_white_bg
Remove watermarks and replace background with pure white + studio lighting.
Parameters:
input_path(required): Local file path or URLaspect_ratio(optional): Output aspect ratio (default:1:1)additional_instructions(optional): Extra instructions for AI
5. crop_image_to_square
Fast center crop to 1:1 square (1024x1024). No AI processing.
Parameters:
input_path(required): Local file path or URL
6. expand_image_to_square
Intelligently fill borders to create 1:1 square while preserving original content.
Parameters:
input_path(required): Local file path or URL
Installation
Prerequisites
Node.js 18+
pnpm (recommended) or npm
Google Gemini API key
Setup
Clone or download this repository:
cd ~/projects
git clone <repository-url> image-edit-mcp
cd image-edit-mcpInstall dependencies:
pnpm installCreate
.envfile:
cp .env.example .envAdd your Gemini API key to
.env:
GEMINI_API_KEY=your_api_key_here
# Optional: Use custom Gemini endpoint (e.g., proxy)
# GEMINI_BASE_URL=https://api2.aigcbest.topGet your API key from: https://aistudio.google.com/app/apikey
Note: The generate_image tool always uses the official Google API as imagen models are not supported by proxy endpoints. Other tools will use GEMINI_BASE_URL if configured.
Build the project:
pnpm buildConfiguration
Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"image-edit": {
"command": "node",
"args": ["/Users/shun/projects/image-edit-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here"
}
}
}
}With custom Gemini endpoint (optional):
{
"mcpServers": {
"image-edit": {
"command": "node",
"args": ["/Users/shun/projects/image-edit-mcp/dist/index.js"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here",
"GEMINI_BASE_URL": "https://api2.aigcbest.top"
}
}
}
}Note: generate_image always uses official Google API (imagen models not supported by proxies).
Other MCP Clients
The server communicates via stdio and can be used with any MCP-compatible client. Configure according to your client's documentation.
Output
All processed images are saved to your system's temporary directory with unique filenames:
macOS/Linux:
/tmp/image-edit-mcp/Windows:
C:\Users\{user}\AppData\Local\Temp\image-edit-mcp\
Output format: High-quality WebP (lossless, quality 100)
API Keys
Gemini API Key
Required for all image operations
Free tier: 15 requests per minute, 1500 requests per day
Get your key: https://aistudio.google.com/app/apikey
Note on Imagen
The generate_image tool uses a hardcoded official Google API key for compatibility. For production use, you should obtain your own Imagen API access.
Development
Build
pnpm buildWatch mode
pnpm devProject Structure
image-edit-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Environment configuration
│ ├── types.ts # TypeScript type definitions
│ └── tools/
│ └── images.ts # Image editing tools
├── prompts/ # AI prompts for image operations
├── dist/ # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── README.mdTroubleshooting
"GEMINI_API_KEY is required" error
Make sure your .env file contains a valid Gemini API key, or configure it in your MCP client settings.
Build errors
Try clearing the build cache and reinstalling:
rm -rf node_modules dist
pnpm install
pnpm buildImage generation fails
Check your API key is valid
Verify you haven't exceeded rate limits
Ensure your prompt is under 480 tokens
License
MIT
Credits
Built with:
Sharp for image processing
Available Tools
13 toolsclean_product_imageA
Remove watermarks, logos, and overlays while preserving original background and lighting. Keeps product features intact, maintains natural photography style. Supports aspect ratio adjustment (default 1:1). Outputs high-res WebP with AI review.
| Name | Required | Description | Default |
|---|---|---|---|
| input_path | Yes | Local file path or URL to the image to clean (e.g., '/path/to/image.jpg' or 'https://example.com/image.jpg') | |
| aspect_ratio | No | Aspect ratio for the output image. Options: '1:1' (1024x1024 square), '16:9' (~1408x768 wide), '9:16' (~768x1408 portrait), '4:3' (~1280x896 standard), '3:4' (~896x1280 portrait). Default: '1:1' | |
| additional_instructions | No | Optional additional instructions for the AI model (e.g., 'Make the product slightly brighter', 'Adjust color temperature to warmer') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that the operation preserves original background/lighting and product features, produces a high-res WebP, and includes an AI review step. It could add more about output delivery or how AI review can affect the result, but the coverage is solid for a transformation tool.
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?
Three concise sentences, each adding a distinct piece of information: core cleanup behavior, preservation/style guarantees, and output/aspect-ratio details. No fluff or redundancy.
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?
For a tool with no output schema and no annotations, the description covers the main behavior, preservation guarantees, output format, and a key parameter. The main gaps are the lack of explicit sibling differentiation and no detail about how the result is returned, but the description is still sufficient for an agent to understand what the tool does and call 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 input schema already documents input_path, aspect_ratio, and additional_instructions. The description adds the default aspect ratio (1:1) and output format, but does not add meaningfully to what the schema already provides for the other parameters.
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 states a specific verb ('Remove') with clear targets ('watermarks, logos, and overlays') and explicitly says what is preserved ('original background and lighting'). It also differentiates from the sibling clean_product_image_white_bg by emphasizing that the original background is retained.
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?
Usage context is implied through the description of what the tool does and preserves, but there is no explicit guidance on when to use this tool versus alternatives like clean_product_image_white_bg or crop_image_to_square. The preservation clause hints at the distinction from the white-background sibling, but does not name it or give exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clean_product_image_white_bgA
Remove watermarks/overlays and replace background with pure white (#FFFFFF) + professional studio lighting. E-commerce ready for Amazon/eBay/Shopify. Preserves product shape, colors, features. Supports aspect ratio adjustment (default 1:1). Outputs high-res WebP with AI review.
| Name | Required | Description | Default |
|---|---|---|---|
| input_path | Yes | Local file path or URL to the image to enhance (e.g., '/path/to/image.jpg' or 'https://example.com/image.jpg') | |
| aspect_ratio | No | Aspect ratio for the output image. Options: '1:1' (1024x1024 square), '16:9' (~1408x768 wide), '9:16' (~768x1408 portrait), '4:3' (~1280x896 standard), '3:4' (~896x1280 portrait). Default: '1:1' | |
| additional_instructions | No | Optional additional instructions for the AI model (e.g., 'Make the product slightly brighter', 'Adjust color temperature to warmer') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and largely delivers: it discloses what gets altered (watermarks, overlays, background, lighting), what is preserved (shape, colors, features), and the output form (high-res WebP with AI review). It could additionally disclose whether the input is overwritten or how the result is delivered, but this is well above the minimum for a no-annotation tool.
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?
Five short sentences, each earning its place: core transformation, e-commerce context, preservation guarantees, aspect-ratio support, and output format. The most important operation is front-loaded, and there is no fluff or repetition of schema content; only minor tightening would be possible.
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?
For a 3-parameter transformation tool with no annotations and no output schema, the description covers the operation, target platforms, preservation behavior, aspect-ratio defaults, and output format. The remaining gap is how the high-res WebP is returned to the caller (path/URL), which the agent would need for downstream pipeline steps.
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 coverage is 100%, so the schema fully documents input_path, aspect_ratio (enum values, output dimensions, and default), and additional_instructions. The description's 'default 1:1' mention merely restates the schema's aspect_ratio default, adding no new meaning, so the baseline 3 applies.
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 opens with a precise operation pair — 'Remove watermarks/overlays and replace background with pure white (#FFFFFF)' — including an exact color value, studio lighting, and preservation guarantees. This clearly differentiates it from the generic sibling clean_product_image and the generate_* tools, which create rather than transform. An agent can route correctly without opening the schema.
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?
'E-commerce ready for Amazon/eBay/Shopify' provides a clear use-case context: use this when preparing product listing images that need a white background. It stops short of a 5 because it does not explicitly name the generic clean_product_image alternative or state when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crop_image_to_squareA
Crop image to 1:1 square using center crop. Uses the shorter edge as crop size, then scales to 1024x1024. Fast, lossless operation without AI. Outputs high-res WebP.
| Name | Required | Description | Default |
|---|---|---|---|
| input_path | Yes | Local file path or URL to the image to crop (e.g., '/path/to/image.jpg' or 'https://example.com/image.jpg') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It clearly explains the crop method, output size, output format, and the fact that it is a non-AI, lossless operation. It does not explicitly state whether the original file is preserved or what the exact return value is, which keeps it from a 5.
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 three short, information-dense sentences with no filler. The core purpose is front-loaded, and every subsequent sentence adds useful detail about behavior, performance, or output format.
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?
For a single-parameter tool with no output schema, the description covers the operation and output well. It could be more complete by stating what the caller should expect as the return value (e.g., a file path or URL) and whether the operation creates a new file or modifies the original.
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 coverage for input_path is 100%, so the schema already documents the parameter well. The description does not add meaningful new semantic detail about the parameter itself; it describes the algorithm and output rather than the input path format.
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 states a specific verb and resource ('Crop image to 1:1 square') and adds precise algorithmic detail: center crop, shorter edge as crop size, and scaling to 1024x1024. This makes it clearly distinguishable from sibling tools like expand_image_to_square and 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 gives clear context for use: it is a fast, non-AI, lossless cropping operation producing a square image. It does not explicitly name alternatives or state when not to use it, but the use case is unambiguous and 'without AI' helps separate it from generation and editing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_imageA
Edit images based on text instructions using AI with support for multiple reference images. Modify colors, add/remove objects, change backgrounds, adjust lighting, apply artistic effects, or combine multiple images. Uses reference image(s) + text prompt for intelligent editing. Supports various aspect ratios. Outputs high-res WebP with AI quality review.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Detailed instructions for editing the image(s). Examples: 'Change the background to a sunset beach scene', 'Make the colors more vibrant', 'Add falling snow', 'Combine these images side by side', 'Remove the person in the background', 'Change the shirt color to blue', 'Blend these two images together' | |
| input_paths | No | Array of local file paths or URLs to reference images (e.g., ['/path/to/image1.jpg', '/path/to/image2.jpg'] or ['https://example.com/image.jpg']). Can be a single image or multiple images for combining/referencing. | |
| aspect_ratio | No | Aspect ratio for the output image. Options: '1:1' (1024x1024), '2:3' (832x1248), '3:2' (1248x832), '3:4' (864x1184), '4:3' (1184x864), '4:5' (896x1152), '5:4' (1152x896), '9:16' (768x1344), '16:9' (1344x768), '21:9' (1536x672). Default: preserves original aspect ratio |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the output format ('Outputs high-res WebP'), the presence of an 'AI quality review' step, and the ability to use multiple reference images. It does not state whether the original images are left untouched or how the output file is returned, but it adds substantial context beyond the schema.
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 well-organized: purpose first, then example operations, then mechanism, then output characteristics. It is a concise four sentences with no major fluff. There is mild redundancy between 'using AI' and 'intelligent editing', which prevents a perfect score.
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 no annotations and no output schema, the description should clarify prerequisites and return mechanics. It specifies the output format (WebP) and aspect ratio support, but does not clarify that reference image(s) are needed despite input_paths not being marked required, nor explain how the resulting WebP is returned (file path, base64, etc.). These gaps make it only adequately 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?
Schema description coverage is 100%, so the baseline is 3. The description repeats that the tool uses reference image(s) + text prompt, but the schema already documents prompt examples and input_paths formats. It adds clarity about combining multiple images, but no new syntax or format details, and leaves ambiguity about whether input_paths is effectively required.
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 opens with a specific verb+resource pair ('Edit images based on text instructions') and lists concrete operations (modify colors, add/remove objects, change backgrounds, combine multiple images). This clearly distinguishes it from siblings like generate_image (creates new images) and crop_image_to_square (mechanical transform). The mention of multiple reference images also sets it apart from single-image edit tools.
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 gives clear context for when to use the tool: whenever existing images need modification based on text instructions, including combining images. However, it does not explicitly name alternatives like generate_image or crop_image_to_square, nor state when not to use this tool, so it misses the explicit routing that would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
expand_image_to_squareA
Convert any aspect ratio to 1:1 square by intelligently filling border areas while preserving original content pixel-perfect. AI matches background style (solid/gradient/textured/environmental), continues lighting and perspective with seamless blending. Outputs 1024x1024 WebP with AI review.
| Name | Required | Description | Default |
|---|---|---|---|
| input_path | Yes | Local file path or URL to the image to expand (e.g., '/path/to/image.jpg' or 'https://example.com/image.jpg') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It discloses the style-matching behavior, continuation of lighting and perspective, seamless blending, output dimensions and format (1024x1024 WebP), and AI review. It does not state where the output is stored or how the result is returned, but the core behavior is transparent.
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?
Three compact sentences with no filler. The first sentence states the core action, the second explains the method, and the third specifies the output format. Every sentence earns 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?
For a one-parameter image transformation tool without an output schema, the description is complete enough for an agent to understand the input, transformation behavior, and output format. Nothing essential for selecting or invoking the tool is missing.
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%, and the only parameter input_path is fully documented in the schema. The description does not add parameter-level details, which is acceptable under the baseline rule for high schema coverage.
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 uses a specific verb ('convert') and resource ('any aspect ratio to 1:1 square'), then explains the mechanism: filling border areas while preserving original content. This clearly differentiates it from the sibling tool crop_image_to_square, which would remove content instead of expanding around it.
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 clear context for when to use the tool: when an image needs to become a 1:1 square without losing any original pixels. It implicitly contrasts with cropping by emphasizing border filling and pixel-perfect preservation, though it does not explicitly name alternatives or list exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_bracelet_model_wearingA
Generate realistic wrist close-up photo showing bracelet worn on model's wrist. Creates authentic luxury brand lifestyle photography helping customers visualize wearing the bracelet. Maintains accurate bead count and structure from references.
| Name | Required | Description | Default |
|---|---|---|---|
| aspect_ratio | No | Aspect ratio for the output image. Default: '1:1' (1024x1024 square) | |
| reference_image_urls | Yes | Array of reference image URLs or local file paths showing the bracelet from various angles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It adds a meaningful behavioral trait—'Maintains accurate bead count and structure from references'—which tells the agent the output will preserve bracelet fidelity. However, it does not disclose output format, potential variation or limitations, or any side effects; it says 'generate' so the action is clear but there is no detail on what the response contains. This is more than a bare restatement but less than a full behavioral profile.
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?
Three sentences, each with a distinct role: action, purpose, and fidelity guarantee. The core action is front-loaded, and there is no redundant wording; the phrase 'authentic luxury brand lifestyle photography' adds context rather than padding. Slightly promotional tone prevents a 5, but it remains tight.
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?
The tool is moderately simple with two parameters, but there are no annotations and no output schema, so the description must cover the call contract. It covers what will be generated and the fidelity promise, while the schema supplies defaults and requirements. It omits any explicit statement of output/return type (beyond 'photo') and does not mention the required reference_image_urls, though the schema fills that gap. Adequate but not comprehensive.
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 coverage is 100%: both reference_image_urls and aspect_ratio are described with types, enums, and defaults. The tool description adds no parameter-specific detail beyond noting that references are used to maintain accuracy, which is already implied by the parameter name. Baseline 3 applies.
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 opening sentence specifies a clear verb-resource pair: generate a 'realistic wrist close-up photo showing bracelet worn on model's wrist.' The 'model's wrist' detail sets it apart from siblings such as generate_bracelet_white_background and generate_bracelet_tabletop_elegant, and the product type distinguishes it from generate_necklace_model_wearing. Additional context about luxury lifestyle photography reinforces the intended output without muddying the core purpose.
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 conveys when this tool is useful: when the goal is to show the bracelet worn on a model's wrist as lifestyle photography that lets customers visualize the product. This is a clear context, though no explicit exclusions or alternative tool names are cited—the agent must infer the boundary against white-background and tabletop siblings. Thus it sits between implied and explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_bracelet_tabletop_elegantB
Generate elegant minimalist lifestyle photo of a bracelet on pure white tabletop. Creates clean, sophisticated product photography perfect for modern luxury e-commerce. Maintains accurate bead count and structure from references.
| Name | Required | Description | Default |
|---|---|---|---|
| aspect_ratio | No | Aspect ratio for the output image. Default: '1:1' (1024x1024 square) | |
| reference_image_urls | Yes | Array of reference image URLs or local file paths showing the bracelet from various angles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It adds a meaningful behavioral guarantee by stating it 'maintains accurate bead count and structure from references.' However, it does not disclose output constraints, style fidelity limits, or other behavioral boundaries.
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 compact and front-loaded with the core action. The second sentence is somewhat redundant with the first, but overall each sentence contributes useful context without excessive padding.
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?
The description defines the output style and key fidelity constraint, and the schema covers the parameters. However, it lacks usage guidance for choosing between highly similar sibling tools and provides no return/output expectations beyond the generated image.
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%, with both reference_image_urls and aspect_ratio already documented in the schema. The description only reinforces the role of reference images and adds no new parameter-level detail, so the baseline score of 3 is appropriate.
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 specifies the action, subject, and scene: generating an elegant minimalist lifestyle photo of a bracelet on a pure white tabletop. This differentiates it from model-wearing or white-background sibling tools, though it does not explicitly name alternatives.
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?
There is no stated guidance on when to use this tool versus related tools like generate_bracelet_model_wearing or generate_bracelet_white_background. The phrase 'perfect for modern luxury e-commerce' gives a rough context but no decision rules or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_bracelet_white_backgroundA
Generate premium white background product photo of a bracelet from reference images. Creates professional studio photography with pure white background, top-down circular layout. Maintains accurate bead count and structure from references.
| Name | Required | Description | Default |
|---|---|---|---|
| aspect_ratio | No | Aspect ratio for the output image. Default: '1:1' (1024x1024 square) | |
| reference_image_urls | Yes | Array of reference image URLs or local file paths showing the bracelet from various angles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description carries the full behavioral burden. It discloses meaningful output behavior beyond the tool name: professional studio photography, pure white background, top-down circular layout, and preservation of bead count and structure from references. It omits failure modes or limitations, but the material generated-output behavior is clearly stated.
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 short and front-loaded with the core purpose, and the second sentence adds useful behavioral qualifiers such as top-down layout and bead-count fidelity. There is mild redundancy around 'white background' and 'premium/professional', but no significant waste.
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?
For a two-parameter generation tool with a fully documented schema, the description provides enough invocation context: what images to expect, what output style to expect, and what fidelity guarantee is provided. The main gap is not routing the agent among the very similar bracelet/necklace product-photo siblings, but the core call context is 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?
Schema coverage is 100%, so the schema already documents the reference_image_urls and aspect_ratio parameters, including the default and enum values. The description adds little parameter-specific meaning beyond repeating the idea of using reference images, so the baseline score of 3 is appropriate.
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 uses a specific verb and resource ('Generate...product photo of a bracelet') and adds distinctive output details ('pure white background, top-down circular layout'). However, it does not explicitly contrast itself with siblings like generate_bracelet_tabletop_elegant or generate_bracelet_model_wearing, leaving some differentiation to inference.
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 intended use case is implied: creating a studio-style white-background bracelet photo from reference images. There is no explicit when-to-use or when-not-to-use guidance compared with the many similar sibling tools, so the agent must infer the boundary from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageA
Generate photorealistic product images from text descriptions using Imagen AI. Supports 5 aspect ratios (1:1, 16:9, 9:16, 4:3, 3:4), outputs high-res WebP with AI quality review.
Prompt structure: [Subject] + [Background] + [Style/modifiers] Example: 'Red ceramic mug, white background, studio lighting, macro lens, sharp focus, 4K'
Modifiers: camera angles (aerial/45-degree/eye level), lighting (natural/studio/dramatic), focus (sharp/soft/depth of field), lenses (macro/wide-angle), quality enhancers (4K/photorealistic/professional).
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | Detailed product image description (max 480 tokens). Follow the 3-element structure: [Subject details] + [Background/environment] + [Photography style/modifiers]. Example: 'Sleek silver smartwatch with black band, clean white background, studio lighting with soft shadows, macro lens, sharp focus, professional product photography, 4K quality' | |
| aspect_ratio | No | Aspect ratio for the output image. Options: '1:1' (1024x1024 square), '16:9' (~1408x768 wide), '9:16' (~768x1408 portrait), '4:3' (~1280x896 standard), '3:4' (~896x1280 portrait). Default: '1:1' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and discloses useful traits: output format (high-res WebP), AI quality review, supported aspect ratios, and accepted photography modifiers. It leaves some ambiguity about how the generated image is returned or what happens if quality review fails, but covers the core behavior.
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 well-organized into overview, prompt structure/example, and modifiers, with no filler. It front-loads the purpose and output constraints, and every section adds practical value for invocation.
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?
For a 2-parameter tool with 100% schema coverage and no output schema, the description is largely complete: it covers prompt construction, modifiers, aspect ratios, and output format. It does not fully explain return mechanics or explicitly distinguish when to prefer specialized sibling generators, so it is not a 5.
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 coverage is 100%, so the baseline is 3, but the description goes beyond the schema by defining a prompt structure and listing camera angles, lighting, focus, lens, and quality-enhancer options. This gives the agent practical guidance for constructing the description parameter, while aspect_ratio is already fully documented in the enum.
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?
States a specific verb and resource: 'Generate photorealistic product images from text descriptions using Imagen AI.' It also names concrete capabilities (5 aspect ratios, high-res WebP output) that set it apart from sibling edit/crop/clean tools and from specialized jewelry generators.
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 opening sentence provides a clear use case: create a new photorealistic product image from text. The prompt-structure guidance further clarifies how to use it. It does not explicitly name sibling alternatives or when-not-to-use cases, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_necklace_model_wearingA
Generate realistic neck close-up photo showing necklace worn on model. Frame from jawline/chin down to upper chest, focusing on elegant neck area and jewelry. Creates authentic luxury brand campaign photography.
| Name | Required | Description | Default |
|---|---|---|---|
| aspect_ratio | No | Aspect ratio for the output image. Default: '1:1' (1024x1024 square) | |
| reference_image_urls | Yes | Array of reference image URLs or local file paths showing the necklace from various angles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does describe output style, framing, and the 'authentic luxury brand campaign' aesthetic. It does not disclose return format, output details, or any generation caveats, but for a straightforward image generation tool this is a reasonable middle-ground disclosure.
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 compact at around three sentences and front-loads the core purpose. The framing detail and style note each add value, though 'neck close-up' and the jawline-to-chest framing are slightly redundant.
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?
The description adequately conveys the intended visual result and the schema fully documents parameters. However, with no output schema or annotations, a brief note on what the tool returns or how it processes multiple reference images would make it 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?
Schema description coverage is 100%, so both reference_image_urls and aspect_ratio are already documented in the input schema. The description adds no additional parameter-level meaning, which is acceptable under the high-coverage baseline.
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 generates a realistic close-up photo of a necklace worn on a model, with specific framing from jawline/chin to upper chest. The 'worn on model' and 'luxury brand campaign photography' phrasing effectively distinguishes it from sibling tools like generate_necklace_tabletop_elegant and generate_necklace_white_background.
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 clearly conveys that this tool is for necklace-on-model campaign-style imaging, giving strong contextual signals about when to use it. However, it does not explicitly name alternatives or state when not to use it, such as for tabletop or white-background shots.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_necklace_tabletop_elegantA
Generate elegant minimalist lifestyle photo of a necklace on pure white tabletop. Creates clean, sophisticated product photography perfect for modern luxury e-commerce. Maintains exact product design with accurate chain structure from references.
| Name | Required | Description | Default |
|---|---|---|---|
| aspect_ratio | No | Aspect ratio for the output image. Default: '1:1' (1024x1024 square) | |
| reference_image_urls | Yes | Array of reference image URLs or local file paths showing the necklace from various angles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining behavior. It adds useful behavioral detail beyond the name by stating that it 'maintains exact product design with accurate chain structure from references.' This tells the agent that reference images are used to preserve the necklace’s details rather than being merely inspirational.
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 only two sentences, with the core action and subject front-loaded. Every clause earns its place by either establishing the visual style, stating the purpose, or adding the key preservation guarantee.
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?
For a two-parameter generation tool with a fully documented schema, the description provides enough context to select and invoke it correctly: it names the subject, style, setting, and output purpose. It does not describe output format or dimensions, but that is not critical here given the simple image-generation nature and schema-defined aspect_ratio option.
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 coverage is 100%, so the baseline is 3, but the description adds meaning by explaining the role of the references: they preserve exact product design and chain structure. This goes beyond the schema's generic description of reference_image_urls as 'showing the necklace from various angles.'
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 opens with a specific action verb and resource: 'Generate elegant minimalist lifestyle photo of a necklace on pure white tabletop.' It further clarifies the style and use case, and the tabletop setting distinguishes it from sibling tools like generate_necklace_model_wearing and generate_necklace_white_background.
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 gives clear usage context by stating it is 'perfect for modern luxury e-commerce' and describes a clean, sophisticated product-photography aesthetic. It does not explicitly name alternatives or state when not to use it, but the intended scenario is evident enough for an agent to choose between this and sibling generation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_necklace_white_backgroundA
Generate premium white background product photo of a necklace from reference images. Creates professional studio photography with pure white background, suitable for e-commerce. Maintains exact product design from references while removing watermarks/logos.
| Name | Required | Description | Default |
|---|---|---|---|
| aspect_ratio | No | Aspect ratio for the output image. Default: '1:1' (1024x1024 square) | |
| reference_image_urls | Yes | Array of reference image URLs or local file paths showing the necklace from various angles (e.g., ['https://example.com/necklace1.jpg', '/path/to/necklace2.jpg']) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are present, the description carries the full behavioral disclosure burden. It provides real behavioral detail: the tool preserves the exact product design from references, removes watermarks/logos, and produces a pure white background. It stops short of documenting output return format or generation limitations, but what it states is meaningful and disambiguating.
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?
Three short sentences with no filler. The first states the core function, the second adds the style and use case, and the third adds the key behavioral guarantee. Every sentence earns 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?
For a two-parameter generation tool with a fully documented schema, the description covers the output style and the important value proposition. The absence of an output schema means no explicit return-format statement is given, but the tool name and description make the expected output an image, which is enough for correct invocation.
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 fully documents both parameters: aspect_ratio is an enum with default, and reference_image_urls includes format examples. The description's 'from reference images' merely restates the schema and adds no additional parameter-level meaning.
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 identifies a specific action (generate) and a specific deliverable (white background product photo of a necklace), with a clear output style: premium studio photography for e-commerce. It does not explicitly contrast sibling tools like tabletop or model-wearing, but the pure-white-background phrasing makes the intended niche discernible.
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 for e-commerce white-background product shots, which is useful context. However, it never explicitly says when to prefer this over siblings such as generate_necklace_tabletop_elegant or generate_necklace_model_wearing; the choice between them is mostly left to inference from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
understand_imageA
Ask questions about image content using Gemini 2.5 Pro vision. Extract text, identify objects, describe products, check quality, or get detailed descriptions. Accepts local file paths or URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| question | No | Your question about the image. If not provided, will describe the image in detail. | |
| image_source | Yes | Image source: local file path (e.g., '/path/to/image.jpg') or URL (e.g., 'https://example.com/image.jpg') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It clearly identifies the underlying model (Gemini 2.5 Pro vision), frames the operation as non-destructive Q&A, and states that both local paths and URLs are accepted. It does not discuss size limits or privacy implications, but there are no destructive or auth-related side effects to disclose.
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 sentences with no filler. It front-loads the core purpose, follows with concrete use cases, and ends with accepted input formats. Every sentence earns 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?
For a simple two-parameter vision Q&A tool with no output schema, the description covers the main invoke-time needs: what it does, which model powers it, accepted input sources, and common use cases. It could explicitly state that the response is text and that question is optional, but those are already implied by the wording and schema.
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 already documents both parameters with 100% coverage, so the description adds little parameter-level meaning beyond reinforcing that this is question-driven and can produce a detailed description. The baseline of 3 is appropriate because the schema carries the load.
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 uses a specific verb and resource ('Ask questions about image content') and enumerates concrete task types: extract text, identify objects, describe products, check quality, get detailed descriptions. This clearly distinguishes it from the sibling image generation/editing tools like generate_image and crop_image_to_square.
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?
It gives clear context for when to use this tool: any time the agent needs to understand, inspect, or describe an image rather than modify or generate one. It does not explicitly say 'do not use for editing', but the description and sibling set make that boundary obvious.
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.
13 tool updates
v1.0.0- First observed
clean_product_image - First observed
clean_product_image_white_bg - First observed
crop_image_to_square - First observed
edit_image - First observed
expand_image_to_square - First observed
generate_bracelet_model_wearing - First observed
generate_bracelet_tabletop_elegant - First observed
generate_bracelet_white_background - First observed
generate_image - First observed
generate_necklace_model_wearing - First observed
generate_necklace_tabletop_elegant - First observed
generate_necklace_white_background - First observed
understand_image
TDQS
Scored across 13 tools
Each tool has a clear action and subject, but a few close pairs (clean_product_image vs clean_product_image_white_bg and the white-background/tabletop necklace generators) could be confused if descriptions are skimmed. With careful reading, the targets are distinct enough for an agent to choose correctly.
Tool names generally follow a consistent verb_noun snake_case pattern and are readable. The minor abbreviation mismatch (white_bg vs white_background) and the mixed specificity of generation tool names prevent a perfect score.
13 tools is within a reasonable range and the core editing/analysis tools are well-scoped. The six specialized jewelry-generation tools make the set feel slightly broader than the generic 'image edit' server name suggests, but they do serve distinct output needs.
Core image workflows are covered: analyze, generate, edit, clean, crop, and expand. Minor gaps remain (e.g., arbitrary aspect-ratio changes and transparent-background output are not exposed as dedicated tools), though edit_image can approximate them.
Maintenance
Related MCP Connectors
MCP server for Qwen Image 3 AI image generation
MCP server for NanoBanana AI image generation and editing
A Model Context Protocol server for Wix AI tools
Multi-model AI image and video generator. 14 models behind one OAuth-secured MCP endpoint.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA server that provides AI-powered image generation, modification, and processing capabilities through the Model Context Protocol, leveraging Google Gemini models and other image services.18MIT
- 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
- FlicenseNot gradedqualityDmaintenanceA powerful Model Context Protocol (MCP) server for image processing, designed to empower AI models with advanced image manipulation capabilities.-
- AlicenseAqualityDmaintenanceMCP server for generating and editing images using Google Gemini API, with support for multi-turn iterative refinement.325 npmMIT