Skip to main content
Glama

openai-images-mcp

Model Context Protocol 도구로 노출되는 OpenAI의 gpt-image 및 DALL·E 모델을 사용하여 이미지를 생성하고 편집하세요. gpt-image-1.5, gpt-image-1, gpt-image-1-mini, dall-e-3, dall-e-2를 지원합니다.

도구

도구

목적

모델

list_models

지원되는 모델과 해당 기능(크기, 품질, 편집/변형 지원)을 나열합니다.

전체

generate_image

텍스트 프롬프트에서 하나 이상의 이미지를 생성합니다.

gpt-image-1.5, gpt-image-1, gpt-image-1-mini, dall-e-3, dall-e-2

edit_image

프롬프트와 선택적 마스크를 사용하여 기존 이미지를 편집합니다.

gpt-image-1.5, gpt-image-1, gpt-image-1-mini, dall-e-2

create_variation

이미지의 변형을 생성합니다.

dall-e-2 전용

생성된 모든 파일은 디스크에 저장됩니다. 호출 시 return_image_content: true를 설정하면 MCP 이미지 블록으로도 이미지를 받을 수 있습니다(클라이언트가 결과를 "확인"해야 할 때 유용하지만, 토큰을 많이 소모합니다).

Related MCP server: GPT Image MCP Server

설치

npm install
npm run build

MCP 클라이언트 구성

Claude Desktop / Claude Code

claude_desktop_config.json(또는 프로젝트의 .mcp.json)에 추가하세요:

{
  "mcpServers": {
    "dalle": {
      "command": "node",
      "args": ["/absolute/path/to/dalle-mcp/dist/index.js"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "DALLE_OUTPUT_DIR": "/absolute/path/where/images/save"
      }
    }
  }
}

환경 변수

변수

목적

OPENAI_API_KEY

필수. OpenAI API 키입니다.

OPENAI_BASE_URL

선택 사항. OpenAI 기본 URL을 재정의합니다.

OPENAI_ORG_ID

선택 사항.

OPENAI_PROJECT_ID

선택 사항.

DALLE_OUTPUT_DIR

선택 사항. 저장된 이미지의 기본 디렉토리입니다. 기본값은 ~/dalle-mcp-output입니다.

DALLE_DEFAULT_MODEL

선택 사항. 도구 호출에서 model을 생략할 때 사용되는 모델입니다. 기본값은 gpt-image-1.5입니다.

도구 참조

generate_image

필수: prompt.

선택 사항: model, size, quality, n, background, output_format, output_compression, moderation, style, user, output_dir, filename_prefix, return_image_content.

모델별 참고 사항:

  • GPT Image (gpt-image-1.5, gpt-image-1, gpt-image-1-mini): 크기 auto|1024x1024|1536x1024|1024x1536, 품질 auto|low|medium|high. background, output_format, output_compression, moderation을 지원합니다.

  • DALL·E 3: 크기 1024x1024|1792x1024|1024x1792, 품질 standard|hd, n은 1이어야 하며, style을 지원합니다.

  • DALL·E 2: 크기 256x256|512x512|1024x1024, 품질 standard.

edit_image

필수: prompt, images (절대 경로, GPT Image의 경우 최대 16개).

선택 사항: mask (투명 픽셀은 편집 가능한 영역을 나타냄), 위에서 언급한 생성 옵션. DALL·E 3는 편집을 지원하지 않습니다.

create_variation

DALL·E 2 전용. 필수: image (PNG, 정사각형, 4MB 미만).

선택 사항: n, size (256x256|512x512|1024x1024), output_dir, filename_prefix, return_image_content.

list_models

인수 없음. 각 모델의 크기, 품질 및 지원되는 옵션을 설명하는 JSON 문서를 반환합니다. 매개변수를 선택하기 전에 호출자가 확인하기에 유용합니다.

개발

npm run dev     # run with tsx, no build step
npm run build   # tsc to dist/
npm start       # node dist/index.js

서버는 stdio를 통해 MCP를 통신하므로, 모든 MCP 호환 클라이언트로 구동하거나 node dist/index.js로 JSON-RPC 메시지를 파이핑하여 수동으로 구동할 수 있습니다.

참고 사항

  • DALL·E 2와 DALL·E 3는 OpenAI에 의해 지원이 중단되었으며 지원은 2026-05-12에 종료됩니다. GPT Image 제품군을 사용하는 것을 권장합니다.

  • GPT Image 모델은 항상 base64 데이터를 반환합니다. DALL·E 모델도 두 번째 HTTP 왕복 없이 파일을 저장할 수 있도록 base64를 요청합니다.

Available Tools

4 tools
create_variationCreate image variationA

Generate variations of an existing image using DALL·E 2 (the only model that supports variations). Results are saved to disk and file paths are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesAbsolute path to the source image (PNG, square, <4MB).
nNoNumber of variations to generate (default 1).
sizeNoOutput size. Default 1024x1024.
userNo
output_dirNo
filename_prefixNo
return_image_contentNo

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that results are saved to disk and file paths are returned, but does not cover potential side effects, error conditions, or rate limits. Adequate but not thorough.

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 deliver key information efficiently with no filler. Front-loaded with the primary verb and resource, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description mentions file paths returned, covering the essential output. With 7 parameters and no annotations, it could elaborate on return format or usage of optional parameters, but is largely sufficient for a simple generation tool.

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 coverage is 43%, with only image and size having descriptions. The description adds context that results are saved to disk, implying output_dir and filename_prefix usage, but does not fully explain user or return_image_content. Partially compensates for gaps.

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 clearly states the tool generates variations of an existing image using DALL·E 2, specifying the resource and action. It distinguishes from siblings like generate_image and edit_image by highlighting the model and purpose.

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 explicitly mentions using DALL·E 2 as the only model supporting variations, guiding when to use this tool. It lacks explicit when-not-to-use or alternative tools, but provides clear context for appropriate use.

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

edit_imageEdit imageC

Edit one or more existing images using a text prompt and optional mask. Supports gpt-image-1.5, gpt-image-1, gpt-image-1-mini, and dall-e-2. Results are saved to disk and file paths are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesDescription of the desired edit.
imagesYesAbsolute paths to input image files (png/jpg/webp). Up to 16 for GPT Image.
maskNoAbsolute path to a mask image. Transparent pixels indicate areas to edit. Must match the first input image's dimensions.
modelNoModel to use. DALL·E 3 does not support edits. Defaults to env DALLE_DEFAULT_MODEL or gpt-image-1.5.
sizeNo
qualityNo
nNo
backgroundNo
output_formatNo
output_compressionNo
input_fidelityNoGPT Image only. 'high' preserves more of the original image.
userNo
output_dirNo
filename_prefixNo
return_image_contentNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions saving to disk and returning file paths, but does not disclose other behavioral traits such as destructiveness, permissions, or model-specific behaviors. The description is minimal.

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 concise with three sentences and front-loads the main action. It could be more structured but is efficient.

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?

Given 15 parameters, low schema coverage, no output schema, and sibling tools, the description is incomplete. It does not cover parameter details or usage contexts, leaving significant gaps for an agent.

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

Parameters1/5

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

Schema description coverage is only 33%, so the description should compensate. It only mentions 'text prompt' and 'optional mask', which are already captured in the schema. No additional meaning is provided for the other 13 parameters.

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 verb 'edit' and the resource 'existing images' using a text prompt and optional mask. It distinguishes from siblings like 'generate_image' by focusing on existing images, but does not explicitly contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus its siblings. It does not mention alternative tools for generation or variation, leaving the agent without context for selection.

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

generate_imageGenerate imageB

Create one or more images from a text prompt using OpenAI's image models (gpt-image-1.5, gpt-image-1, gpt-image-1-mini, dall-e-3, dall-e-2). Images are saved to disk and file paths are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesText description of the image to generate.
modelNoModel to use. Defaults to env DALLE_DEFAULT_MODEL or gpt-image-1.5.
sizeNoImage dimensions. Allowed values depend on the model (see list_models).
qualityNoGPT Image: auto|low|medium|high. DALL·E 3: standard|hd. DALL·E 2: standard.
nNoNumber of images to generate. DALL·E 3 supports only 1.
backgroundNoGPT Image only. Use 'transparent' with png/webp for alpha channel output.
output_formatNoGPT Image only. Output file format.
output_compressionNoGPT Image only. Compression % for jpeg/webp (0-100).
moderationNoGPT Image only. Content moderation strictness.
styleNoDALL·E 3 only. Vivid = hyper-real/dramatic, natural = more muted.
userNoEnd-user identifier for OpenAI abuse monitoring.
output_dirNoAbsolute directory to save generated images. Defaults to $DALLE_OUTPUT_DIR or ~/dalle-mcp-output.
filename_prefixNoPrefix used when naming saved files (alphanumeric/underscore/dash).
return_image_contentNoIf true, return the generated images as MCP image content blocks in addition to saving them to disk. Adds significant tokens. Default: false.

TDQS

B3.3/5.0
Behavior3/5

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

Description mentions images are saved to disk and file paths returned, but lacks details on API calls, costs, or side effects. With no annotations, more behavioral context would be beneficial.

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?

Single sentence, concise and front-loaded. No wasted words, though could be slightly more structured.

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?

Given 14 parameters, no output schema, and zero annotations, the description is too minimal. Does not explain return format sufficiently (e.g., optional image content), error handling, or directory behavior.

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 coverage is 100%, so baseline is 3. Description adds no additional parameter information beyond what schema provides.

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?

Description clearly states 'Create one or more images from a text prompt' and lists specific models, distinguishing it from siblings like create_variation (variations) and edit_image (edits).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like create_variation or edit_image. Agent must infer from context.

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

list_modelsList image modelsA

List supported OpenAI image models with their capabilities (sizes, qualities, edit/variation support, etc.). Use this before calling generate_image or edit_image to check which options a model accepts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not explicitly state that the tool is read-only or non-destructive, which is expected for a listing operation. The behavioral disclosure is insufficient.

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, front-loaded with the action and resource, no wasted words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description covers the tool's purpose and usage context. It could mention the output format, but it's fairly complete for a simple list operation.

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 input schema has no parameters, and schema description coverage is 100%. The description adds no parameter info, which is acceptable since none exist. Baseline of 4 is appropriate.

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 uses a specific verb ('List') and resource ('supported OpenAI image models') and distinguishes from siblings by stating to use this tool before generate_image or edit_image to check model capabilities.

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 explicitly advises to use this tool before calling generate_image or edit_image, providing clear context. It does not list when not to use, but the guidance is clear enough.

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.1.0
    • First observedcreate_variation
    • First observededit_image
    • First observedgenerate_image
    • First observedlist_models

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: generating new images, editing existing ones, creating variations, and listing supported models. There is no overlap or confusion between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (create_variation, edit_image, generate_image, list_models), making them predictable and easy to understand.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of generating and manipulating images via OpenAI's APIs. Each tool earns its place without unnecessary duplication or gaps.

Completeness5/5

The set covers the full lifecycle of image creation: generating, editing, and creating variations, along with a model listing tool for configuration. No obvious missing functionality for the intended domain.

Related MCP Connectors

Related MCP Servers