---
bezeichner: "io.github.pvliesdonk/image-generation-mcp"
art: "mcp_server"
slug: "io-github-pvliesdonk-image-generation-mcp"
paketkoordinate: "pypi:image-generation-mcp"
status: "aktiv"
homepage: "https://pvliesdonk.github.io/image-generation-mcp/"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.pvliesdonk"
registerseite: "https://tracevero.de/mcp/io-github-pvliesdonk-image-generation-mcp"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: true
quelloffen_einsehbar: true
einsatzgebiet: "bild"
roh_beschreibung: "MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders."
version: "1.12.1"
roh_umgebungsvariablen: "IMAGE_GENERATION_MCP_KV_STORE_URL, IMAGE_GENERATION_MCP_TOOLS_ALLOW, IMAGE_GENERATION_MCP_TOOLS_DENY, IMAGE_GENERATION_MCP_SERVER_NAME, IMAGE_GENERATION_MCP_INSTRUCTIONS, FASTMCP_LOG_LEVEL, FASTMCP_ENABLE_RICH_LOGGING, IMAGE_GENERATION_MCP_A1111_HOST, IMAGE_GENERATION_MCP_A1111_MODEL, IMAGE_GENERATION_MCP_READ_ONLY, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_OPENAI_API_KEY, IMAGE_GENERATION_MCP_GOOGLE_API_KEY, IMAGE_GENERATION_MCP_SD_WEBUI_HOST, IMAGE_GENERATION_MCP_SD_WEBUI_MODEL, IMAGE_GENERATION_MCP_DEFAULT_PROVIDER, IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE, IMAGE_GENERATION_MCP_PAID_PROVIDERS, IMAGE_GENERATION_MCP_STYLES_DIR, IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT, IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES, IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S, IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S, IMAGE_GENERATION_MCP_TRANSFER_LEASE_S, IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES, IMAGE_GENERATION_MCP_BASE_URL, IMAGE_GENERATION_MCP_BEARER_TOKEN, IMAGE_GENERATION_MCP_OIDC_CONFIG_URL, IMAGE_GENERATION_MCP_OIDC_CLIENT_ID, IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET, IMAGE_GENERATION_MCP_OIDC_AUDIENCE, IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES, IMAGE_GENERATION_MCP_OIDC_ADVERTISED_SCOPES, IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY, IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN, IMAGE_GENERATION_MCP_KV_STORE_URL, IMAGE_GENERATION_MCP_APP_DOMAIN, IMAGE_GENERATION_MCP_TOOLS_ALLOW, IMAGE_GENERATION_MCP_TOOLS_DENY, IMAGE_GENERATION_MCP_AUTH_MODE, IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE, IMAGE_GENERATION_MCP_BEARER_DEFAULT_SUBJECT, IMAGE_GENERATION_MCP_SERVER_NAME, IMAGE_GENERATION_MCP_INSTRUCTIONS, IMAGE_GENERATION_MCP_HTTP_PATH, PUID, PGID, FASTMCP_LOG_LEVEL, FASTMCP_ENABLE_RICH_LOGGING, IMAGE_GENERATION_MCP_A1111_HOST, IMAGE_GENERATION_MCP_A1111_MODEL, IMAGE_GENERATION_MCP_READ_ONLY, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_OPENAI_API_KEY, IMAGE_GENERATION_MCP_GOOGLE_API_KEY, IMAGE_GENERATION_MCP_SD_WEBUI_HOST, IMAGE_GENERATION_MCP_SD_WEBUI_MODEL, IMAGE_GENERATION_MCP_DEFAULT_PROVIDER, IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE, IMAGE_GENERATION_MCP_PAID_PROVIDERS, IMAGE_GENERATION_MCP_STYLES_DIR, IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT, IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES, IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S, IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S, IMAGE_GENERATION_MCP_TRANSFER_LEASE_S, IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio, streamable-http"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/pvliesdonk/image-generation-mcp"
roh_paketquellen: "oci, pypi"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: "IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_STYLES_DIR"
roh_remote_adressen: ""
roh_remote_hosts: ""
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-08-25"
roh_aktualisiert_am: "2026-08-25"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "ghcr.io/pvliesdonk/image-generation-mcp:v1.12.1, image-generation-mcp"
roh_paketversionen: "1.12.1"
roh_laufzeithinweise: "uvx"
roh_umgebungsformate: "boolean, filepath, number"
roh_umgebungsbeschreibungen: "FASTMCP_ENABLE_RICH_LOGGING=Set false for plain or structured JSON log output. · FASTMCP_LOG_LEVEL=Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG. · IMAGE_GENERATION_MCP_A1111_HOST=Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_HOST; logs a warning when used. · IMAGE_GENERATION_MCP_A1111_MODEL=Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_MODEL; logs a warning when used. · IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT=Allow reading input images from local filesystem paths. Off by default: only URLs and uploads are accepted. · IMAGE_GENERATION_MCP_APP_DOMAIN=MCP Apps iframe domain, used for CSP sandboxing. Overrides the host derived from `base_url`. · IMAGE_GENERATION_MCP_AUTH_MODE=Explicit auth-mode override, accepting `remote` or `oidc-proxy` (case- and whitespace-insensitive). When unset the mode is auto-detected from which auth variables are set; the override exists because having all four OIDC variables set is ambiguous between those two modes. Other values are ignored with a warning. · IMAGE_GENERATION_MCP_BASE_URL=Public base URL of the deployed server, e.g. `https://mcp.example.com`. Required for OIDC. Also the fallback source of the MCP Apps domain when `app_domain` is unset. · IMAGE_GENERATION_MCP_BEARER_DEFAULT_SUBJECT=Subject assigned to the single-token bearer mode; ignored when `bearer_tokens_file` is set, since mapped mode carries per-token subjects. · IMAGE_GENERATION_MCP_BEARER_TOKEN=Single shared bearer token; enables bearer auth unless `bearer_tokens_file` is set, which takes precedence. · IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE=Path to a TOML file mapping bearer tokens to subjects; overrides the single-token `bearer_token` mode. · IMAGE_GENERATION_MCP_DEFAULT_PROVIDER=Provider used when no keyword triggers auto-selection: auto, openai, gemini, sd_webui, or placeholder. auto picks the first configured provider. · IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S=HTTP timeout in seconds when fetching remote image URLs (fetch_image and URL inputs). · IMAGE_GENERATION_MCP_GOOGLE_API_KEY=Google API key. Enables the Gemini provider (gemini-3.1-flash-image and others) when set. Get a key at https://aistudio.google.com/apikey. · IMAGE_GENERATION_MCP_HTTP_PATH=Mount path for the MCP endpoint. · IMAGE_GENERATION_MCP_INSTRUCTIONS=Replaces the default MCP instructions text sent to clients. · IMAGE_GENERATION_MCP_KV_STORE_URL=Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` — with a warning — on a host where that directory is not usable. · IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES=Maximum accepted input image size in bytes. · IMAGE_GENERATION_MCP_OIDC_ADVERTISED_SCOPES=Scopes advertised to MCP clients in protected-resource metadata, space- or comma-separated. Overrides the default `openid offline_access`; `oidc_required_scopes` is always added on top. Set this when the registered client is not permitted `offline_access`, or to have clients request extra claim scopes (e.g. `groups`) without also requiring them in every token. · IMAGE_GENERATION_MCP_OIDC_AUDIENCE=Expected `aud` claim; tokens issued for another audience are rejected. · IMAGE_GENERATION_MCP_OIDC_CLIENT_ID=OIDC client identifier registered with the provider. · IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET=OIDC client secret registered with the provider. · IMAGE_GENERATION_MCP_OIDC_CONFIG_URL=OIDC discovery document URL, e.g. `https://auth.example.com/.well-known/openid-configuration`. · IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY=Signing key for issued JWTs; used in oidc-proxy mode only. When unset, the key is derived deterministically from `oidc_client_secret`, so tokens survive a restart — but rotating that secret invalidates every issued token. Set this explicitly to decouple token validity from secret rotation. Generate with `openssl rand -hex 32`. · IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES=Scopes a caller must present, space- or comma-separated. Defaults to `openid` in oidc-proxy mode. · IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN=Validate the access token instead of the id token. · IMAGE_GENERATION_MCP_OPENAI_API_KEY=OpenAI API key. Enables the OpenAI provider (gpt-image-2, gpt-image-1.5, dall-e-3) when set. · IMAGE_GENERATION_MCP_PAID_PROVIDERS=Comma-separated provider names that cost money; generate_image asks for confirmation (client elicitation) before using them. An empty value falls back to this default; to disable confirmation, set a value that names no provider (such as none). · IMAGE_GENERATION_MCP_READ_ONLY=When true, write-tagged tools (image generation, transforms, uploads) are hidden from clients. Set false to enable them. · IMAGE_GENERATION_MCP_SCRATCH_DIR=Directory where generated images are saved. Created automatically on first use. · IMAGE_GENERATION_MCP_SD_WEBUI_HOST=SD WebUI base URL (such as http://localhost:7860). Enables the SD WebUI provider when set. Compatible with AUTOMATIC1111, Forge, reForge, and Forge-neo. · IMAGE_GENERATION_MCP_SD_WEBUI_MODEL=SD WebUI checkpoint name, used for model-aware preset detection (SD 1.5 / SDXL / Lightning) and checkpoint override. Unset uses the instance's current model. · IMAGE_GENERATION_MCP_SERVER_NAME=Rename this server instance; defaults to the project name. · IMAGE_GENERATION_MCP_STYLES_DIR=Directory for style preset files (Markdown with YAML front matter). Created automatically if it does not exist. · IMAGE_GENERATION_MCP_TOOLS_ALLOW=Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`. · IMAGE_GENERATION_MCP_TOOLS_DENY=Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`. · IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S=Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it. · IMAGE_GENERATION_MCP_TRANSFER_LEASE_S=Crashed-handler reclaim window in seconds for an in-flight reservation. · IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES=Maximum size in bytes of a single upload. · IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S=Link lifetime in seconds when the caller requests no explicit TTL. · IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S=Ceiling in seconds a caller-requested link TTL is clamped to. · IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE=Maximum number of transformed image results (resize, crop, convert) kept in memory. Set 0 to disable caching. · PGID=Run the server process as this GID; pair with PUID to match the owner of a mounted volume. · PUID=Run the server process as this UID; the container entrypoint chowns writable paths to match."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"pypi\",\"identifier\":\"image-generation-mcp\",\"version\":\"1.12.1\",\"runtimeHint\":\"uvx\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"IMAGE_GENERATION_MCP_KV_STORE_URL\",\"description\":\"Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` — with a warning — on a host where that directory is not usable.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TOOLS_ALLOW\",\"description\":\"Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TOOLS_DENY\",\"description\":\"Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_SERVER_NAME\",\"description\":\"Rename this server instance; defaults to the project name.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_INSTRUCTIONS\",\"description\":\"Replaces the default MCP instructions text sent to clients.\",\"required\":false,\"secret\":false},{\"name\":\"FASTMCP_LOG_LEVEL\",\"description\":\"Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG.\",\"required\":false,\"secret\":false},{\"name\":\"FASTMCP_ENABLE_RICH_LOGGING\",\"description\":\"Set false for plain or structured JSON log output.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_A1111_HOST\",\"description\":\"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_HOST; logs a warning when used.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_A1111_MODEL\",\"description\":\"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_MODEL; logs a warning when used.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_READ_ONLY\",\"description\":\"When true, write-tagged tools (image generation, transforms, uploads) are hidden from clients. Set false to enable them.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_SCRATCH_DIR\",\"description\":\"Directory where generated images are saved. Created automatically on first use.\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_OPENAI_API_KEY\",\"description\":\"OpenAI API key. Enables the OpenAI provider (gpt-image-2, gpt-image-1.5, dall-e-3) when set.\",\"required\":false,\"secret\":true},{\"name\":\"IMAGE_GENERATION_MCP_GOOGLE_API_KEY\",\"description\":\"Google API key. Enables the Gemini provider (gemini-3.1-flash-image and others) when set. Get a key at https://aistudio.google.com/apikey.\",\"required\":false,\"secret\":true},{\"name\":\"IMAGE_GENERATION_MCP_SD_WEBUI_HOST\",\"description\":\"SD WebUI base URL (such as http://localhost:7860). Enables the SD WebUI provider when set. Compatible with AUTOMATIC1111, Forge, reForge, and Forge-neo.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL\",\"description\":\"SD WebUI checkpoint name, used for model-aware preset detection (SD 1.5 / SDXL / Lightning) and checkpoint override. Unset uses the instance's current model.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER\",\"description\":\"Provider used when no keyword triggers auto-selection: auto, openai, gemini, sd_webui, or placeholder. auto picks the first configured provider.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE\",\"description\":\"Maximum number of transformed image results (resize, crop, convert) kept in memory. Set 0 to disable caching.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_PAID_PROVIDERS\",\"description\":\"Comma-separated provider names that cost money; generate_image asks for confirmation (client elicitation) before using them. An empty value falls back to this default; to disable confirmation, set a value that names no provider (such as none).\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_STYLES_DIR\",\"description\":\"Directory for style preset files (Markdown with YAML front matter). Created automatically if it does not exist.\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT\",\"description\":\"Allow reading input images from local filesystem paths. Off by default: only URLs and uploads are accepted.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES\",\"description\":\"Maximum accepted input image size in bytes.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S\",\"description\":\"HTTP timeout in seconds when fetching remote image URLs (fetch_image and URL inputs).\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S\",\"description\":\"Link lifetime in seconds when the caller requests no explicit TTL.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S\",\"description\":\"Ceiling in seconds a caller-requested link TTL is clamped to.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S\",\"description\":\"Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S\",\"description\":\"Crashed-handler reclaim window in seconds for an in-flight reservation.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES\",\"description\":\"Maximum size in bytes of a single upload.\",\"format\":\"number\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false},{\"registryType\":\"oci\",\"identifier\":\"ghcr.io/pvliesdonk/image-generation-mcp:v1.12.1\",\"transport\":\"streamable-http\",\"environment\":[{\"name\":\"IMAGE_GENERATION_MCP_BASE_URL\",\"description\":\"Public base URL of the deployed server, e.g. `https://mcp.example.com`. Required for OIDC. Also the fallback source of the MCP Apps domain when `app_domain` is unset.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_BEARER_TOKEN\",\"description\":\"Single shared bearer token; enables bearer auth unless `bearer_tokens_file` is set, which takes precedence.\",\"required\":false,\"secret\":true},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_CONFIG_URL\",\"description\":\"OIDC discovery document URL, e.g. `https://auth.example.com/.well-known/openid-configuration`.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_CLIENT_ID\",\"description\":\"OIDC client identifier registered with the provider.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET\",\"description\":\"OIDC client secret registered with the provider.\",\"required\":false,\"secret\":true},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_AUDIENCE\",\"description\":\"Expected `aud` claim; tokens issued for another audience are rejected.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES\",\"description\":\"Scopes a caller must present, space- or comma-separated. Defaults to `openid` in oidc-proxy mode.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_ADVERTISED_SCOPES\",\"description\":\"Scopes advertised to MCP clients in protected-resource metadata, space- or comma-separated. Overrides the default `openid offline_access`; `oidc_required_scopes` is always added on top. Set this when the registered client is not permitted `offline_access`, or to have clients request extra claim scopes (e.g. `groups`) without also requiring them in every token.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY\",\"description\":\"Signing key for issued JWTs; used in oidc-proxy mode only. When unset, the key is derived deterministically from `oidc_client_secret`, so tokens survive a restart — but rotating that secret invalidates every issued token. Set this explicitly to decouple token validity from secret rotation. Generate with `openssl rand -hex 32`.\",\"required\":false,\"secret\":true},{\"name\":\"IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN\",\"description\":\"Validate the access token instead of the id token.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_KV_STORE_URL\",\"description\":\"Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` — with a warning — on a host where that directory is not usable.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_APP_DOMAIN\",\"description\":\"MCP Apps iframe domain, used for CSP sandboxing. Overrides the host derived from `base_url`.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TOOLS_ALLOW\",\"description\":\"Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TOOLS_DENY\",\"description\":\"Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_AUTH_MODE\",\"description\":\"Explicit auth-mode override, accepting `remote` or `oidc-proxy` (case- and whitespace-insensitive). When unset the mode is auto-detected from which auth variables are set; the override exists because having all four OIDC variables set is ambiguous between those two modes. Other values are ignored with a warning.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE\",\"description\":\"Path to a TOML file mapping bearer tokens to subjects; overrides the single-token `bearer_token` mode.\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_BEARER_DEFAULT_SUBJECT\",\"description\":\"Subject assigned to the single-token bearer mode; ignored when `bearer_tokens_file` is set, since mapped mode carries per-token subjects.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_SERVER_NAME\",\"description\":\"Rename this server instance; defaults to the project name.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_INSTRUCTIONS\",\"description\":\"Replaces the default MCP instructions text sent to clients.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_HTTP_PATH\",\"description\":\"Mount path for the MCP endpoint.\",\"required\":false,\"secret\":false},{\"name\":\"PUID\",\"description\":\"Run the server process as this UID; the container entrypoint chowns writable paths to match.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"PGID\",\"description\":\"Run the server process as this GID; pair with PUID to match the owner of a mounted volume.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"FASTMCP_LOG_LEVEL\",\"description\":\"Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG.\",\"required\":false,\"secret\":false},{\"name\":\"FASTMCP_ENABLE_RICH_LOGGING\",\"description\":\"Set false for plain or structured JSON log output.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_A1111_HOST\",\"description\":\"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_HOST; logs a warning when used.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_A1111_MODEL\",\"description\":\"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_MODEL; logs a warning when used.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_READ_ONLY\",\"description\":\"When true, write-tagged tools (image generation, transforms, uploads) are hidden from clients. Set false to enable them.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_SCRATCH_DIR\",\"description\":\"Directory where generated images are saved. Created automatically on first use.\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_OPENAI_API_KEY\",\"description\":\"OpenAI API key. Enables the OpenAI provider (gpt-image-2, gpt-image-1.5, dall-e-3) when set.\",\"required\":false,\"secret\":true},{\"name\":\"IMAGE_GENERATION_MCP_GOOGLE_API_KEY\",\"description\":\"Google API key. Enables the Gemini provider (gemini-3.1-flash-image and others) when set. Get a key at https://aistudio.google.com/apikey.\",\"required\":false,\"secret\":true},{\"name\":\"IMAGE_GENERATION_MCP_SD_WEBUI_HOST\",\"description\":\"SD WebUI base URL (such as http://localhost:7860). Enables the SD WebUI provider when set. Compatible with AUTOMATIC1111, Forge, reForge, and Forge-neo.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL\",\"description\":\"SD WebUI checkpoint name, used for model-aware preset detection (SD 1.5 / SDXL / Lightning) and checkpoint override. Unset uses the instance's current model.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER\",\"description\":\"Provider used when no keyword triggers auto-selection: auto, openai, gemini, sd_webui, or placeholder. auto picks the first configured provider.\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE\",\"description\":\"Maximum number of transformed image results (resize, crop, convert) kept in memory. Set 0 to disable caching.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_PAID_PROVIDERS\",\"description\":\"Comma-separated provider names that cost money; generate_image asks for confirmation (client elicitation) before using them. An empty value falls back to this default; to disable confirmation, set a value that names no provider (such as none).\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_STYLES_DIR\",\"description\":\"Directory for style preset files (Markdown with YAML front matter). Created automatically if it does not exist.\",\"format\":\"filepath\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT\",\"description\":\"Allow reading input images from local filesystem paths. Off by default: only URLs and uploads are accepted.\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES\",\"description\":\"Maximum accepted input image size in bytes.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S\",\"description\":\"HTTP timeout in seconds when fetching remote image URLs (fetch_image and URL inputs).\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S\",\"description\":\"Link lifetime in seconds when the caller requests no explicit TTL.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S\",\"description\":\"Ceiling in seconds a caller-requested link TTL is clamped to.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S\",\"description\":\"Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S\",\"description\":\"Crashed-handler reclaim window in seconds for an in-flight reservation.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES\",\"description\":\"Maximum size in bytes of a single upload.\",\"format\":\"number\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":true}],\"remotes\":[]}"
---

# Image Generation MCP Server

## Gemessene Werte

| Merkmal | Wert | Quelle | Erhoben am | Vertrauensgrad | Rohangabe |
| --- | --- | --- | --- | --- | --- |
| Pflicht-Geheimnisse deklariert | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Ausführungsort | lokal | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_transportarten: stdio, streamable-http |
| Pfadargument vorhanden | true | MCP-Register | 2026-08-16T01:17:01.420Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_STYLES_DIR |
| Repository-Adresse geführt | true | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_repository_url: https://github.com/pvliesdonk/image-generation-mcp |
| Einsatzgebiet, aus der Anbieterbeschreibung abgeleitet | bild | MCP-Register | 2026-08-26T16:45:01.514Z | abgeleitet | roh_beschreibung: MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders. |
| Beschreibung (Rohangabe) | MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders. | MCP-Register | 2026-08-26T16:45:01.514Z | selbstauskunft |  |
| Deklarierte Version | 1.12.1 | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Umgebungsvariablen (Rohangabe) | IMAGE_GENERATION_MCP_KV_STORE_URL, IMAGE_GENERATION_MCP_TOOLS_ALLOW, IMAGE_GENERATION_MCP_TOOLS_DENY, IMAGE_GENERATION_MCP_SERVER_NAME, IMAGE_GENERATION_MCP_INSTRUCTIONS, FASTMCP_LOG_LEVEL, FASTMCP_ENABLE_RICH_LOGGING, IMAGE_GENERATION_MCP_A1111_HOST, IMAGE_GENERATION_MCP_A1111_MODEL, IMAGE_GENERATION_MCP_READ_ONLY, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_OPENAI_API_KEY, IMAGE_GENERATION_MCP_GOOGLE_API_KEY, IMAGE_GENERATION_MCP_SD_WEBUI_HOST, IMAGE_GENERATION_MCP_SD_WEBUI_MODEL, IMAGE_GENERATION_MCP_DEFAULT_PROVIDER, IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE, IMAGE_GENERATION_MCP_PAID_PROVIDERS, IMAGE_GENERATION_MCP_STYLES_DIR, IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT, IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES, IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S, IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S, IMAGE_GENERATION_MCP_TRANSFER_LEASE_S, IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES, IMAGE_GENERATION_MCP_BASE_URL, IMAGE_GENERATION_MCP_BEARER_TOKEN, IMAGE_GENERATION_MCP_OIDC_CONFIG_URL, IMAGE_GENERATION_MCP_OIDC_CLIENT_ID, IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET, IMAGE_GENERATION_MCP_OIDC_AUDIENCE, IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES, IMAGE_GENERATION_MCP_OIDC_ADVERTISED_SCOPES, IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY, IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN, IMAGE_GENERATION_MCP_KV_STORE_URL, IMAGE_GENERATION_MCP_APP_DOMAIN, IMAGE_GENERATION_MCP_TOOLS_ALLOW, IMAGE_GENERATION_MCP_TOOLS_DENY, IMAGE_GENERATION_MCP_AUTH_MODE, IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE, IMAGE_GENERATION_MCP_BEARER_DEFAULT_SUBJECT, IMAGE_GENERATION_MCP_SERVER_NAME, IMAGE_GENERATION_MCP_INSTRUCTIONS, IMAGE_GENERATION_MCP_HTTP_PATH, PUID, PGID, FASTMCP_LOG_LEVEL, FASTMCP_ENABLE_RICH_LOGGING, IMAGE_GENERATION_MCP_A1111_HOST, IMAGE_GENERATION_MCP_A1111_MODEL, IMAGE_GENERATION_MCP_READ_ONLY, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_OPENAI_API_KEY, IMAGE_GENERATION_MCP_GOOGLE_API_KEY, IMAGE_GENERATION_MCP_SD_WEBUI_HOST, IMAGE_GENERATION_MCP_SD_WEBUI_MODEL, IMAGE_GENERATION_MCP_DEFAULT_PROVIDER, IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE, IMAGE_GENERATION_MCP_PAID_PROVIDERS, IMAGE_GENERATION_MCP_STYLES_DIR, IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT, IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES, IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S, IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S, IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S, IMAGE_GENERATION_MCP_TRANSFER_LEASE_S, IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Geheime Pflichtvariablen (Rohangabe) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Transportarten (Rohangabe) | stdio, streamable-http | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Pfadargumente (Rohangabe) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Repository (Rohangabe) | https://github.com/pvliesdonk/image-generation-mcp | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Paketquellen (Rohangabe) | oci, pypi | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Geheime Pflichtkopfzeilen (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Pfad-Umgebungsvariablen (Rohangabe) | IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE, IMAGE_GENERATION_MCP_SCRATCH_DIR, IMAGE_GENERATION_MCP_STYLES_DIR | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Remote-Adressen (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote-Hosts (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Statusmeldung des Registers (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Im Register eingetragen am (Rohangabe) | 2026-08-25 | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Im Register geändert am (Rohangabe) | 2026-08-25 | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Schemafassung des Rohsatzes (Rohangabe) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Bereitstellungsform (Rohangabe) | paket | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository-Plattform (Rohangabe) | github | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository-Unterordner (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Paketbezeichner (Rohangabe) | ghcr.io/pvliesdonk/image-generation-mcp:v1.12.1, image-generation-mcp | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Paketversionen (Rohangabe) | 1.12.1 | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Laufzeithinweise (Rohangabe) | uvx | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Formate der Umgebungsvariablen (Rohangabe) | boolean, filepath, number | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Beschreibungen der Umgebungsvariablen (Rohangabe) | FASTMCP_ENABLE_RICH_LOGGING=Set false for plain or structured JSON log output. · FASTMCP_LOG_LEVEL=Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG. · IMAGE_GENERATION_MCP_A1111_HOST=Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_HOST; logs a warning when used. · IMAGE_GENERATION_MCP_A1111_MODEL=Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_MODEL; logs a warning when used. · IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT=Allow reading input images from local filesystem paths. Off by default: only URLs and uploads are accepted. · IMAGE_GENERATION_MCP_APP_DOMAIN=MCP Apps iframe domain, used for CSP sandboxing. Overrides the host derived from `base_url`. · IMAGE_GENERATION_MCP_AUTH_MODE=Explicit auth-mode override, accepting `remote` or `oidc-proxy` (case- and whitespace-insensitive). When unset the mode is auto-detected from which auth variables are set; the override exists because having all four OIDC variables set is ambiguous between those two modes. Other values are ignored with a warning. · IMAGE_GENERATION_MCP_BASE_URL=Public base URL of the deployed server, e.g. `https://mcp.example.com`. Required for OIDC. Also the fallback source of the MCP Apps domain when `app_domain` is unset. · IMAGE_GENERATION_MCP_BEARER_DEFAULT_SUBJECT=Subject assigned to the single-token bearer mode; ignored when `bearer_tokens_file` is set, since mapped mode carries per-token subjects. · IMAGE_GENERATION_MCP_BEARER_TOKEN=Single shared bearer token; enables bearer auth unless `bearer_tokens_file` is set, which takes precedence. · IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE=Path to a TOML file mapping bearer tokens to subjects; overrides the single-token `bearer_token` mode. · IMAGE_GENERATION_MCP_DEFAULT_PROVIDER=Provider used when no keyword triggers auto-selection: auto, openai, gemini, sd_webui, or placeholder. auto picks the first configured provider. · IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S=HTTP timeout in seconds when fetching remote image URLs (fetch_image and URL inputs). · IMAGE_GENERATION_MCP_GOOGLE_API_KEY=Google API key. Enables the Gemini provider (gemini-3.1-flash-image and others) when set. Get a key at https://aistudio.google.com/apikey. · IMAGE_GENERATION_MCP_HTTP_PATH=Mount path for the MCP endpoint. · IMAGE_GENERATION_MCP_INSTRUCTIONS=Replaces the default MCP instructions text sent to clients. · IMAGE_GENERATION_MCP_KV_STORE_URL=Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` — with a warning — on a host where that directory is not usable. · IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES=Maximum accepted input image size in bytes. · IMAGE_GENERATION_MCP_OIDC_ADVERTISED_SCOPES=Scopes advertised to MCP clients in protected-resource metadata, space- or comma-separated. Overrides the default `openid offline_access`; `oidc_required_scopes` is always added on top. Set this when the registered client is not permitted `offline_access`, or to have clients request extra claim scopes (e.g. `groups`) without also requiring them in every token. · IMAGE_GENERATION_MCP_OIDC_AUDIENCE=Expected `aud` claim; tokens issued for another audience are rejected. · IMAGE_GENERATION_MCP_OIDC_CLIENT_ID=OIDC client identifier registered with the provider. · IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET=OIDC client secret registered with the provider. · IMAGE_GENERATION_MCP_OIDC_CONFIG_URL=OIDC discovery document URL, e.g. `https://auth.example.com/.well-known/openid-configuration`. · IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY=Signing key for issued JWTs; used in oidc-proxy mode only. When unset, the key is derived deterministically from `oidc_client_secret`, so tokens survive a restart — but rotating that secret invalidates every issued token. Set this explicitly to decouple token validity from secret rotation. Generate with `openssl rand -hex 32`. · IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES=Scopes a caller must present, space- or comma-separated. Defaults to `openid` in oidc-proxy mode. · IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN=Validate the access token instead of the id token. · IMAGE_GENERATION_MCP_OPENAI_API_KEY=OpenAI API key. Enables the OpenAI provider (gpt-image-2, gpt-image-1.5, dall-e-3) when set. · IMAGE_GENERATION_MCP_PAID_PROVIDERS=Comma-separated provider names that cost money; generate_image asks for confirmation (client elicitation) before using them. An empty value falls back to this default; to disable confirmation, set a value that names no provider (such as none). · IMAGE_GENERATION_MCP_READ_ONLY=When true, write-tagged tools (image generation, transforms, uploads) are hidden from clients. Set false to enable them. · IMAGE_GENERATION_MCP_SCRATCH_DIR=Directory where generated images are saved. Created automatically on first use. · IMAGE_GENERATION_MCP_SD_WEBUI_HOST=SD WebUI base URL (such as http://localhost:7860). Enables the SD WebUI provider when set. Compatible with AUTOMATIC1111, Forge, reForge, and Forge-neo. · IMAGE_GENERATION_MCP_SD_WEBUI_MODEL=SD WebUI checkpoint name, used for model-aware preset detection (SD 1.5 / SDXL / Lightning) and checkpoint override. Unset uses the instance's current model. · IMAGE_GENERATION_MCP_SERVER_NAME=Rename this server instance; defaults to the project name. · IMAGE_GENERATION_MCP_STYLES_DIR=Directory for style preset files (Markdown with YAML front matter). Created automatically if it does not exist. · IMAGE_GENERATION_MCP_TOOLS_ALLOW=Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`. · IMAGE_GENERATION_MCP_TOOLS_DENY=Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`. · IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S=Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it. · IMAGE_GENERATION_MCP_TRANSFER_LEASE_S=Crashed-handler reclaim window in seconds for an in-flight reservation. · IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES=Maximum size in bytes of a single upload. · IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S=Link lifetime in seconds when the caller requests no explicit TTL. · IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S=Ceiling in seconds a caller-requested link TTL is clamped to. · IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE=Maximum number of transformed image results (resize, crop, convert) kept in memory. Set 0 to disable caching. · PGID=Run the server process as this GID; pair with PUID to match the owner of a mounted volume. · PUID=Run the server process as this UID; the container entrypoint chowns writable paths to match. | MCP-Register | 2026-08-26T01:17:02.201Z | selbstauskunft |  |
| Symbolformate (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Verbindungswege (Quellstruktur) | {"packages":[{"registryType":"pypi","identifier":"image-generation-mcp","version":"1.12.1","runtimeHint":"uvx","transport":"stdio","environment":[{"name":"IMAGE_GENERATION_MCP_KV_STORE_URL","description":"Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` — with a warning — on a host where that directory is not usable.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TOOLS_ALLOW","description":"Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TOOLS_DENY","description":"Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_SERVER_NAME","description":"Rename this server instance; defaults to the project name.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_INSTRUCTIONS","description":"Replaces the default MCP instructions text sent to clients.","required":false,"secret":false},{"name":"FASTMCP_LOG_LEVEL","description":"Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG.","required":false,"secret":false},{"name":"FASTMCP_ENABLE_RICH_LOGGING","description":"Set false for plain or structured JSON log output.","format":"boolean","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_A1111_HOST","description":"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_HOST; logs a warning when used.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_A1111_MODEL","description":"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_MODEL; logs a warning when used.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_READ_ONLY","description":"When true, write-tagged tools (image generation, transforms, uploads) are hidden from clients. Set false to enable them.","format":"boolean","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_SCRATCH_DIR","description":"Directory where generated images are saved. Created automatically on first use.","format":"filepath","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_OPENAI_API_KEY","description":"OpenAI API key. Enables the OpenAI provider (gpt-image-2, gpt-image-1.5, dall-e-3) when set.","required":false,"secret":true},{"name":"IMAGE_GENERATION_MCP_GOOGLE_API_KEY","description":"Google API key. Enables the Gemini provider (gemini-3.1-flash-image and others) when set. Get a key at https://aistudio.google.com/apikey.","required":false,"secret":true},{"name":"IMAGE_GENERATION_MCP_SD_WEBUI_HOST","description":"SD WebUI base URL (such as http://localhost:7860). Enables the SD WebUI provider when set. Compatible with AUTOMATIC1111, Forge, reForge, and Forge-neo.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL","description":"SD WebUI checkpoint name, used for model-aware preset detection (SD 1.5 / SDXL / Lightning) and checkpoint override. Unset uses the instance's current model.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER","description":"Provider used when no keyword triggers auto-selection: auto, openai, gemini, sd_webui, or placeholder. auto picks the first configured provider.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE","description":"Maximum number of transformed image results (resize, crop, convert) kept in memory. Set 0 to disable caching.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_PAID_PROVIDERS","description":"Comma-separated provider names that cost money; generate_image asks for confirmation (client elicitation) before using them. An empty value falls back to this default; to disable confirmation, set a value that names no provider (such as none).","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_STYLES_DIR","description":"Directory for style preset files (Markdown with YAML front matter). Created automatically if it does not exist.","format":"filepath","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT","description":"Allow reading input images from local filesystem paths. Off by default: only URLs and uploads are accepted.","format":"boolean","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES","description":"Maximum accepted input image size in bytes.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S","description":"HTTP timeout in seconds when fetching remote image URLs (fetch_image and URL inputs).","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S","description":"Link lifetime in seconds when the caller requests no explicit TTL.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S","description":"Ceiling in seconds a caller-requested link TTL is clamped to.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S","description":"Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S","description":"Crashed-handler reclaim window in seconds for an in-flight reservation.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES","description":"Maximum size in bytes of a single upload.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"oci","identifier":"ghcr.io/pvliesdonk/image-generation-mcp:v1.12.1","transport":"streamable-http","environment":[{"name":"IMAGE_GENERATION_MCP_BASE_URL","description":"Public base URL of the deployed server, e.g. `https://mcp.example.com`. Required for OIDC. Also the fallback source of the MCP Apps domain when `app_domain` is unset.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_BEARER_TOKEN","description":"Single shared bearer token; enables bearer auth unless `bearer_tokens_file` is set, which takes precedence.","required":false,"secret":true},{"name":"IMAGE_GENERATION_MCP_OIDC_CONFIG_URL","description":"OIDC discovery document URL, e.g. `https://auth.example.com/.well-known/openid-configuration`.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_OIDC_CLIENT_ID","description":"OIDC client identifier registered with the provider.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET","description":"OIDC client secret registered with the provider.","required":false,"secret":true},{"name":"IMAGE_GENERATION_MCP_OIDC_AUDIENCE","description":"Expected `aud` claim; tokens issued for another audience are rejected.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES","description":"Scopes a caller must present, space- or comma-separated. Defaults to `openid` in oidc-proxy mode.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_OIDC_ADVERTISED_SCOPES","description":"Scopes advertised to MCP clients in protected-resource metadata, space- or comma-separated. Overrides the default `openid offline_access`; `oidc_required_scopes` is always added on top. Set this when the registered client is not permitted `offline_access`, or to have clients request extra claim scopes (e.g. `groups`) without also requiring them in every token.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY","description":"Signing key for issued JWTs; used in oidc-proxy mode only. When unset, the key is derived deterministically from `oidc_client_secret`, so tokens survive a restart — but rotating that secret invalidates every issued token. Set this explicitly to decouple token validity from secret rotation. Generate with `openssl rand -hex 32`.","required":false,"secret":true},{"name":"IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN","description":"Validate the access token instead of the id token.","format":"boolean","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_KV_STORE_URL","description":"Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` — with a warning — on a host where that directory is not usable.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_APP_DOMAIN","description":"MCP Apps iframe domain, used for CSP sandboxing. Overrides the host derived from `base_url`.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TOOLS_ALLOW","description":"Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TOOLS_DENY","description":"Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_AUTH_MODE","description":"Explicit auth-mode override, accepting `remote` or `oidc-proxy` (case- and whitespace-insensitive). When unset the mode is auto-detected from which auth variables are set; the override exists because having all four OIDC variables set is ambiguous between those two modes. Other values are ignored with a warning.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_BEARER_TOKENS_FILE","description":"Path to a TOML file mapping bearer tokens to subjects; overrides the single-token `bearer_token` mode.","format":"filepath","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_BEARER_DEFAULT_SUBJECT","description":"Subject assigned to the single-token bearer mode; ignored when `bearer_tokens_file` is set, since mapped mode carries per-token subjects.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_SERVER_NAME","description":"Rename this server instance; defaults to the project name.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_INSTRUCTIONS","description":"Replaces the default MCP instructions text sent to clients.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_HTTP_PATH","description":"Mount path for the MCP endpoint.","required":false,"secret":false},{"name":"PUID","description":"Run the server process as this UID; the container entrypoint chowns writable paths to match.","format":"number","required":false,"secret":false},{"name":"PGID","description":"Run the server process as this GID; pair with PUID to match the owner of a mounted volume.","format":"number","required":false,"secret":false},{"name":"FASTMCP_LOG_LEVEL","description":"Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG.","required":false,"secret":false},{"name":"FASTMCP_ENABLE_RICH_LOGGING","description":"Set false for plain or structured JSON log output.","format":"boolean","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_A1111_HOST","description":"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_HOST; logs a warning when used.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_A1111_MODEL","description":"Deprecated alias for IMAGE_GENERATION_MCP_SD_WEBUI_MODEL; logs a warning when used.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_READ_ONLY","description":"When true, write-tagged tools (image generation, transforms, uploads) are hidden from clients. Set false to enable them.","format":"boolean","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_SCRATCH_DIR","description":"Directory where generated images are saved. Created automatically on first use.","format":"filepath","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_OPENAI_API_KEY","description":"OpenAI API key. Enables the OpenAI provider (gpt-image-2, gpt-image-1.5, dall-e-3) when set.","required":false,"secret":true},{"name":"IMAGE_GENERATION_MCP_GOOGLE_API_KEY","description":"Google API key. Enables the Gemini provider (gemini-3.1-flash-image and others) when set. Get a key at https://aistudio.google.com/apikey.","required":false,"secret":true},{"name":"IMAGE_GENERATION_MCP_SD_WEBUI_HOST","description":"SD WebUI base URL (such as http://localhost:7860). Enables the SD WebUI provider when set. Compatible with AUTOMATIC1111, Forge, reForge, and Forge-neo.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_SD_WEBUI_MODEL","description":"SD WebUI checkpoint name, used for model-aware preset detection (SD 1.5 / SDXL / Lightning) and checkpoint override. Unset uses the instance's current model.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_DEFAULT_PROVIDER","description":"Provider used when no keyword triggers auto-selection: auto, openai, gemini, sd_webui, or placeholder. auto picks the first configured provider.","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE","description":"Maximum number of transformed image results (resize, crop, convert) kept in memory. Set 0 to disable caching.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_PAID_PROVIDERS","description":"Comma-separated provider names that cost money; generate_image asks for confirmation (client elicitation) before using them. An empty value falls back to this default; to disable confirmation, set a value that names no provider (such as none).","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_STYLES_DIR","description":"Directory for style preset files (Markdown with YAML front matter). Created automatically if it does not exist.","format":"filepath","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT","description":"Allow reading input images from local filesystem paths. Off by default: only URLs and uploads are accepted.","format":"boolean","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES","description":"Maximum accepted input image size in bytes.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S","description":"HTTP timeout in seconds when fetching remote image URLs (fetch_image and URL inputs).","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S","description":"Link lifetime in seconds when the caller requests no explicit TTL.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S","description":"Ceiling in seconds a caller-requested link TTL is clamped to.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S","description":"Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_LEASE_S","description":"Crashed-handler reclaim window in seconds for an in-flight reservation.","format":"number","required":false,"secret":false},{"name":"IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES","description":"Maximum size in bytes of a single upload.","format":"number","required":false,"secret":false}],"additional_arguments_declared":true}],"remotes":[]} | MCP-Register | 2026-09-08T01:17:01.649Z | selbstauskunft |  |

## Verweise

- Namensraum: [[namensraum/io-github-pvliesdonk|io.github.pvliesdonk]]

---

- Registerseite: <https://tracevero.de/mcp/io-github-pvliesdonk-image-generation-mcp>
- Abgerufen am: 2026-10-10
