8000 GitHub - CLOUDWERX-DEV/gpt-image-1-mcp: A Model Context Protocol (MCP) server for generating and editing images using the OpenAI gpt-image-1 model.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A Model Context Protocol (MCP) server for generating and editing images using the OpenAI gpt-image-1 model.

License

Notifications You must be signed in to change notification settings

CLOUDWERX-DEV/gpt-image-1-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPT Image 1 MCP Logo

@cloudwerxlab/gpt-image-1-mcp

npm version npm downloads license node version Website

A Model Context Protocol (MCP) server for generating and editing images using the OpenAI gpt-image-1 model.

OpenAI GPT-Image-1 MCP Compatible

🚀 Quick Start

NPX Ready

Run this MCP server directly using NPX without installing it. View on npm.

npx -y @cloudwerxlab/gpt-image-1-mcp

The -y flag automatically answers "yes" to any prompts that might appear during the installation process.

📋 Prerequisites

Node.js v14+

Node.js (v14 or higher)

OpenAI API Key

OpenAI API key with access to gpt-image-1

🔑 Environment Variables

Variable Required Description
OPENAI_API_KEY ✅ Yes Your OpenAI API key with access to the gpt-image-1 model
GPT_IMAGE_OUTPUT_DIR ❌ No Custom directory for saving generated images (defaults to user's Pictures folder under gpt-image-1 subfolder)

💻 Example Usage with NPX

Operating System Command Line Example
Linux/macOS
# Set your OpenAI API key
export OPENAI_API_KEY=sk-your-openai-api-key

# Optional: Set custom output directory
export GPT_IMAGE_OUTPUT_DIR=/home/username/Pictures/ai-generated-images

# Run the server with NPX
npx -y @cloudwerxlab/gpt-image-1-mcp
Windows (PowerShell)
# Set your OpenAI API key
$env:OPENAI_API_KEY = "sk-your-openai-api-key"

# Optional: Set custom output directory
$env:GPT_IMAGE_OUTPUT_DIR = "C:\Users\username\Pictures\ai-generated-images"

# Run the server with NPX
npx -y @cloudwerxlab/gpt-image-1-mcp
Windows (Command Prompt)
:: Set your OpenAI API key
set OPENAI_API_KEY=sk-your-openai-api-key

:: Optional: Set custom output directory
set GPT_IMAGE_OUTPUT_DIR=C:\Users\username\Pictures\ai-generated-images

:: Run the server with NPX
npx -y @cloudwerxlab/gpt-image-1-mcp

🔌 Integration with MCP Clients

VS Code MCP Extension Roo Compatible Cursor Compatible Augment Compatible Windsurf Compatible

🛠️ Setting Up in an MCP Client

Step 1: Locate Settings File

  • For Roo: c:\Users\<username>\AppData\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json
  • For VS Code MCP Extension: Check your extension documentation for the settings file location
  • For Cursor: ~/.config/cursor/mcp_settings.json (Linux/macOS) or %APPDATA%\Cursor\mcp_settings.json (Windows)
  • For Augment: ~/.config/augment/mcp_settings.json (Linux/macOS) or %APPDATA%\Augment\mcp_settings.json (Windows)
  • For Windsurf: ~/.config/windsurf/mcp_settings.json (Linux/macOS) or %APPDATA%\Windsurf\mcp_settings.json (Windows)

Step 2: Add Configuration

Add the following configuration to the mcpServers object:

{
  "mcpServers": {
    "gpt-image-1": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudwerxlab/gpt-image-1-mcp"
      ],
      "env": {
        "OPENAI_API_KEY": "PASTE YOUR OPEN-AI KEY HERE",
        "GPT_IMAGE_OUTPUT_DIR": "OPTIONAL: PATH TO SAVE GENERATED IMAGES"
      }
    }
  }
}

Example Configurations for Different Operating Systems

Operating System Example Configuration
Windows
{
  "mcpServers": {
    "gpt-image-1": {
      "command": "npx",
      "args": ["-y", "@cloudwerxlab/gpt-image-1-mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-your-openai-api-key",
        "GPT_IMAGE_OUTPUT_DIR": "C:\\Users\\username\\Pictures\\ai-generated-images"
      }
    }
  }
}
Linux/macOS
{
  "mcpServers": {
    "gpt-image-1": {
      "command": "npx",
      "args": ["-y", "@cloudwerxlab/gpt-image-1-mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-your-openai-api-key",
        "GPT_IMAGE_OUTPUT_DIR": "/home/username/Pictures/ai-generated-images"
      }
    }
  }
}

Note: For Windows paths, use double backslashes (\\) to escape the backslash character in JSON. For Linux/macOS, use forward slashes (/).

✨ Features

🎨 Core Tools

  • create_image: Generate new images from text prompts
  • create_image_edit: Edit existing images with text prompts and masks

🚀 Key Benefits

  • Simple integration with MCP clients
  • Full access to OpenAI's gpt-image-1 capabilities
  • Streamlined workflow for AI image generation

💡 Enhanced Capabilities

📊 Output & Formatting

  • Beautifully Formatted Output: Responses include emojis and detailed information
  • Automatic Image Saving: All generated images saved to disk for easy access
  • Detailed Token Usage: View token consumption for each request

⚙️ Configuration & Handling

  • Configurable Output Directory: Customize where images are saved
  • File Path Support: Edit images using file paths instead of base64 encoding
  • Comprehensive Error Handling: Detailed error reporting with specific error codes, descriptions, and troubleshooting suggestions

🔄 How It Works

🖼️ Image Generation ✏️ Image Editing
  1. Server receives prompt and parameters
  2. Calls OpenAI API using gpt-image-1 model
  3. API returns base64-encoded images
  4. Server saves images to configured directory
  5. Returns formatted response with paths and metadata
  1. Server receives image, prompt, and optional mask
  2. For file paths, reads and prepares files for API
  3. Uses direct curl command for proper MIME handling
  4. API returns base64-encoded edited images
  5. Server saves images to configured directory
  6. Returns formatted response with paths and metadata

📁 Output Directory Behavior

📂 Storage Location

  • 🔹 Default Location: User's Pictures folder under gpt-image-1 subfolder (e.g., C:\Users\username\Pictures\gpt-image-1 on Windows)
  • 🔹 Custom Location: Set via GPT_IMAGE_OUTPUT_DIR environment variable
  • 🔹 Fallback Location: ./generated-images (if Pictures folder can't be determined)

🗂️ File Management

  • 🔹 Directory Creation: Automatically creates output directory if it doesn't exist
  • 🔹 File Naming: Images saved with timestamped filenames (e.g., image-2023-05-05T12-34-56-789Z.png)
  • 🔹 Cross-Platform: Works on Windows, macOS, and Linux with appropriate Pictures folder detection

Installation & Usage

NPM Package

This package is available on npm: @cloudwerxlab/gpt-image-1-mcp

You can install it globally:

npm install -g @cloudwerxlab/gpt-image-1-mcp

Or run it directly with npx as shown in the Quick Start section.

Tool: create_image

Generates a new image based on a text prompt.

Parameters

Parameter Type Required Description
prompt string Yes The text description of the image to generate (max 32,000 chars)
size string No Image size: "1024x1024" (default), "1536x1024", or "1024x1536"
quality string No Image quality: "high" (default), "medium", or "low"
n integer No Number of images to generate (1-10, default: 1)
background string No Background style: "transparent", "opaque", or "auto" (default)
output_format string No Output format: "png" (default), "jpeg", or "webp"
output_compression integer No Compression level (0-100, default: 0)
user string No User identifier for OpenAI usage tracking
moderation string No Moderation level: "low" or "auto" (default)

Example

<use_mcp_tool>
<server_name>gpt-image-1</server_name>
<tool_name>create_image</tool_name>
<arguments>
{
  "prompt": "A futuristic city skyline at sunset, digital art",
  "size": "1024x1024",
  "quality": "high",
  "n": 1,
  "background": "auto"
}
</arguments>
</use_mcp_tool>

Response

The tool returns:

  • A formatted text message with details about the generated image(s)
  • The image(s) as base64-encoded data
  • Metadata including token usage and file paths

Tool: create_image_edit

Edits an existing image based on a text prompt and optional mask.

Parameters

Parameter Type Required Description
image string, object, or array Yes The image(s) to edit (base64 string or file path object)
prompt string Yes The text description of the desired edit (max 32,000 chars)
mask string or object No The mask that defines areas to edit (base64 string or file path object)
size string No Image size: "1024x1024" (default), "1536x1024", or "1024x1536"
quality string No Image quality: "high" (default), "medium", or "low"
n integer No Number of images to generate (1-10, default: 1)
background string No Background style: "transparent", "opaque", or "auto" (default)
user string No User identifier for OpenAI usage tracking

Example with Base64 Encoded Image

<use_mcp_tool>
<server_name>gpt-image-1</server_name>
<tool_name>create_image_edit</tool_name>
<arguments>
{
  "image": "BASE64_ENCODED_IMAGE_STRING",
  "prompt": "Add a small robot in the corner",
  "mask": "BASE64_ENCODED_MASK_STRING",
  "quality": "high"
}
</arguments>
</use_mcp_tool>

Example with File Path

<use_mcp_tool>
<server_name>gpt-image-1</server_name>
<tool_name>create_image_edit</tool_name>
<arguments>
{
  "image": {
    "filePath": "C:/path/to/your/image.png"
  },
  "prompt": "Add a small robot in the corner",
  "mask": {
    "filePath": "C:/path/to/your/mask.png"
  },
  "quality": "high"
}
</arguments>
</use_mcp_tool>

Response

The tool returns:

  • A formatted text message with details about the edited image(s)
  • The edited image(s) as base64-encoded data
  • Metadata including token usage and file paths

🔧 Troubleshooting

Support Available

🚨 Common Issues

Issue Solution

🖼️ MIME Type Errors

Errors related to image format or MIME type handling

Ensure image files have the correct extension (.png, .jpg, etc.) that matches their actual format. The server uses file extensions to determine MIME types.

🔑 API Key Issues

Authentication errors with OpenAI API

Verify your OpenAI API key is correct and has access to the gpt-image-1 model. Check for any spaces or special characters that might have been accidentally included.

🛠️ Build Errors

Issues when building from source

Ensure you have the correct TypeScript version installed (v5.3.3 or compatible) and that your tsconfig.json is properly configured. Run npm install to ensure all dependencies are installed.

📁 Output Directory Issues

Problems with saving generated images

Check if the process has write permissions to the configured output directory. Try using an absolute path for GPT_IMAGE_OUTPUT_DIR if relative paths aren't working.

🔍 Error Han 71B9 dling and Reporting

The MCP server includes comprehensive error handling that provides detailed information when something goes wrong. When an error occurs:

  1. Error Format: All errors are returned with:

    • A clear error message describing what went wrong
    • The specific error code or type
    • Additional context about the error when available
  2. AI Assistant Behavior: When using this MCP server with AI assistants:

    • The AI will always report the full error message to help with troubleshooting
    • The AI will explain the likely cause of the error in plain language
    • The AI will suggest specific steps to resolve the issue

📄 License

MIT License

This project is licensed under the MIT License - see the LICENSE file for details.

License Summary

The MIT License is a permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty.

You are free to:

  • Use the software commercially
  • Modify the software
  • Distribute the software
  • Use and modify the software privately

Under the following terms:

  • Include the original copyright notice and the license notice in all copies or substantial uses of the work

Limitations:

  • The authors provide no warranty with the software and are not liable for any damages

🙏 Acknowledgments

Developed with ❤️ by CLOUDWERX

About

A Model Context Protocol (MCP) server for generating and editing images using the OpenAI gpt-image-1 model.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0