Skip to main content
Glama

gen-image MCP

中文 | English

npm version MCP Registry License: MIT

面向 AI 编程 Agent 的本地图片工作流 MCP。通过用户自选的 OpenAI 兼容或 Gemini 图像接口生成、编辑图片,直接保存到项目目录。

GitHub 项目:yuluo688/gen-image-mcp | 已登记 官方 MCP Registry

为什么使用它

  • 直接写入本地项目:生成或编辑的图片保存到调用 MCP 的机器,可立即被代码仓库引用。

  • 使用自己的上游服务:自行配置 API 地址、Key 和模型,不依赖本服务托管模型。

  • 失败自动恢复:可按配置顺序重试容量或限流错误,并切换到后续模型。

  • 覆盖完整图片流程:支持文生图、本地参考图生成和图片编辑,并返回预览与资源链接。

Related MCP server: jgkme/kilo-image-gen-mcp

使用前准备

  • 安装 Node.js,建议使用 Node.js 24 LTS;服务最低要求为 20。

  • 准备支持对应图像接口的服务地址、API Key 和模型名称。

  • 使用支持 stdio 的 MCP 客户端。

本服务没有内置地址、Key 或模型。缺少必填配置会拒绝启动,也不会自动读取 .env 文件。

通过 npx 使用

包名:gen-image-mcp

用户无需克隆源码、手动安装项目依赖或编译。npx 会自动下载并缓存 npm 包,再在本机启动服务;它不是远程托管服务。

在 MCP 客户端中添加一个 stdio 服务,启动命令与参数为:

命令:npx
参数:-y gen-image-mcp

下面是使用 mcpServerscommandargsenv 字段的通用配置示例。不同客户端的配置结构可能不同,对应填入启动命令、参数和环境变量即可。

{
  "mcpServers": {
    "gen-image": {
      "command": "npx",
      "args": ["-y", "gen-image-mcp"],
      "env": {
        "GEN_IMAGE_BASE_URL": "https://your-proxy.example",
        "GEN_IMAGE_API_KEY": "your-api-key",
        "GEN_IMAGE_MODEL": "images-model-a,images-model-b",
        "GEN_IMAGE_GEMINI_MODEL": "gemini-image-model-a",
        "GEN_IMAGE_AUTO_FALLBACK": "true"
      }
    }
  }
}

将示例地址、Key 和模型替换为实际值。两组模型至少配置一组;不使用的组应删除对应环境变量,不要填写空字符串。图片读写发生在启动此 MCP 的机器上,建议使用绝对路径。

配置完成后,连接或重启该 MCP 服务,客户端应能发现四个工具。直接在终端启动时,服务会等待标准输入中的 MCP 消息,不会打开网页或交互式命令菜单。

生产使用建议将参数中的包名固定为已发布版本,例如 gen-image-mcp@<version>,避免升级时行为变化。首次运行需要能够访问 npm 仓库。

命令行参数

也可以把非敏感配置放在启动参数中。以下命令要求已通过进程环境设置 GEN_IMAGE_API_KEY

npx -y gen-image-mcp --base-url "https://your-proxy.example" --model "images-model-a,images-model-b" --auto-fallback true

API Key 建议通过 MCP 客户端的环境变量配置传入,避免出现在命令历史和进程参数中。

配置项

命令行参数优先于环境变量。

环境变量

命令行参数

说明

GEN_IMAGE_BASE_URL

--base-url

必填,完整 HTTP/HTTPS 根地址;不含认证信息、查询参数和片段,不要填写具体图像端点

GEN_IMAGE_API_KEY

--api-key

必填,非空 API Key

GEN_IMAGE_MODEL

--model

Images 模型列表,逗号分隔,按顺序使用

GEN_IMAGE_GEMINI_MODEL

--gemini-model

Gemini 图像模型列表,逗号分隔,按顺序使用

GEN_IMAGE_AUTO_FALLBACK

--auto-fallback

truefalse,默认 false

GEN_IMAGE_TIMEOUT_MS

--timeout-ms

单次上游请求超时,默认 120000 毫秒;正整数,最大 2147483647

模型名称不能重复,也不能包含空项。URL、Key 或配置值无效时直接报错,不会替换成默认服务或模型。

模型选择与失败切换

  • 未指定工具参数 model 时,使用对应组的第一个模型。

  • model 只能指定该组已经配置的模型。

  • 开启自动切换后,上游 HTTP 错误、网络错误、超时或无有效图片会触发下一模型。

  • 显式指定模型时,从该项开始,只向后尝试;不会绕回列表开头。

  • 明确的容量不足或限流(含外层 500 包裹内层 503 / no capacity)会先对同一模型做有限退避重试(默认最多额外 2 次,并尊重有上界的 Retry-After);超时、网络、鉴权、内容策略等错误不重试。

  • 非上述可重试错误,或同模型重试仍失败后,才按开关切换下一模型;成功即停止,全部失败返回最后一个模型的结构化错误(保留 HTTP 状态与类别)。

  • 每次调用重新从第一项或指定模型开始,不永久改变模型顺序。

  • 单次调用参数 auto_fallback 可覆盖全局开关;设为 false 时只尝试当前模型(仍可对容量/限流做同模型重试)。

  • 参数错误、本地图片读取错误和保存失败不触发模型切换。

  • 两组模型不会跨接口切换。未配置某组时,其对应工具返回错误。

客户端的请求超时应为每个模型最多 3 次请求及两次退避等待留出余量;开启切换时还需乘以最多尝试的模型数,并考虑文件读写时间。无 Retry-After 时默认等待 400ms、800ms,单次等待最多 5 秒。普通 503 不视为明确容量不足。多次上游请求可能产生额外费用。

工具调用

以下 JSON 是工具参数,不是终端命令。三个生图/编辑工具都要求 promptoutput_path;示例省略 model,使用对应组第一个模型。list_models 无需参数。

工具

用途

上游端点

list_models

查询已配置模型、所属接口组、默认模型和对应工具

无网络请求

generate_image

文本生成图片

POST /v1/images/generations

edit_image

编辑或合并本地图片

POST /v1/images/edits

generate_gemini_image

Gemini 文生图或参考图生成

POST /v1/chat/completions

generate_image

{
  "prompt": "白色桌面上的红色立方体,柔和自然光",
  "output_path": "exports/cube.png",
  "size": "1024x1024",
  "quality": "high",
  "n": 1,
  "output_format": "png",
  "auto_fallback": true
}

可选参数:filenamemodelsizequalitynoutput_formatauto_fallbacksize 默认 auton 为 1–4,默认 1;quality 可取 lowmediumhighautooutput_format 可取 pngjpegwebp,省略时由上游决定。

edit_image

{
  "prompt": "将天空改为日落,保留建筑细节",
  "output_path": "exports/edited.png",
  "images": ["inputs/photo.png"],
  "auto_fallback": true
}

images 必填,包含 1–16 个本地图片路径。可选参数:filenamemask(本地蒙版路径)、modelsizequalityauto_fallback。蒙版和编辑能力取决于上游模型。

generate_gemini_image

{
  "prompt": "将这张草图转为水彩画",
  "output_path": "exports/watercolor.png",
  "images": ["inputs/sketch.png"],
  "aspect_ratio": "16:9",
  "auto_fallback": false
}

省略 images 即为纯文生图。可选参数:filenameimagesmodelaspect_ratioauto_fallback

支持的宽高比:1:12:33:23:44:34:55:49:1616:921:9

list_models

调用参数为 {}。返回文本和 structuredContent,包含按配置顺序排列的 groups:每组有 apiimagesgemini)、modelsdefault_modeltools。未配置的组返回空列表及 default_model: null;顶层 auto_fallback 表示全局切换设置。

此工具只读取本地配置,不发网络请求、不返回 API Key 或服务地址。availability_checked: false 明确表示没有检查模型当前是否可用。

AI 文件命名

由调用方 AI 根据主题填写可选 filename,服务本身不额外调用模型命名。三个生图/编辑工具均支持:

{
  "prompt": "夕阳花园中的优雅成年女性人像,自然光摄影",
  "output_path": "exports/",
  "filename": "夕阳花园人像.png",
  "n": 1
}

filename 是单个文件名,不是路径,可包含中文,扩展名可省略,最终后缀以实际图片格式为准。名称最多 200 个 UTF-8 字节,为序号和后缀预留空间。提供该参数时 output_path 必须为目录;空名称、路径分隔符、Windows 保留名称等无效输入会在生图请求前拒绝。

同名输出通过独占创建和递增序号防覆盖,例如 夕阳花园人像.png夕阳花园人像-2.png夕阳花园人像-3.png,最多尝试 1000 个候选名称。多图输出先添加图片序号,再处理已有文件冲突。不传 filename 时保持原有命名方式。

文件与输出

  • 输入和输出的相对路径均相对于 MCP 进程工作目录,而不是 npm 缓存或包安装目录;不确定工作目录时使用绝对路径。

  • output_path/\ 结尾、指向现有目录,或没有受支持的图片扩展名时,按目录处理。

  • 未指定 filename 时,目录输出命名为 {slug}-{YYYYMMDD-HHmmss}-{随机UUID}[-序号].扩展名;纯中文提示词的 slug 为 image,时间戳使用本地时间。

  • 文件输出保留指定基名;多张图片插入 -1-2 等序号,扩展名以实际图片格式为准。

  • 缺少的父目录会自动创建。直接将 output_path 设为文件时仍覆盖,不备份;目录输出采用独占创建,不覆盖已有文件。使用 filename 时自动尝试序号后缀,其他目录输出遇到碰撞则报错。

  • 最多输入 16 张图片,每个本地输入文件最多 50 MiB。

  • 图片响应只接受可识别的 PNG、JPEG、WebP、GIF Base64 或 data URL,不会自动下载上游返回的普通远程 URL。

返回内容

成功时依次返回:

  1. 保存路径和 gen-image:///<id> 资源 URI 的文本。

  2. 第一张图片的内联预览,仅在其解码大小不超过 2 MiB 时附带。

  3. 每张图片的 resource_link

三个生图/编辑工具还返回 structuredContent,便于客户端直接处理,不必解析文本路径:

字段

含义

images

文件列表,每项包含 pathnamemime_typebyte_sizeuri,不重复携带图片 Base64

model

实际成功的模型;失败时为最后尝试的模型,没有上游尝试时为 null

elapsed_ms

总耗时,包含重试等待与文件保存

attempt_count

上游尝试次数,不计生图前的本地校验失败

retry_count

同一模型连续再次尝试的次数,不把切换模型算作重试

model_switches

按顺序记录模型切换,每项为 fromto

attempts

每次尝试的 modeloutcomeelapsed_ms;上游失败时可含 error_categoryhttp_status

执行失败时保留 isError: true 和错误文本,并返回上述摘要、空 imageserror。SDK 输入 schema 校验失败发生在执行前,不保证附带执行摘要。摘要不额外记录提示词、密钥或完整请求/响应正文,也不新增历史数据库。

客户端可以通过 resources/list 列出当前服务实例保存的图片,再用 resources/read 读取完整 Base64 内容;资源读取不受 2 MiB 预览限制。服务重启后资源列表清空,但已经保存的文件不会删除。

工具失败返回 isError: true 和错误文本。stdout 仅用于 MCP 协议,日志写入 stderr。

常见问题

npx 提示找不到包

检查包名、版本和 npm 仓库地址。可运行 npm view gen-image-mcp version --registry=https://registry.npmjs.org 查询公共仓库中的版本;第三方镜像可能存在同步延迟。

提示配置缺失或没有可用模型

检查 MCP 进程是否收到 URL、Key 和至少一组模型环境变量。只配置 Gemini 模型时,请使用 generate_gemini_image;只配置 Images 模型时,请使用 generate_imageedit_image

命令启动后没有页面或输出

这是 stdio MCP 服务,不提供 HTTP 服务或网页。有效配置下,它需要由 MCP 客户端连接并发送协议消息。

找不到生成的图片

以工具返回的绝对保存路径为准。使用 npx 不会把图片自动保存到 npm 包目录;可以直接指定绝对 output_path

开源许可证

本项目采用 MIT 许可证,版权归属 Copyright (c) 2026 yuluo688

允许商用、修改和分发,包括闭源使用;须保留版权及许可证声明。软件按原样提供,不作担保。该许可证适用于本项目软件,不替代上游模型服务条款或对生成图片权利的约定。

Available Tools

4 tools
edit_imageB

Edit or combine local images with POST /v1/images/edits (multipart). Use for gpt-image-2 image-to-image. Do not set input_fidelity for gpt-image-2.

ParametersJSON Schema
NameRequiredDescriptionDefault
maskNoOptional local mask image path
sizeNoOutput size, e.g. auto or 1024x1024. Defaults to auto.
modelNoConfigured model to start with. Defaults to the first model configured for this tool.
imagesYesLocal image file paths to send as repeated multipart field `image` (max 16).
promptYesEdit instruction
qualityNoImage quality
filenameNoOptional AI-chosen basename (Unicode allowed, up to 200 UTF-8 bytes, optional extension). Requires output_path to be a directory. Existing names get numbered suffixes instead of being overwritten. Unsafe names are rejected before generation, not rewritten.
output_pathYesFile or directory to write. Relative paths resolve against process.cwd().
auto_fallbackNoTry the next configured model after an upstream failure. Overrides GEN_IMAGE_AUTO_FALLBACK.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description is the only source of behavioral info. It discloses the API endpoint and multipart format, and warns about a specific parameter conflict, adding value. However, it doesn't mention error handling, permissions, or output behavior beyond writing to output_path.

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 two sentences, reasonably concise and front-loaded with the main purpose. The warning about input_fidelity is valuable. Could be slightly more efficient by integrating the API endpoint into the first sentence, but no waste.

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 9 parameters, some complex (filename, output_path), the description doesn't provide additional context beyond the schema, which is quite detailed. The absence of output schema and annotations means the description does not clarify what the tool returns, but the schema covers most parameters. It's adequate but could hint at typical use cases or error scenarios.

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

Parameters2/5

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

Schema coverage is 100%, so parameter descriptions are thorough. The tool description adds minimal extra semantics beyond the schema, only noting that images are sent as repeated multipart field `image` (in schema) and the input_fidelity warning. It doesn't clarify relationships between parameters or edge cases beyond what's already in 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 edits or combines local images via a specific API endpoint and mentions a specific model. It distinguishes itself from generate_image and generate_gemini_image by focusing on image-to-image editing rather than generation. However, it doesn't explicitly name the alternative tools for clarity.

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 says 'Use for gpt-image-2 image-to-image', which provides clear context for when to use this tool, and warns against setting input_fidelity for gpt-image-2. It doesn't explicitly state when not to use it or mention alternatives, but the context implies generation tools are for other cases.

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

generate_gemini_imageA

Generate or edit images with POST /v1/chat/completions using a Gemini image model. Do not call /v1/images/* for Gemini image models.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoConfigured model to start with. Defaults to the first model configured for this tool.
imagesNoOptional local image paths sent as user content image_url data URLs (max 16).
promptYesText prompt
filenameNoOptional AI-chosen basename (Unicode allowed, up to 200 UTF-8 bytes, optional extension). Requires output_path to be a directory. Existing names get numbered suffixes instead of being overwritten. Unsafe names are rejected before generation, not rewritten.
output_pathYesFile or directory to write. Relative paths resolve against process.cwd().
aspect_ratioNoOptional image_config.aspect_ratio
auto_fallbackNoTry the next configured model after an upstream failure. Overrides GEN_IMAGE_AUTO_FALLBACK.

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 the behavioral burden. It discloses the endpoint used (POST /v1/chat/completions) and the model family, which is useful. However, it doesn't disclose output behavior, file-writing semantics, or failure modes beyond the schema's filename notes. The description adds some context but not rich behavioral detail.

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?

Two sentences, front-loaded with the core action and the critical endpoint exclusion. The second sentence is a clear directive. No wasted words, though it could have named sibling tools for extra routing value.

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 tool with 7 parameters, 100% schema coverage, and no output schema, the description is adequate but thin. It explains the endpoint and model family, but doesn't clarify when to prefer this over generate_image/edit_image, nor what the tool returns. The schema covers parameters, but the tool-level context is incomplete.

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 schema already documents all 7 parameters. The description adds the endpoint context and the model-family constraint, but doesn't add parameter-level meaning beyond the schema. Baseline 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 states a specific verb ('Generate or edit images') and resource ('Gemini image model'), and explicitly distinguishes from the /v1/images/* endpoint family. It doesn't fully differentiate from sibling tools generate_image and edit_image, but the endpoint guidance and model family naming provide reasonable clarity.

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 gives an explicit 'Do not call /v1/images/* for Gemini image models' exclusion, which is a clear when-not-to-use signal. It doesn't name sibling tools generate_image or edit_image as alternatives, but the endpoint-level guidance is actionable and contextually useful.

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

generate_imageA

Generate images with POST /v1/images/generations (OpenAI Images API). Use for gpt-image-2 and other Images-only models. Do not send those models to chat completions.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNoNumber of images, 1-4. Default 1.
sizeNoOutput size, e.g. auto or 1024x1024. Defaults to auto.
modelNoConfigured model to start with. Defaults to the first model configured for this tool.
promptYesText prompt for image generation
qualityNoImage quality
filenameNoOptional AI-chosen basename (Unicode allowed, up to 200 UTF-8 bytes, optional extension). Requires output_path to be a directory. Existing names get numbered suffixes instead of being overwritten. Unsafe names are rejected before generation, not rewritten.
output_pathYesFile or directory to write. Relative paths resolve against process.cwd().
auto_fallbackNoTry the next configured model after an upstream failure. Overrides GEN_IMAGE_AUTO_FALLBACK.
output_formatNoOutput encoding. Omit to let the upstream service decide the format.

TDQS

A3.6/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 behavioral disclosure burden. It only states the endpoint and intended models, and does not disclose that the tool writes files to output_path, how overwrites or filenames behave, or what the response contains. Those details live in the schema, not in the behavioral description.

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 with no filler. The core action and endpoint are front-loaded, followed by the important routing guidance about Images-only models and the chat-completions exclusion.

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?

This is a 9-parameter tool with no annotations and no output schema, yet the description does not explain return values, file-writing behavior, or how it relates to edit_image. It is enough to identify the tool, but not enough to invoke it confidently without relying heavily on schema inspection.

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 of 3 applies. The description adds no parameter-level meaning; all parameter semantics are already provided by the 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 names a specific operation (generate images), the exact endpoint (POST /v1/images/generations), and scopes which models it applies to (gpt-image-2 and other Images-only models). This clearly separates it from generate_gemini_image 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.

Usage Guidelines4/5

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

It gives a clear usage context: use for Images-only models, not for chat completions. It does not explicitly compare against the sibling image tools, but the model and endpoint guidance largely disambiguates when this tool should be selected.

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

list_modelsA
Read-only

List configured model groups and the tools that use them. Returns configuration only — not live availability. Does not use network, credentials, or base URL.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark readOnly=true and destructive=false; the description adds useful behavior beyond that by stating it is configuration-only, not live availability, and requires no network, credentials, or base URL. This gives an agent confidence that the call is safe and offline.

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 tightly packed sentences with no filler; the core purpose is stated first and the behavioral scope follows. Every clause earns its place.

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 zero-parameter read-only tool, the description covers what the tool returns, what it does not include, and its execution context. No output schema or parameter details are needed for an agent to call this correctly.

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 cannot meaningfully add parameter-level detail. The baseline of 4 applies because there are no parameter semantics to document, and the description confirms the call takes no external inputs.

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 states a specific verb ('List'), a clear resource ('configured model groups and the tools that use them'), and immediately scopes the result to configuration only. This clearly distinguishes it from the image-generation siblings.

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 gives clear context: use it to inspect configuration, and it explicitly says it does not report live availability or use network, credentials, or base URL. It doesn't name an alternative because no sibling performs this function, but the guidance is otherwise sufficient.

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.

  1. 4 tool updatesv0.2.2
    • Changededit_image7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / filename
        Added value: +{
        +  "description": "Optional AI-chosen basename (Unicode allowed, up to 200 UTF-8 bytes, optional extension). Requires output_path to be a directory. Existing names get numbered suffixes instead of being overwritten. Unsafe names are rejected before generation, not rewritten.",
        +  "type": "string"
        +}
      • addedInput schema / properties / images / items / minLength
        Added value: +1
      • addedInput schema / properties / mask / minLength
        Added value: +1
      • changedInput schema / properties / size / description
        Previous value: -"Output size"New value: +"Output size, e.g. auto or 1024x1024. Defaults to auto."
      • addedInput schema / properties / size / pattern
        Added value: +"^(auto|[1-9]\\d*x[1-9]\\d*)$"
    • Changedgenerate_gemini_image4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / filename
        Added value: +{
        +  "description": "Optional AI-chosen basename (Unicode allowed, up to 200 UTF-8 bytes, optional extension). Requires output_path to be a directory. Existing names get numbered suffixes instead of being overwritten. Unsafe names are rejected before generation, not rewritten.",
        +  "type": "string"
        +}
      • addedInput schema / properties / images / items / minLength
        Added value: +1
    • Changedgenerate_image5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / filename
        Added value: +{
        +  "description": "Optional AI-chosen basename (Unicode allowed, up to 200 UTF-8 bytes, optional extension). Requires output_path to be a directory. Existing names get numbered suffixes instead of being overwritten. Unsafe names are rejected before generation, not rewritten.",
        +  "type": "string"
        +}
      • changedInput schema / properties / output_format / description
        Previous value: -"Output encoding. Default png."New value: +"Output encoding. Omit to let the upstream service decide the format."
      • addedInput schema / properties / size / pattern
        Added value: +"^(auto|[1-9]\\d*x[1-9]\\d*)$"
    • Addedlist_models
  2. 3 tool updatesv0.1.0
    • First observededit_image
    • First observedgenerate_gemini_image
    • First observedgenerate_image

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation4/5

Each tool is tied to a specific API/model family: generate_image/edit_image for OpenAI image endpoints, generate_gemini_image for Gemini chat-completions, and list_models for configuration. There is slight functional overlap between generate_gemini_image and generate_image, but the usage rules make selection clear.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: list_models, generate_image, edit_image, generate_gemini_image. The model qualifier in generate_gemini_image is informative rather than inconsistent.

Tool Count5/5

Four tools cover the core image generation and editing workflows plus model discovery. This is a well-scoped set with no redundant or filler tools.

Completeness4/5

The set covers generation and editing for both Gemini and OpenAI image models, plus model listing. Missing image variation functionality is a minor gap, but the main workflows have no dead ends.

Maintenance

ActivityNo data
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers