← Index

Image Generation MCP Server

io.github.pvliesdonk/image-generation-mcp·v1.9.0·AI & LLMs
Quality Score
95
/100

MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders.

§01  Install
Claude Desktop (uvx)
{
  "mcpServers": {
    "image-generation-mcp": {
      "command": "uvx",
      "args": [
        "image-generation-mcp"
      ],
      "env": {
        "IMAGE_GENERATION_MCP_READ_ONLY": "true",
        "IMAGE_GENERATION_MCP_SCRATCH_DIR": "/data/scratch",
        "IMAGE_GENERATION_MCP_DEFAULT_PROVIDER": "auto",
        "IMAGE_GENERATION_MCP_OPENAI_API_KEY": "<your-image_generation_mcp_openai_api_key>",
        "IMAGE_GENERATION_MCP_SD_WEBUI_HOST": "<image_generation_mcp_sd_webui_host>",
        "IMAGE_GENERATION_MCP_SD_WEBUI_MODEL": "<image_generation_mcp_sd_webui_model>",
        "IMAGE_GENERATION_MCP_A1111_HOST": "<image_generation_mcp_a1111_host>",
        "IMAGE_GENERATION_MCP_A1111_MODEL": "<image_generation_mcp_a1111_model>",
        "FASTMCP_LOG_LEVEL": "INFO",
        "IMAGE_GENERATION_MCP_SERVER_NAME": "image-generation-mcp",
        "IMAGE_GENERATION_MCP_INSTRUCTIONS": "<image_generation_mcp_instructions>",
        "IMAGE_GENERATION_MCP_BEARER_TOKEN": "<your-image_generation_mcp_bearer_token>",
        "IMAGE_GENERATION_MCP_AUTH_MODE": "<image_generation_mcp_auth_mode>",
        "IMAGE_GENERATION_MCP_BASE_URL": "<image_generation_mcp_base_url>",
        "IMAGE_GENERATION_MCP_OIDC_CONFIG_URL": "<image_generation_mcp_oidc_config_url>",
        "IMAGE_GENERATION_MCP_OIDC_CLIENT_ID": "<image_generation_mcp_oidc_client_id>",
        "IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET": "<your-image_generation_mcp_oidc_client_secret>",
        "IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY": "<your-image_generation_mcp_oidc_jwt_signing_key>",
        "IMAGE_GENERATION_MCP_OIDC_AUDIENCE": "<image_generation_mcp_oidc_audience>",
        "IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES": "<image_generation_mcp_oidc_required_scopes>",
        "IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN": "false",
        "IMAGE_GENERATION_MCP_HTTP_PATH": "/mcp",
        "IMAGE_GENERATION_MCP_EVENT_STORE_URL": "file:///data/state/events",
        "PUID": "1000",
        "PGID": "1000"
      }
    }
  }
}
Claude Desktop (Docker)
{
  "mcpServers": {
    "image-generation-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/pvliesdonk/image-generation-mcp:v1.9.0"
      ],
      "env": {
        "IMAGE_GENERATION_MCP_READ_ONLY": "true",
        "IMAGE_GENERATION_MCP_SCRATCH_DIR": "/data/scratch",
        "IMAGE_GENERATION_MCP_DEFAULT_PROVIDER": "auto",
        "IMAGE_GENERATION_MCP_OPENAI_API_KEY": "<your-image_generation_mcp_openai_api_key>",
        "IMAGE_GENERATION_MCP_SD_WEBUI_HOST": "<image_generation_mcp_sd_webui_host>",
        "IMAGE_GENERATION_MCP_SD_WEBUI_MODEL": "<image_generation_mcp_sd_webui_model>",
        "IMAGE_GENERATION_MCP_A1111_HOST": "<image_generation_mcp_a1111_host>",
        "IMAGE_GENERATION_MCP_A1111_MODEL": "<image_generation_mcp_a1111_model>",
        "FASTMCP_LOG_LEVEL": "INFO",
        "IMAGE_GENERATION_MCP_SERVER_NAME": "image-generation-mcp",
        "IMAGE_GENERATION_MCP_INSTRUCTIONS": "<image_generation_mcp_instructions>",
        "IMAGE_GENERATION_MCP_BEARER_TOKEN": "<your-image_generation_mcp_bearer_token>",
        "IMAGE_GENERATION_MCP_AUTH_MODE": "<image_generation_mcp_auth_mode>",
        "IMAGE_GENERATION_MCP_BASE_URL": "<image_generation_mcp_base_url>",
        "IMAGE_GENERATION_MCP_OIDC_CONFIG_URL": "<image_generation_mcp_oidc_config_url>",
        "IMAGE_GENERATION_MCP_OIDC_CLIENT_ID": "<image_generation_mcp_oidc_client_id>",
        "IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET": "<your-image_generation_mcp_oidc_client_secret>",
        "IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY": "<your-image_generation_mcp_oidc_jwt_signing_key>",
        "IMAGE_GENERATION_MCP_OIDC_AUDIENCE": "<image_generation_mcp_oidc_audience>",
        "IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES": "<image_generation_mcp_oidc_required_scopes>",
        "IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN": "false",
        "IMAGE_GENERATION_MCP_HTTP_PATH": "/mcp",
        "IMAGE_GENERATION_MCP_EVENT_STORE_URL": "file:///data/state/events",
        "PUID": "1000",
        "PGID": "1000"
      }
    }
  }
}
§02  Environment variables
IMAGE_GENERATION_MCP_READ_ONLY

When true, write-tagged tools (generate_image) are hidden. Set to false to enable image generation.

IMAGE_GENERATION_MCP_SCRATCH_DIR

Directory for saved generated images. Created automatically on first use.

IMAGE_GENERATION_MCP_DEFAULT_PROVIDER

Default provider selection: auto (keyword-based), openai, sd_webui, or placeholder. Deprecated alias 'a1111' is also accepted.

IMAGE_GENERATION_MCP_OPENAI_API_KEY
secret

OpenAI API key. Enables the OpenAI provider (gpt-image-1, dall-e-3) when set.

IMAGE_GENERATION_MCP_SD_WEBUI_HOST

SD WebUI base URL (e.g. http://localhost:7860). Enables the SD WebUI provider when set.

IMAGE_GENERATION_MCP_SD_WEBUI_MODEL

SD WebUI checkpoint name for model-aware preset detection (SD 1.5 vs SDXL vs Lightning vs Flux).

IMAGE_GENERATION_MCP_A1111_HOST

Deprecated — use SD_WEBUI_HOST instead. Accepted as fallback.

IMAGE_GENERATION_MCP_A1111_MODEL

Deprecated — use SD_WEBUI_MODEL instead. Accepted as fallback.

FASTMCP_LOG_LEVEL

Log level for FastMCP internals; app loggers default to INFO, -v overrides both to DEBUG.

IMAGE_GENERATION_MCP_SERVER_NAME

Server name shown to MCP clients in the initialization response.

IMAGE_GENERATION_MCP_INSTRUCTIONS

System-level instructions injected into LLM context.

IMAGE_GENERATION_MCP_BEARER_TOKEN
secret

Static bearer token for HTTP authentication.

IMAGE_GENERATION_MCP_AUTH_MODE

OIDC auth mode: 'remote' (JWKS validation) or 'oidc-proxy' (OAuth proxy). Auto-detected if not set.

IMAGE_GENERATION_MCP_BASE_URL

Public base URL for OIDC redirects (e.g. https://mcp.example.com). Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_CONFIG_URL

OIDC discovery endpoint URL. Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_CLIENT_ID

OIDC client ID. Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET
secret

OIDC client secret. Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY
secret

Signing key for OIDC session JWTs (critical on Linux/Docker).

IMAGE_GENERATION_MCP_OIDC_AUDIENCE

Expected JWT audience claim. Leave unset if your provider does not set one.

IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES

Comma-separated required OIDC scopes (default: openid for oidc-proxy mode, none for remote mode).

IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN

Verify access token JWT instead of id_token.

IMAGE_GENERATION_MCP_READ_ONLY

When true, write-tagged tools (generate_image) are hidden. Set to false to enable image generation.

IMAGE_GENERATION_MCP_SCRATCH_DIR

Directory for saved generated images inside the container.

IMAGE_GENERATION_MCP_DEFAULT_PROVIDER

Default provider selection: auto (keyword-based), openai, sd_webui, or placeholder. Deprecated alias 'a1111' is also accepted.

IMAGE_GENERATION_MCP_OPENAI_API_KEY
secret

OpenAI API key. Enables the OpenAI provider (gpt-image-1, dall-e-3) when set.

IMAGE_GENERATION_MCP_SD_WEBUI_HOST

SD WebUI base URL (e.g. http://localhost:7860). Enables the SD WebUI provider when set.

IMAGE_GENERATION_MCP_SD_WEBUI_MODEL

SD WebUI checkpoint name for model-aware preset detection (SD 1.5 vs SDXL vs Lightning vs Flux).

IMAGE_GENERATION_MCP_A1111_HOST

Deprecated — use SD_WEBUI_HOST instead. Accepted as fallback.

IMAGE_GENERATION_MCP_A1111_MODEL

Deprecated — use SD_WEBUI_MODEL instead. Accepted as fallback.

FASTMCP_LOG_LEVEL

Log level for FastMCP internals; app loggers default to INFO, -v overrides both to DEBUG.

IMAGE_GENERATION_MCP_SERVER_NAME

Server name shown to MCP clients in the initialization response.

IMAGE_GENERATION_MCP_INSTRUCTIONS

System-level instructions injected into LLM context.

IMAGE_GENERATION_MCP_HTTP_PATH

HTTP endpoint mount path for streamable-HTTP transport.

IMAGE_GENERATION_MCP_EVENT_STORE_URL

EventStore backend for SSE session resumability. file:///path (file-backed, survives restarts) or memory:// (in-process only, dev mode).

PUID

Run as this UID (Docker entrypoint).

PGID

Run as this GID (Docker entrypoint).

IMAGE_GENERATION_MCP_BEARER_TOKEN
secret

Static bearer token for HTTP authentication.

IMAGE_GENERATION_MCP_AUTH_MODE

OIDC auth mode: 'remote' (JWKS validation) or 'oidc-proxy' (OAuth proxy). Auto-detected if not set.

IMAGE_GENERATION_MCP_BASE_URL

Public base URL for OIDC redirects (e.g. https://mcp.example.com). Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_CONFIG_URL

OIDC discovery endpoint URL. Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_CLIENT_ID

OIDC client ID. Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET
secret

OIDC client secret. Required for OIDC.

IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY
secret

Signing key for OIDC session JWTs (critical on Linux/Docker).

IMAGE_GENERATION_MCP_OIDC_AUDIENCE

Expected JWT audience claim. Leave unset if your provider does not set one.

IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES

Comma-separated required OIDC scopes (default: openid for oidc-proxy mode, none for remote mode).

IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN

Verify access token JWT instead of id_token.

§03  MCP Quality Score  ·  methodology
freshness
25
completeness
20
installability
25
documentation
15
stability
10
§04  Alternatives in AI & LLMs