Codex / OpenAI Image

io.github.meet30997由 GitHub 帳號 meet30997 發布v0.1.2更新於 Oct 30, 2026

Generate, edit and make matching sets of images with the Codex CLI or the OpenAI Images API

已驗證STDIO僅桌面媒體與設計AI 與機器學習

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理透過 Codex CLI 或 OpenAI Images API 生成、編輯圖片,並製作風格一致的成套圖片。

可以做什麼
  • 依提示詞生成圖片,可指定尺寸、變體數量、透明背景與風格參考圖
  • 依提示詞編輯既有圖片,支援遮罩與輔助參考圖,原圖不會被修改
  • 一次呼叫產生多張共用同一風格的具名圖片,存到指定資料夾
  • 回傳儲存路徑與縮圖預覽,方便助理查看結果後繼續調整
  • 為每張圖片寫入記錄提示詞與設定的 JSON 附屬檔
適用情境
適合在對話中請助理建立或修改圖片,例如部落格首圖、應用程式圖示、貼紙套組,或把照片改成夜景之類的編輯,並在反覆調整前先看到結果。
執行需求
需要 Node.js 20.3 或更新版本,透過 npx 在本機執行。以 IMAGEGEN_PROVIDER 選擇後端:codex-cli 需已登入的 Codex CLI 與含圖像生成的 ChatGPT 方案;openai-api 需 OPENAI_API_KEY;mock 不需任何條件。選用設定包括 IMAGEGEN_OUT_DIR、IMAGEGEN_READ_ROOT、IMAGEGEN_OPENAI_MODEL 與 IMAGEGEN_TIMEOUT_SEC。
安裝前請注意
openai-api 後端依圖計費且需要 OPENAI_API_KEY;codex-cli 後端會消耗 ChatGPT 方案用量,以腳本方式使用前應確認 OpenAI 條款。伺服器會在輸出資料夾寫入新圖片與附屬檔(不覆寫既有檔案),並從設定的根目錄讀取輸入圖片。生成內容為 AI 輸出,須自行遵守平台規範,且不得模仿真實人物或品牌。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Codex / OpenAI Image,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

codex-openai-image-mcp

[codex-openai-image-mcp: generate, edit and make matching image sets from any MCP client. Works with Codex CLI or an OpenAI API key.]

[npm version] [Codex / OpenAI Image MCP on mcprush]

An MCP server that lets Claude (and any other MCP client) generate images, edit them, and make matching sets, then look at the result and keep going.

It works with two image backends:

  • Codex CLI: uses the ChatGPT plan you already have through the Codex CLI. No API key, no per-image bill.
  • OpenAI Images API: uses an OPENAI_API_KEY, for people without Codex.

Not affiliated with or endorsed by OpenAI. "OpenAI" and "Codex" are trademarks of OpenAI.

A matching set in one call: "cute flat stickers: coffee, cactus, moon"
[Three pastel stickers in one consistent style: a coffee cup, a potted cactus and a sleepy moon]

Both examples are real, unretouched output from the Codex backend.

What makes it different

  • Matching sets. generate_set makes several different images that share one style, each saved under its own name.
  • Two backends, one interface. Switch between Codex and the OpenAI API with one setting.
  • Made for an agent loop. Every call returns small previews that Claude can see, reports progress during long runs, can be cancelled, and writes a .json sidecar with the prompt and settings next to each image.
  • Careful with your files. It writes only inside its output folder, never overwrites an existing file, never changes the image you edit, and runs Codex read-only in an empty temporary folder.

Quick start

You need Node.js 20.3 or newer, plus one of:

  • the Codex CLI, signed in (codex login) with a ChatGPT plan that includes Codex image generation, or
  • an OpenAI API key with credits.

Claude Code

sh
# Codex backend (your ChatGPT plan)claude mcp add images -e IMAGEGEN_PROVIDER=codex-cli -- npx -y codex-openai-image-mcp
# or the OpenAI APIclaude mcp add images -e IMAGEGEN_PROVIDER=openai-api -e OPENAI_API_KEY=sk-... -- npx -y codex-openai-image-mcp

Claude Desktop, Cursor and other clients

Add this to the client's MCP config (for Claude Desktop, claude_desktop_config.json):

json
{  "mcpServers": {    "images": {      "command": "npx",      "args": ["-y", "codex-openai-image-mcp"],      "env": { "IMAGEGEN_PROVIDER": "codex-cli" }    }  }}

For the API backend use "IMAGEGEN_PROVIDER": "openai-api" and add "OPENAI_API_KEY".

Then just ask:

  • "Make a watercolour fox for my blog header, 1536x864."
  • "Edit photo.png so it looks like a sunset."
  • "Make 5 matching app icons: home, search, profile, settings, bell."

Images are saved in ./generated-images in the folder the client was started from.

Tools

generate_image

InputDefaultNotes
promptrequired
size1024x1024Any WxH from 16 to 4096 px per side
count11–4 variants, saved as -v1, -v2, …
transparentfalseAsks for a transparent background; the result says if the output has none
references[]Up to 4 images whose style to match
out_nameslug of the promptPath inside the output folder, without extension, e.g. icons/rocket

edit_image

InputDefaultNotes
imagerequiredThe image to change. It is never modified
promptrequiredThe change, e.g. "remove the person on the left", "make it watercolour"
sizethe input's sizeWxH
masknonePNG whose transparent areas mark where to edit (OpenAI API only)
count11–4 variants
transparentfalsee.g. for cutouts
references[]Up to 3 supporting images: something to insert, or a style to apply
out_name<input name>-edited

generate_set

InputDefaultNotes
stylerequiredWhat every image shares: medium, palette, rendering, background
itemsrequired1–8 { name, prompt }; each is saved as <folder>/<name>.png
size1024x1024Same for every image
transparentfalse
references[]Up to 4 images whose style the whole set matches
folderslug of styleFolder inside the output folder

All tools crop and resize the result to exactly the size you ask for, and return the saved paths with a 512 px preview of each image.

Backends

codex-cliopenai-apimock
NeedsCodex CLI, signed inOPENAI_API_KEYnothing
Costyour ChatGPT plan's usageper imagefree
Speed~30–60 s per imagedepends on model and sizeinstant
References, edits, transparencyyesyesedits only
Edit masksnoyesno
Setsone Codex session for the whole setone image at a time, first image used as a style referenceone at a time

mock draws placeholder images, for trying the server out and for tests.

Codex backend. Each call runs codex exec --json --skip-git-repo-check --sandbox read-only --cd <empty temp folder> [--image=<file>…] -- - with a prompt that asks Codex to call its built-in image_gen tool and nothing else. The server reads the session id from Codex's JSON events and collects the images from $CODEX_HOME/generated_images/<session id>/. Codex never gets write access or sees your project beyond the images you pass it. Cancelling the request, or hitting the timeout, stops Codex. Check OpenAI's terms for scripted use of the Codex CLI with your plan.

OpenAI backend. Uses the official openai SDK. The default model is gpt-image-2.5-sunburst; set IMAGEGEN_OPENAI_MODEL=gpt-image-2.5-flare for faster results. Sizes are rounded to ones the API accepts, then resized to yours. This backend is covered by automated tests against a mocked client; it has not yet had a full live test.

Settings

VariableDefault
IMAGEGEN_PROVIDERmock; set codex-cli or openai-api
OPENAI_API_KEYrequired for openai-api
IMAGEGEN_OPENAI_MODELgpt-image-2.5-sunburst
IMAGEGEN_CODEX_BINcodex
IMAGEGEN_OUT_DIRgenerated-images, relative to the working folder
IMAGEGEN_READ_ROOTthe working folder; input images must be inside it
IMAGEGEN_TIMEOUT_SEC300, per image asked for
IMAGEGEN_MAX_PER_CALL8 images
IMAGEGEN_PREVIEW_SIZE512 px

Files and safety

  • Output is written only inside IMAGEGEN_OUT_DIR. Absolute paths, .. and symlinks that lead outside are rejected.
  • Input images (to edit, or as references) must be inside IMAGEGEN_READ_ROOT.
  • Existing files are never overwritten: a new file gets -2, -3, … instead.
  • Each image gets a <name>.json sidecar with the prompt, backend, model, size, inputs and time.
  • API keys are read from the environment only and never logged or written to sidecars.
  • IMAGEGEN_MAX_PER_CALL caps how many images one call can make.

Images are AI-generated. You are responsible for how you use them, including platform rules on AI-generated content, and for not imitating real people or brands.

Development

sh
git clone https://github.com/meet30997/codex-openai-image-mcp.gitcd codex-openai-image-mcpnpm installnpm run buildnpm test          # unit and end-to-end tests; no network or API key needednpm run inspect   # try the tools in the MCP Inspector

To run a local build from Claude Code:

sh
claude mcp add images -e IMAGEGEN_PROVIDER=codex-cli -- node /path/to/codex-openai-image-mcp/dist/index.js

The tests run the Codex backend against a stand-in script (test/fixtures/fake-codex.mjs) and the OpenAI backend against a fake client, so they are free and quick. PLAN.md has the design notes and roadmap. Issues and pull requests are welcome.

License

MIT

來源:README.md,提交 ec83524

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.2最新Oct 29, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分