The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Gen Image MCP listing page.
中文 | English
面向 AI 编程 Agent 的本地图片工作流 MCP。通过用户自选的 OpenAI 兼容或 Gemini 图像接口生成、编辑图片,直接保存到项目目录。
GitHub 项目:yuluo688/gen-image-mcp | 已登记 官方 MCP Registry
本服务没有内置地址、Key 或模型。缺少必填配置会拒绝启动,也不会自动读取 .env 文件。
包名:gen-image-mcp。
用户无需克隆源码、手动安装项目依赖或编译。npx 会自动下载并缓存 npm 包,再在本机启动服务;它不是远程托管服务。
在 MCP 客户端中添加一个 stdio 服务,启动命令与参数为:
下面是使用 mcpServers、command、args、env 字段的通用配置示例。不同客户端的配置结构可能不同,对应填入启动命令、参数和环境变量即可。
将示例地址、Key 和模型替换为实际值。两组模型至少配置一组;不使用的组应删除对应环境变量,不要填写空字符串。图片读写发生在启动此 MCP 的机器上,建议使用绝对路径。
配置完成后,连接或重启该 MCP 服务,客户端应能发现四个工具。直接在终端启动时,服务会等待标准输入中的 MCP 消息,不会打开网页或交互式命令菜单。
生产使用建议将参数中的包名固定为已发布版本,例如 gen-image-mcp@<version>,避免升级时行为变化。首次运行需要能够访问 npm 仓库。
也可以把非敏感配置放在启动参数中。以下命令要求已通过进程环境设置 GEN_IMAGE_API_KEY:
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 | true 或 false,默认 false |
GEN_IMAGE_TIMEOUT_MS | --timeout-ms | 单次上游请求超时,默认 120000 毫秒;正整数,最大 2147483647 |
模型名称不能重复,也不能包含空项。URL、Key 或配置值无效时直接报错,不会替换成默认服务或模型。
model 时,使用对应组的第一个模型。model 只能指定该组已经配置的模型。Retry-After);超时、网络、鉴权、内容策略等错误不重试。auto_fallback 可覆盖全局开关;设为 false 时只尝试当前模型(仍可对容量/限流做同模型重试)。客户端的请求超时应为每个模型最多 3 次请求及两次退避等待留出余量;开启切换时还需乘以最多尝试的模型数,并考虑文件读写时间。无 Retry-After 时默认等待 400ms、800ms,单次等待最多 5 秒。普通 503 不视为明确容量不足。多次上游请求可能产生额外费用。
以下 JSON 是工具参数,不是终端命令。三个生图/编辑工具都要求 prompt 和 output_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 |
可选参数:filename、model、size、quality、n、output_format、auto_fallback。size 默认 auto;n 为 1–4,默认 1;quality 可取 low、medium、high、auto;output_format 可取 png、jpeg、webp,省略时由上游决定。
images 必填,包含 1–16 个本地图片路径。可选参数:filename、mask(本地蒙版路径)、model、size、quality、auto_fallback。蒙版和编辑能力取决于上游模型。
省略 images 即为纯文生图。可选参数:filename、images、model、aspect_ratio、auto_fallback。
支持的宽高比:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9。
调用参数为 {}。返回文本和 structuredContent,包含按配置顺序排列的 groups:每组有 api(images 或 gemini)、models、default_model 和 tools。未配置的组返回空列表及 default_model: null;顶层 auto_fallback 表示全局切换设置。
此工具只读取本地配置,不发网络请求、不返回 API Key 或服务地址。availability_checked: false 明确表示没有检查模型当前是否可用。
由调用方 AI 根据主题填写可选 filename,服务本身不额外调用模型命名。三个生图/编辑工具均支持:
filename 是单个文件名,不是路径,可包含中文,扩展名可省略,最终后缀以实际图片格式为准。名称最多 200 个 UTF-8 字节,为序号和后缀预留空间。提供该参数时 output_path 必须为目录;空名称、路径分隔符、Windows 保留名称等无效输入会在生图请求前拒绝。
同名输出通过独占创建和递增序号防覆盖,例如 夕阳花园人像.png、夕阳花园人像-2.png、夕阳花园人像-3.png,最多尝试 1000 个候选名称。多图输出先添加图片序号,再处理已有文件冲突。不传 filename 时保持原有命名方式。
output_path 以 / 或 \ 结尾、指向现有目录,或没有受支持的图片扩展名时,按目录处理。filename 时,目录输出命名为 {slug}-{YYYYMMDD-HHmmss}-{随机UUID}[-序号].扩展名;纯中文提示词的 slug 为 image,时间戳使用本地时间。-1、-2 等序号,扩展名以实际图片格式为准。output_path 设为文件时仍覆盖,不备份;目录输出采用独占创建,不覆盖已有文件。使用 filename 时自动尝试序号后缀,其他目录输出遇到碰撞则报错。成功时依次返回:
gen-image:///<id> 资源 URI 的文本。resource_link。三个生图/编辑工具还返回 structuredContent,便于客户端直接处理,不必解析文本路径:
| 字段 | 含义 |
|---|---|
images | 文件列表,每项包含 path、name、mime_type、byte_size、uri,不重复携带图片 Base64 |
model | 实际成功的模型;失败时为最后尝试的模型,没有上游尝试时为 null |
elapsed_ms | 总耗时,包含重试等待与文件保存 |
attempt_count | 上游尝试次数,不计生图前的本地校验失败 |
retry_count | 同一模型连续再次尝试的次数,不把切换模型算作重试 |
model_switches | 按顺序记录模型切换,每项为 from、to |
attempts | 每次尝试的 model、outcome、elapsed_ms;上游失败时可含 error_category、http_status |
执行失败时保留 isError: true 和错误文本,并返回上述摘要、空 images 及 error。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_image 或 edit_image。
命令启动后没有页面或输出
这是 stdio MCP 服务,不提供 HTTP 服务或网页。有效配置下,它需要由 MCP 客户端连接并发送协议消息。
找不到生成的图片
以工具返回的绝对保存路径为准。使用 npx 不会把图片自动保存到 npm 包目录;可以直接指定绝对 output_path。
本项目采用 MIT 许可证,版权归属 Copyright (c) 2026 yuluo688。
允许商用、修改和分发,包括闭源使用;须保留版权及许可证声明。软件按原样提供,不作担保。该许可证适用于本项目软件,不替代上游模型服务条款或对生成图片权利的约定。