Skip to main content
Glama

PyPI version Python versions License: AGPL-3.0

PixelForge MCP

An MCP server for AI-powered image generation, editing, analysis, and transformation using Google's Gemini and Imagen 4 models.

Features

  • 21 MCP tools for image generation, editing, analysis, transformation, and more

  • 6 models including Gemini image models and Imagen 4 family

  • Quality presets (fast/balanced/quality) for simplified model selection

  • Parallel multi-image generation via asyncio.gather

  • Image transforms — crop, resize, rotate, flip, blur, sharpen, grayscale, watermark

  • Prompt template library — 24 curated templates across 10 categories

  • Generation history — full audit trail with search and pagination

  • Batch processing — generate up to 10 images in parallel

  • Optional Vertex AI — upscaling (x2/x4) and advanced editing modes

  • Thinking mode & grounding — extended reasoning and Google Search for analysis

  • 14 aspect ratios (including panoramic) and temperature control

  • Async-first architecture with full Pydantic validation

  • EXIF metadata embedding (prompt, model, timestamp)

Related MCP server: Gemini Gen MCP

Quick Start

Requirements: Python 3.10+ and a Google API key

Install

pipx install pixelforge-mcp

Configure

Claude Code

claude mcp add pixelforge --scope user -e GOOGLE_API_KEY="your-key" -- pixelforge-mcp

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "pixelforge": {
      "command": "pixelforge-mcp",
      "env": {
        "GOOGLE_API_KEY": "your-key"
      }
    }
  }
}

VS Code

code --add-mcp '{"name":"pixelforge","command":"pixelforge-mcp","env":{"GOOGLE_API_KEY":"your-key"}}'

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "pixelforge": {
      "command": "pixelforge-mcp",
      "env": {
        "GOOGLE_API_KEY": "your-key"
      }
    }
  }
}

Kiro

kiro-cli mcp add --name pixelforge --scope global --command pixelforge-mcp --env "GOOGLE_API_KEY=your-key"

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "pixelforge": {
      "command": "pixelforge-mcp",
      "env": {
        "GOOGLE_API_KEY": "your-key"
      }
    }
  }
}

Restart Claude Desktop after saving.

Use

Ask Claude to generate, edit, or analyze images — all 21 tools are available automatically.

Available Tools

Generation

Tool

Description

generate_image

Generate images from text (6 models, 14 aspect ratios, quality presets, parallel multi-image)

edit_image

Modify existing images with text prompts

remove_background

Remove image background (transparent or white)

transform_image

Crop, resize, rotate, flip, blur, sharpen, grayscale, or watermark

batch_generate

Generate up to 10 images in parallel from multiple prompts

Analysis

Tool

Description

analyze_image

AI-powered image description with optional grounding

extract_text

OCR — extract text with confidence levels

detect_objects

Detect objects with bounding boxes

compare_images

Compare 2-10 images for differences

Utility

Tool

Description

optimize_prompt

Enhance prompts for better image generation (14 styles)

estimate_cost

Calculate generation costs per model/operation

list_templates

Browse 24 curated prompt templates across 10 categories

apply_template

Fill a template with your subject for a ready-to-use prompt

list_available_models

Model capabilities, speed, quality, and selection guidance

get_server_info

Server configuration and status

History

Tool

Description

list_history

Browse generation history with pagination and filtering

get_generation_details

Get full details of a specific generation

Vertex AI (Optional)

Tool

Description

upscale_image

Upscale images x2 or x4 (requires Vertex AI)

advanced_edit

Inpainting, outpainting, background swap, style transfer (requires Vertex AI)

Model Selection

PixelForge supports per-request model switching with 6 models:

Gemini Models (via Gemini API)

Use case

Model

Why

Fast iterations

gemini-2.5-flash-image (default)

Cheapest, lowest latency

Panoramic & grounded

gemini-3.1-flash-image-preview

1:4/4:1/1:8/8:1, web+image grounding

Max text fidelity

gemini-3-pro-image-preview

~94% accuracy, complex multi-turn edits

Imagen 4 Models (via Gemini API)

Use case

Model

Why

Cost-effective batch

imagen-4.0-generate-001

$0.04/img, excellent quality

Cheapest generation

imagen-4.0-fast-generate-001

$0.02/img, fastest

Maximum quality

imagen-4.0-ultra-generate-001

$0.06/img, best output

Quality Presets

Instead of choosing a model manually, use quality presets:

generate_image(prompt="...", quality="fast")      # gemini-2.5-flash-image
generate_image(prompt="...", quality="balanced")   # gemini-3.1-flash-image-preview + 1K
generate_image(prompt="...", quality="quality")    # gemini-3-pro-image-preview + 2K

Vertex AI (Optional)

For advanced features like image upscaling and specialized editing modes:

  1. Set up a Google Cloud project with Vertex AI enabled

  2. Set the environment variable: GOOGLE_CLOUD_PROJECT=your-project-id

  3. Install the Vertex AI dependency: pip install pixelforge-mcp[vertex]

PixelForge auto-detects Vertex AI credentials and unlocks upscale_image and advanced_edit tools.

Supported Aspect Ratios

Ratio

Description

1:1

Square (default)

16:9

Widescreen landscape

9:16

Mobile portrait

2:3

Classic portrait

3:2

Classic landscape

3:4

Portrait

4:3

Traditional landscape

4:5

Instagram portrait

5:4

Medium format

21:9

Ultrawide

1:4

Tall panoramic*

4:1

Wide panoramic*

1:8

Extra tall panoramic*

8:1

Extra wide panoramic*

* Panoramic ratios require gemini-3.1-flash-image-preview model

Troubleshooting

"Invalid API key" or "Authentication failed"

Double-check your Google API key is correct and has access to the Gemini API. Get a key at Google AI Studio.

"Command not found: pixelforge-mcp"

Ensure the pipx bin directory is in your PATH:

export PATH="$HOME/.local/bin:$PATH"

"Server not starting"

Check that pixelforge-mcp is installed:

pipx list | grep pixelforge

Vertex AI features not available

Ensure GOOGLE_CLOUD_PROJECT is set and google-cloud-aiplatform is installed:

pip install pixelforge-mcp[vertex]

Documentation

Contributing

See CONTRIBUTING.md for development setup, code standards, and pull request guidelines.

License

AGPL-3.0

Acknowledgments

Built with FastMCP, Pydantic, and google-genai.

Author

Ahmed Al-Eryani @ Tehnolabs


PixelForge MCP - Forging pixels with AI

Available Tools

19 tools
advanced_editC

Advanced image editing with specialized modes (requires Vertex AI).

This feature requires Google Cloud Vertex AI credentials. Set GOOGLE_CLOUD_PROJECT environment variable to enable.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesEdit instruction
edit_modeYesOne of: inpaint_removal, inpaint_insertion, outpaint, background_swap, style_transfer, product_image
mask_pathNoOptional mask image for inpainting operations
image_pathYesPath to the image to edit
output_formatNoOutput format (png, jpeg, webp)png
output_filenameNoCustom output filename (optional)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states requirements (Vertex AI) but does not explain error behavior, side effects, image handling, or limitations. Lacks depth for a complex tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose and requirement. No redundant information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description lacks operational context: no explanation of edit modes, mask usage, or expected outcomes. For a tool with 6 parameters and complex modes, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the parameter descriptions already in the schema. It does not explain param relationships or typical usage patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Advanced image editing with specialized modes,' which clearly indicates the tool's purpose and distinguishes it from simpler editing tools like edit_image. However, it does not explicitly contrast with siblings, so it's not a full 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions prerequisites (Vertex AI credentials, environment variable) but provides no guidance on when to use this tool versus alternatives like edit_image or transform_image. No when-not-to-use or selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_imageC

Analyze an image and get a detailed description.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptNoCustom analysis prompt. Default: general description.
image_pathYesPath to the image to analyze
use_groundingNoEnable Google Search grounding for more accurate, factual analysis results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosure. It only says 'get a detailed description,' omitting any behavioral details such as supported image formats, computational requirements, or whether it modifies files.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core purpose. It is concise but could benefit from slightly more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description is adequate but incomplete for contextualizing the tool among many siblings. It lacks guidance on when to use this tool over others.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are fully described in the input schema (100% coverage), so the description does not need to add more. It does not contradict or provide additional parameter context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes an image and returns a detailed description, but it does not differentiate from sibling tools like detect_objects or extract_text, which also perform image analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The agent has no context to decide between this and similar image analysis tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

apply_templateC

Apply a prompt template with a subject to generate a ready-to-use prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesThe subject to fill into the template (e.g., 'wireless headphones', 'coffee shop')
template_nameYesName of the template (e.g., 'product_hero', 'instagram_post'). Use list_templates() to see all.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It only states the output ('ready-to-use prompt') but does not disclose any behavioral traits such as side effects, required permissions, or whether the template is modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no extraneous words. It front-loads the action and outcome, though it could benefit from slightly more detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple two-parameter tool with existing output schema, the description is adequate but minimal. It does not explain how templates work or that template_name should be obtained from list_templates, though this is hinted in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter descriptions are already detailed with examples and references. The tool description adds no additional meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool applies a prompt template with a subject to generate a prompt. The verb 'apply' and the resources 'template' and 'subject' are specific. However, it does not differentiate from siblings like list_templates or optimize_prompt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use, or references to sibling tools that might provide related functionality.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_generateA

Generate multiple images in parallel from a list of prompts.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use for all generations (optional)
promptsYesList of text prompts (1-10)
qualityNoQuality preset (fast, balanced, quality)
aspect_ratioNoAspect ratio for all images (default: 1:1)1:1
output_formatNoOutput format for all images (default: png)png

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that generation occurs 'in parallel', which is a key behavioral trait. However, without annotations, it omits details on concurrency limits, error behavior, or cost implications, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no superfluous information, earning high marks for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and 100% parameter coverage, the description sufficiently covers the core purpose and parallel behavior. It lacks depth on limitations or prerequisites but is adequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds minimal value beyond what the schema provides. It does clarify the batch nature of the 'prompts' parameter but does not add new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'generate', the resource 'images', and specifies 'multiple' and 'in parallel from a list of prompts'. This distinguishes it from single-image generation tools like generate_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for batch generation from multiple prompts, which is distinct from single prompt tools. However, it does not explicitly state when to use this over alternatives or provide any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_imagesA

Compare two or more images and analyze differences.

Useful for A/B testing, design review, before/after comparison, and change detection.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptNoComparison focus (e.g. "color differences"). Default: general comparison.
image_pathsYesPaths to 2+ images to compare
use_groundingNoEnable Google Search grounding for more accurate, factual results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must reveal behavioral traits. It only states the basic function and does not disclose whether the tool modifies images, requires special permissions, or what the output format is (despite having an output schema). The description lacks details about side effects, constraints, or exact analysis capabilities.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The first sentence delivers the core purpose, and the second lists relevant use cases. No redundant or unnecessary words, well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, the description does not need to explain return values. It adequately covers the tool's purpose and use cases. However, it could mention that the tool supports more than two images (implied by '2+' in schema) or hint at output type, but overall it provides sufficient context for a simple comparison tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description does not add additional context beyond the schema, such as clarifying the effect of 'use_grounding' or the format of 'prompt'. Baseline 3 is appropriate as the description adds no extra value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Compare two or more images and analyze differences.' It identifies the specific action (compare) and resource (images), and lists use cases like A/B testing and design review, which distinguishes it from siblings like edit_image or detect_objects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists common use cases ('Useful for A/B testing, design review, before/after comparison, and change detection'), giving context for when to use it. However, it does not explicitly exclude alternatives or provide when-not-to-use guidance, missing an opportunity to differentiate from similar tools like analyze_image.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_objectsA

Detect objects in an image with bounding boxes.

Uses Gemini's zero-shot object detection. Returns bounding box coordinates normalized to 0-1000 scale as [y_min, x_min, y_max, x_max].

ParametersJSON Schema
NameRequiredDescriptionDefault
objectsNoSpecific objects to detect (e.g. "cats and dogs"). Default: detect all visible objects.
image_pathYesPath to the image
use_groundingNoEnable Google Search grounding for more accurate, factual results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It reveals the method (Gemini zero-shot) and output scale (0-1000), but does not mention whether the tool is read-only, permissions needed, or any side effects. With annotations absent, more detail would be expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states the primary action, the second adds the method and output format. No extraneous words, front-loaded, and efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (context: has output schema true), the description does not need to detail return values, but it succinctly describes the output format. It lacks context on supported image formats, error handling, or performance considerations, but covers the essentials. A minor gap prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with detailed descriptions for all 3 parameters. The description does not add new parameter information beyond the schema, which is acceptable. Baseline 3 applies because the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Detect' and the resource 'objects in an image with bounding boxes'. It distinguishes from siblings like analyze_image and extract_text by specifying the output format (normalized bounding box coordinates) and the method (Gemini's zero-shot detection).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for object detection but does not explicitly state when to use this tool over alternatives (e.g., analyze_image for general analysis, extract_text for text detection). No guidance on prerequisites or exclusions is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_imageC

Edit an existing image using a text prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel override. "gemini-3-pro-image-preview" best for complex multi-turn edits.
promptYesDescription of the desired changes
temperatureNoCreativity level 0.0-2.0
output_formatNoFile format: "png", "jpeg", or "webp"png
output_filenameNoCustom filename for edited image (optional)
input_image_pathYesPath to the image to edit

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description fails to disclose behavioral traits such as whether edits are destructive, file handling details, or permission requirements. Only a basic purpose is given, leaving significant gaps for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. However, given the tool's complexity (6 parameters), slightly more structure or additional context could be beneficial while remaining concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and well-documented parameters, the description is too sparse for a 6-param tool. It lacks context on typical usage, error handling, or relationship to other tools, leaving the agent without sufficient guidance for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are documented. The description adds no extra meaning beyond the schema; it only restates the overall purpose. Baseline of 3 is appropriate as the schema carries the weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (edit) and resource (existing image) using a text prompt. While it is specific, it does not explicitly distinguish from siblings like 'generate_image' or 'advanced_edit', but the naming and context imply the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like 'advanced_edit' or 'transform_image'. No when-not-to-use or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_costA

Estimate the cost of an image operation.

Shows pricing per model per operation to help with budgeting.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to estimate for (default: all models)
operationYes"generate", "edit", or "analyze"
number_of_imagesNoNumber of images (default: 1)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It discloses that it shows pricing per model per operation, which implies no side effects. However, it does not explicitly state it is read-only or that it does not perform the actual operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first clearly states purpose, second adds valuable detail. No fluff, highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the core functionality and what it returns (pricing per model per operation). With an output schema present, the description is sufficiently complete for a simple tool, though it could briefly mention that it does not execute the operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions. The description adds context about showing pricing per model per operation, but does not add meaning beyond the schema for any parameter, meeting baseline with minor addition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it estimates cost of an image operation, using specific verb 'estimate' and resource 'cost of an image operation'. It distinguishes from sibling tools that perform actual operations 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. It does not mention prerequisites, when not to use, or suggest alternative tools for different purposes, leaving the agent without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_textA

Extract text from an image using OCR.

Uses Gemini's vision capabilities for high-quality text extraction. Works with screenshots, documents, signs, handwriting, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_pathYesPath to the image to extract text from
use_groundingNoEnable Google Search grounding for more accurate, factual results.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, rate limits, or output format. The mention of 'high-quality' is subjective and not actionable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no redundancy, front-loading the core purpose. Every sentence adds value, making it very concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple tool with output schema and full parameter coverage, the description adequately defines the tool's purpose and use cases. Missing details like output format or limitations are partially compensated by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents parameters. The description does not elaborate on parameters beyond the schema, but the context 'Google Search grounding' adds minimal value to the boolean parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool extracts text from images using OCR, specifying the resource (image) and action (extract text). Distinguishes from sibling tools like analyze_image and detect_objects by focusing on text extraction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides examples of supported image types (screenshots, documents, signs, handwriting), helping users understand applicable scenarios. However, lacks explicit when-not-to-use or comparison with alternatives like analyze_image.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageC

Generate an image from a text prompt using Google Gemini.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel override. Options: - "gemini-2.5-flash-image" (default): Fast, cheap - "gemini-3-pro-image-preview": Best text, complex edits - "gemini-3.1-flash-image-preview": Panoramic, fast 4K
promptYesText description of the image to generate
qualityNoQuality preset: "fast" (cheapest), "balanced" (good quality), or "quality" (best output). Mutually exclusive with 'model'.
image_sizeNoResolution: "1K" (default), "2K", or "4K"
temperatureNoCreativity level 0.0-2.0
aspect_ratioNoImage dimensions (1:1, 16:9, 9:16, etc.)1:1
output_formatNoFile format: "png", "jpeg", or "webp"png
safety_settingNoSafety filter (preset:strict, preset:relaxed)preset:strict
output_filenameNoCustom filename (optional, auto-generated if not provided)
thinking_budgetNoThinking budget for extended reasoning (0-24576 tokens). Higher = deeper reasoning.
number_of_imagesNoGenerate 1-4 variations (default: 1)
reference_imagesNoPaths to reference images for style/character consistency (up to 14 images)
person_generationNoPeople in images: "allow", "adults_only" (no minors), or "block" (no people). Only enforced with Imagen models. Gemini has built-in person restrictions.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It does not mention safety, cost, rate limits, or whether the operation is pure generation. The single sentence is insufficient for a tool with 13 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence. It is concise but could be expanded with key details without becoming verbose. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (13 parameters, many sibling tools) and the presence of an output schema, the description is too brief. It omits expected context like output format, variation generation, or reference image support, relying entirely on the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 adds no parameter-level detail beyond the schema, but the schema itself is well-documented (e.g., model options, quality). The description's silence does not degrade the score below baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'generate' and resource 'image', specifying the action and input source (text prompt) and model (Google Gemini). It implicitly distinguishes from siblings like edit_image or analyze_image, but does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., edit_image, upscale_image). No context on prerequisites or exclusions. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_generation_detailsA

Get details of a specific generation by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
generation_idYesThe generation ID (from list_history)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. The description states 'Get details', which implies a read-only operation with no side effects. However, it does not disclose other behavioral traits such as authentication requirements, rate limits, or whether the generation must belong to the current user. The presence of an output schema partially mitigates this, but the description alone provides minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the essential purpose. It contains no wasted words but could benefit from structured sections or additional context (e.g., mentioning the source of the ID). However, for a simple tool, this level of conciseness is effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity, a single required parameter, and the presence of an output schema, the description is minimally complete. However, it does not explicitly tie this tool to the broader workflow (e.g., using list_history first) or explain what 'details' entails. The param description partially fills this gap, but the main description could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 tool description adds no extra meaning beyond what the input schema already provides: the schema already describes generation_id as 'The generation ID (from list_history)'. The description only restates 'by ID', which is redundant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get details of a specific generation by ID' clearly identifies the action (getting details), the resource (a specific generation), and the method (by ID). It distinguishes this tool from siblings like list_history (which lists generations) and generate_image (which creates), making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. However, the parameter description for generation_id mentions 'from list_history', implicitly suggesting a workflow where list_history is used first. No explicit exclusions or context for when not to use this tool are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_server_infoA

Get MCP server configuration, capabilities, and available tools.

Returns: Dictionary with server info and feature overview

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It states the tool 'Get's' information, implying a read-only operation, but does not explicitly mention side effects, authentication needs, or rate limits. It is adequate but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences, front-loaded with the action and resource, followed by a return type note. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, no parameters, and existence of an output schema, the description adequately covers purpose and return type. It does not explain output fields (handled by schema) nor potential delays, but it is largely complete for an info retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description adds no param-specific meaning. Per guidelines, baseline is 4 for zero params, and the schema coverage is trivially 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'MCP server configuration, capabilities, and available tools.' The verb 'Get' and specific resources make the purpose unambiguous, and it distinguishes itself from siblings, which focus on image editing or generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, avoiding any mention of context, prerequisites, or conditions. Although the purpose is clear, it lacks explicit usage recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_available_modelsA

List all available image generation models with capabilities.

Returns model details including speed, quality, resolution support, and best use cases. Use this to pick the right model for your task.

Returns: Dictionary with model details and selection guidance

Example: list_available_models()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It details what the function returns (model details: speed, quality, resolution, best use cases) and mentions return type. No behavioral caveats are needed for a read-only list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two short paragraphs and an example call. No redundant information; every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with zero parameters and an output schema, the description fully explains the purpose, return content, and even provides an example. It is complete and helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. The description adds value by explaining the outputs and selection guidance, which goes beyond the empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('all available image generation models'), clearly distinguishing it from sibling tools that generate or modify images. It adds context about capabilities and best use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use this to pick the right model for your task,' which guides when to call it. However, it does not explicitly state when not to use it or mention alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_historyC

List recent generation history.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum entries to return (default: 20)
offsetNoSkip this many entries (for pagination)
tool_filterNoFilter by tool name (generate_image, edit_image, etc.)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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 merely says 'list', implying read-only, but doesn't confirm safety, describe pagination behavior, or mention that an output schema exists. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence) with no wasted words, but lacks structure for an AI agent (no separation of purpose, usage, or example). It is terse rather than efficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has three parameters (all optional) and an output schema, the description is inadequate. It omits explanations of pagination (limit/offset), filtering (tool_filter), and what history includes. Agent cannot fully grasp tool scope from description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already documents all three parameters (limit, offset, tool_filter) with descriptions. The tool description adds no extra context or meaning beyond the schema, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List recent generation history' clearly states the action (list) and resource (generation history). It effectively conveys the core purpose and distinguishes from sibling tools (no other history listing tool). However, it could be more specific about 'generation' context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., get_generation_details). No exclusions or prerequisites mentioned. The agent receives no help in deciding between tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesB

List available prompt templates for image generation.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category (product_photography, social_media, illustration, portrait, architecture, food, fashion, abstract, logo, panoramic). Omit for all.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully disclose behavior. It implies a read-only listing but lacks details on pagination, ordering, or return format, which is insufficient for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, efficiently conveying the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and an output schema, the description is minimally adequate. However, given the presence of related siblings, more contextual details (e.g., template format, common use cases) would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter's semantics are fully documented in the schema. The tool description adds no extra meaning beyond the schema, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available prompt templates for image generation, using specific verb and resource. However, it does not differentiate from sibling tools like 'apply_template' or 'generate_image', which could cause ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 or when not to use it. With multiple sibling tools that interact with templates, explicit context would be beneficial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_promptA

Enhance a basic prompt for dramatically better image results.

Uses AI to add details about lighting, composition, colors, textures, and artistic techniques. The #1 way to improve generation quality.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoTarget style (optional): photorealistic, illustration, 3d_render, pixel_art, watercolor, oil_painting, sketch, anime, cinematic, product_photo, architecture, food, fashion, abstract
promptYesBasic prompt to enhance

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes the AI augmentation process transparently (adds lighting, composition, etc.). No annotations provided, so the description carries full weight; it discloses the main behavioral trait of enhancing prompts without mentioning side effects or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences front-loaded with the core purpose, then supporting details. No superfluous words; every sentence earns its place. Under 50 characters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, two parameters with full schema coverage, and an output schema (existed in context), the description is adequately complete. It lacks details about prerequisites or limitations but covers the essential function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters have descriptions in the schema. The tool description repeats that style is optional and mentions possible values, but adds no new semantics beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it enhances prompts for better image generation, with specific details like lighting and composition. It distinguishes from siblings like generate_image by focusing on prompt optimization, but does not explicitly contrast with alternatives like apply_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings such as generate_image or edit_image. The claim 'the #1 way to improve generation quality' implies a use case but lacks context for when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_backgroundA

Remove the background from an image.

Uses AI to isolate the main subject and remove the background. Best results with clear subjects against distinct backgrounds.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_pathYesPath to the image
output_formatNo"png" (default, supports transparency), "jpeg", or "webp"png
output_filenameNoCustom filename for result (optional)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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 discloses that the tool uses AI to isolate the main subject, but it does not describe the output format or any side effects (e.g., whether the original file is modified). The behavior is adequately described but lacks comprehensive detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no unnecessary words. The action is front-loaded, and the usage tip is concise. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides the core purpose and a usage tip. An output schema exists (context indicates true), so return values do not need explanation. However, it does not mention what happens to the result (e.g., saved to a file) or any prerequisites. Slightly incomplete but sufficient for a focused tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all parameters with descriptions. The description adds no additional meaning to the parameters beyond stating the overall purpose. Since schema coverage is 100%, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Remove the background from an image.' It distinguishes itself from sibling tools that perform other image manipulations like editing, transforming, or upscaling. The verb-resource pair is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a usage tip: 'Best results with clear subjects against distinct backgrounds.' This provides practical guidance on when the tool works best, though it does not explicitly list when not to use it or mention alternative tools for different scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transform_imageC

Transform an image using Pillow operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
textNoWatermark text
widthNo
factorNoSharpness factor (default: 2.0, >1 = sharper)
heightNo
radiusNoBlur radius (default: 2.0)
degreesNoRotation angle in degrees
opacityNoWatermark opacity 0.0-1.0 (default: 0.5)
positionNoWatermark position (default: 'bottom-right')bottom-right
directionNoFlip direction ('horizontal' or 'vertical')
operationYesOne of: crop, resize, rotate, flip, blur, sharpen, grayscale, watermark
image_pathYesPath to the image to transform
output_formatNoOutput format (png, jpeg, webp)png
maintain_aspectNoKeep aspect ratio when resizing (default: True)
output_filenameNoCustom output filename (optional)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It mentions 'using Pillow operations' but does not state whether the original file is modified or if a new file is created, nor does it address authorization or side effects. The return value is not described despite an output schema existing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one sentence) but omits important details that would help an agent use the tool correctly. It is not overly verbose, but could be restructured to include key constraints upfront.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 16 parameters and an output schema, the description is too brief to be complete. It does not explain which parameters apply to which operations, nor does it provide context for the tool's role among siblings. The output schema exists but the description does not reference it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 75% schema description coverage, the input schema already documents most parameters. The description adds no extra meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Transform an image using Pillow operations' states the basic action and technology but does not distinguish from sibling tools like edit_image, upscale_image, or remove_background, which also transform images. The title is null, further reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the many alternative image tools. There is no mention of prerequisites, exclusions, or typical use cases, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upscale_imageA

Upscale an image to higher resolution (requires Vertex AI).

This feature requires Google Cloud Vertex AI credentials. Set GOOGLE_CLOUD_PROJECT environment variable to enable.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_pathYesPath to the image to upscale
output_formatNoOutput format (png, jpeg, webp)png
upscale_factorNoScale factor: "x2" (double) or "x4" (quadruple)x2
output_filenameNoCustom output filename (optional)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description discloses the requirement of Vertex AI credentials but does not mention behavioral traits such as whether the original image is modified, cost implications, or error handling. For a non-destructive read-like operation, this is adequate but not exemplary.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two short, front-loaded sentences with no extraneous information. Every sentence adds value: the first defines the action and dependency, the second explains setup.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (context indicates true), the description covers the essential purpose and a key prerequisite. With 4 parameters and 1 required, it is fairly complete for a straightforward upscaling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 does not add additional meaning beyond the schema; it only restates the requirement for credentials. No parameter details are elaborated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Upscale an image to higher resolution'. This is a specific verb+resource pair, and it distinguishes itself from sibling tools like edit_image or remove_background.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit prerequisites: requires Vertex AI and the environment variable GOOGLE_CLOUD_PROJECT. It does not compare directly with alternatives, but the context is sufficient for when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes, but 'advanced_edit' and 'edit_image' overlap in description, potentially causing confusion. The analysis tools are well-differentiated.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., 'generate_image', 'list_templates'), with no mixed conventions.

Tool Count4/5

19 tools is slightly above the typical ideal range but still well-scoped for a comprehensive image generation and editing server. Each tool serves a clear purpose without redundancy.

Completeness4/5

The tool set covers generation, editing, analysis, templates, cost estimation, and history. Minor gaps like direct deletion or inpainting exist but do not hinder core workflows.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tehnolabs/pixelforge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server