Generate and edit images with OpenAI GPT-4o
Generate and edit images with OpenAI's GPT-4o/gpt-image-1 - inpainting, outpainting, and batch generation, with automatic file output.
Maintainer of this project? Claim this page to edit the listing.
1.0.0Add to Favorites
Why it matters
Leverage advanced OpenAI GPT-4o/gpt-image-1 capabilities to create and edit images from text prompts, integrating seamlessly with MCP-compatible clients.
Outcomes
What it gets done
Generate images from detailed text descriptions.
Perform advanced image editing, including inpainting and outpainting.
Integrate with various MCP clients like Claude Desktop, Cursor, and VSCode.
Save generated images directly to disk or retrieve them as base64.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-openai-gpt-image | bash Capabilities
Tools your agent gets
Generates images from prompts with advanced options like size, quality, and background.
Edits or extends images using prompts and optional masks, supporting file paths and base64.
Overview
OpenAI GPT Image MCP Server
openai-gpt-image-mcp connects AI assistants to OpenAI's GPT-4o/gpt-image-1 image APIs for text-to-image generation and prompt/mask-based editing, automatically switching to file output for large images to respect MCP's 1MB response limit. Use it when an AI assistant needs to generate or edit images via OpenAI's models. Requires a verified OpenAI organization for image API access, which can take 15-20 minutes to activate.
What it does
openai-gpt-image-mcp connects Claude Desktop, Cursor, VS Code, Windsurf, or any MCP client to OpenAI's GPT-4o/gpt-image-1 image generation and editing APIs, letting an AI assistant generate images from text prompts or edit existing images with inpainting, outpainting, and compositing.
When to use - and when NOT to
Use it when you want an AI assistant to generate images from a text prompt (with control over size, quality, and background) or edit an existing image using a prompt and optional mask. It automatically switches to file output instead of base64 when image size would exceed the 1MB MCP tool-response limit, saving to /tmp (or a directory set via MCP_HF_WORK_DIR) by default. It also supports Azure OpenAI deployments as an alternative to standard OpenAI. Auto-switching to file output specifically guards against the error result exceeds maximum length of 1048576, which is what MCP clients throw when a base64 response crosses the 1MB limit. Do not use it without a verified OpenAI organization - image API access requires organization verification, and activation can take 15-20 minutes after verifying.
Capabilities
create-image: generate images from a text prompt, with options for size, quality, background, and generating up to 10 images at once (nparameter).edit-image: edit or extend an image using a prompt and an optional mask (file path or base64 input) to control where edits apply.- File output: save generated/edited images directly to disk, or receive them as base64 when small enough.
How to install
git clone https://github.com/SureScaleAI/openai-gpt-image-mcp.git
cd openai-gpt-image-mcp
yarn install
yarn build
Configure Claude Desktop, Cursor, VS Code, or Windsurf:
{
"mcpServers": {
"openai-gpt-image-mcp": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": { "OPENAI_API_KEY": "sk-..." }
}
}
}
For Azure OpenAI, use AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, and OPENAI_API_VERSION instead. An .env file can be supplied via --env-file ./deployment/.env. Set MCP_HF_WORK_DIR to control where large images are saved instead of the default /tmp.
Troubleshooting notes worth knowing: all file paths must be absolute (starting with / on Unix/macOS/Linux, or a drive letter like C:/path/to/image.png on Windows), the output directory must be writable, and errors about file types usually trace back to the image file's extension or format. The project is built with the @modelcontextprotocol/sdk and OpenAI's Node.js SDK, and is maintained by SureScale.ai with contributions from Axle Research and Technology.
Who it's for
Developers and content creators who want an AI assistant to generate or edit images using OpenAI's image models directly within their coding or writing workflow.
Source README
openai-gpt-image-mcp
A Model Context Protocol (MCP) tool server for OpenAI's GPT-4o/gpt-image-1 image generation and editing APIs.
- Generate images from text prompts using OpenAI's latest models.
- Edit images (inpainting, outpainting, compositing) with advanced prompt control.
- Supports: Claude Desktop, Cursor, VSCode, Windsurf, and any MCP-compatible client.
✨ Features
- create-image: Generate images from a prompt, with advanced options (size, quality, background, etc).
- edit-image: Edit or extend images using a prompt and optional mask, supporting both file paths and base64 input.
- File output: Save generated images directly to disk, or receive as base64.
🚀 Installation
git clone https://github.com/SureScaleAI/openai-gpt-image-mcp.git
cd openai-gpt-image-mcp
yarn install
yarn build
🔑 Configuration
Add to Claude Desktop or VSCode (including Cursor/Windsurf) config:
{
"mcpServers": {
"openai-gpt-image-mcp": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": { "OPENAI_API_KEY": "sk-..." }
}
}
}
Also supports Azure deployments:
{
"mcpServers": {
"openai-gpt-image-mcp": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"AZURE_OPENAI_API_KEY": "sk-...",
"AZURE_OPENAI_ENDPOINT": "my.endpoint.com",
"OPENAI_API_VERSION": "2024-12-01-preview"
}
}
}
}
Also supports supplying an environment files:
{
"mcpServers": {
"openai-gpt-image-mcp": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js", "--env-file", "./deployment/.env"]
}
}
}
⚡ Advanced
- For
create-image, setnto generate up to 10 images at once. - For
edit-image, provide a mask image (file path or base64) to control where edits are applied. - Provide an environment file with
--env-file path/to/file/.env - See
src/index.tsfor all options.
🧑💻 Development
- TypeScript source:
src/index.ts - Build:
yarn build - Run:
node dist/index.js
📝 License
MIT
🩺 Troubleshooting
- Make sure your
OPENAI_API_KEYis valid and has image API access. - You must have a verified OpenAI organization. After verifying, it can take 15-20 minutes for image API access to activate.
- File paths must be absolute.
- Unix/macOS/Linux: Starting with
/(e.g.,/path/to/image.png) - Windows: Drive letter followed by
:(e.g.,C:/path/to/image.pngorC:\path\to\image.png)
- Unix/macOS/Linux: Starting with
- For file output, ensure the directory is writable.
- If you see errors about file types, check your image file extensions and formats.
⚠️ Limitations & Large File Handling
- 1MB Payload Limit: MCP clients (including Claude Desktop) have a hard 1MB limit for tool responses. Large images (especially high-res or multiple images) can easily exceed this limit if returned as base64.
- Auto-Switch to File Output: If the total image size exceeds 1MB, the tool will automatically save images to disk and return the file path(s) instead of base64. This ensures compatibility and prevents errors like
result exceeds maximum length of 1048576. - Default File Location: If you do not specify a
file_outputpath, images will be saved to/tmp(or the directory set by theMCP_HF_WORK_DIRenvironment variable) with a unique filename. - Environment Variable:
MCP_HF_WORK_DIR: Set this to control where large images and file outputs are saved. Example:export MCP_HF_WORK_DIR=/your/desired/dir
- Best Practice: For large or production images, always use file output and ensure your client is configured to handle file paths.
📚 References
🙏 Credits
- Built with @modelcontextprotocol/sdk
- Uses openai Node.js SDK
- Built by SureScale.ai
- Contributions from Axle Research and Technology
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.