io.github.pvliesdonk/image-generation-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FASTMCP_LOG_LEVEL | No | Log level for FastMCP internals and app loggers (DEBUG/INFO/WARNING/ERROR). The -v CLI flag overrides to DEBUG. | INFO |
| FASTMCP_ENABLE_RICH_LOGGING | No | Set to false for plain/structured JSON log output. | true |
| IMAGE_GENERATION_MCP_BASE_URL | No | Public base URL for OIDC and MCP File Exchange downloads (e.g. https://mcp.example.com). | |
| IMAGE_GENERATION_MCP_HTTP_PATH | No | HTTP endpoint mount path. | /mcp |
| IMAGE_GENERATION_MCP_READ_ONLY | No | Hide write-tagged tools (generate_image). Set to false to enable generation. | true |
| IMAGE_GENERATION_MCP_APP_DOMAIN | No | MCP Apps widget sandbox domain. Auto-computed from BASE_URL for Claude; override for other hosts. | (auto) |
| IMAGE_GENERATION_MCP_SCRATCH_DIR | No | Directory for saved generated images. | ~/.image-generation-mcp/images/ |
| IMAGE_GENERATION_MCP_SERVER_NAME | No | Server name shown to MCP clients. | image-generation-mcp |
| IMAGE_GENERATION_MCP_BEARER_TOKEN | No | Static bearer token; enables bearer auth when set. | |
| IMAGE_GENERATION_MCP_INSTRUCTIONS | No | System instructions for LLM context. | (dynamic) |
| IMAGE_GENERATION_MCP_OIDC_AUDIENCE | No | Expected JWT audience claim. | |
| IMAGE_GENERATION_MCP_SD_WEBUI_HOST | No | SD WebUI URL (e.g. http://localhost:7860); enables SD WebUI provider when set. Deprecated alias: A1111_HOST. | |
| IMAGE_GENERATION_MCP_GOOGLE_API_KEY | No | Google API key with Gemini access; enables Gemini provider when set. | |
| IMAGE_GENERATION_MCP_OIDC_CLIENT_ID | No | OIDC client ID. | |
| IMAGE_GENERATION_MCP_OPENAI_API_KEY | No | OpenAI API key; enables OpenAI provider when set. | |
| IMAGE_GENERATION_MCP_PAID_PROVIDERS | No | Comma-separated paid provider names. Triggers elicitation confirmation on capable clients. Set to empty to disable. | openai,gemini |
| IMAGE_GENERATION_MCP_SD_WEBUI_MODEL | No | SD WebUI checkpoint name for preset detection and override. Deprecated alias: A1111_MODEL. | |
| IMAGE_GENERATION_MCP_EVENT_STORE_URL | No | Event store backend for HTTP session persistence — memory:// (dev), file:///path (survives restarts). | memory:// |
| IMAGE_GENERATION_MCP_OIDC_CONFIG_URL | No | OIDC discovery endpoint URL. | |
| IMAGE_GENERATION_MCP_DEFAULT_PROVIDER | No | Default provider: auto, openai, gemini, sd_webui, placeholder. | auto |
| IMAGE_GENERATION_MCP_FILE_EXCHANGE_TTL | No | Default and maximum TTL (seconds) for published files and download URLs. create_download_link's ttl_seconds is clamped to this. | 3600 |
| IMAGE_GENERATION_MCP_OIDC_CLIENT_SECRET | No | OIDC client secret. | |
| IMAGE_GENERATION_MCP_OIDC_JWT_SIGNING_KEY | No | JWT signing key. Required on Linux/Docker, otherwise ephemeral. | ephemeral |
| IMAGE_GENERATION_MCP_OIDC_REQUIRED_SCOPES | No | Comma-separated required scopes. | openid |
| IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE | No | Max cached transforms. Set to 0 to disable caching. | 64 |
| IMAGE_GENERATION_MCP_FILE_EXCHANGE_CONSUME | No | Master switch for the consumer side. This server is producer-only; set false to silence the upstream startup warning. | true |
| IMAGE_GENERATION_MCP_FILE_EXCHANGE_ENABLED | No | Master switch for the file-exchange producer. Set false to suppress all file_ref publishing. | true on http/sse, false on stdio |
| IMAGE_GENERATION_MCP_OIDC_VERIFY_ACCESS_TOKEN | No | Verify access token as JWT instead of id token. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_generation_statusA | Check whether a background image generation has finished. Call this after
|
| show_imageA | Display a completed image with optional on-demand transforms. Only call this for completed images — use
Accepts a full Read the |
| browse_galleryA | Browse all generated images in an interactive visual gallery. Opens a gallery view showing thumbnail previews of images in the
scratch directory, filtered by For non-UI clients the response is a JSON object with Use |
| gallery_pageA | Return a page of image thumbnails for the gallery UI. App-only helper called by the gallery UI to load additional pages when the user paginates. Not intended for direct model invocation. |
| gallery_full_imageA | Return full-resolution image data for the gallery lightbox. App-only helper called by the gallery lightbox to load a single image at full (or near-full) resolution. Images larger than 1 MB are downscaled to 1024 px wide WebP before encoding. |
| list_providersA | List available image generation providers, models, and capabilities. Returns provider names, available models, and capability details.
Each model includes a Also available as the |
| edit_imageA | Open an image for interactive editing (crop, rotate, flip). The user edits in the viewer UI and saves as a new image. Always edits the original image — resource template transforms are ephemeral and LLM-facing; editor transforms are persistent and user-facing. |
| get_server_infoA | Report wrapper and upstream version info for image-generation-mcp. Returns server_name, server_version, core_version (fastmcp-pvl-core), and (when configured) an upstream version block. Useful for verifying a deployment matches the expected build. |
| list_resourcesA | List all available resources and resource templates. Returns JSON with resource metadata. Static resources have a 'uri' field, while templates have a 'uri_template' field with placeholders like {name}. |
| read_resourceA | Read a resource by its URI. For static resources, provide the exact URI. For templated resources, provide the URI with template parameters filled in. Returns the resource content as a string. Binary content is base64-encoded. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| select_provider | Use when choosing a specific provider instead of auto-selection. Not needed when provider='auto' (the default). |
| sd_prompt_guide | Guide for writing SD WebUI prompts — CLIP tags (SD 1.5 / SDXL / Pony / Illustrious / NoobAI), prose (Flux 1 / FLUX.2 / Schnell / SD 3 / 3.5) |
| apply_style | Apply a saved style preset to an image generation request. Loads the style's creative brief and instructs the LLM to interpret it per-provider — not copy it verbatim. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| prompt_guide | Provider-specific prompt writing tips. Covers CLIP tag format for SD 1.5/SDXL, Flux natural language style, OpenAI prompt guidance, quality tags, negative prompt templates, and provider selection. |
| provider_capabilities | Discover configured providers, available models, each model's prompt_style, supported aspect ratios, quality levels, and background options. |
| image_list | List all gallery images (generated and imported) with their IDs, resource URIs, and prompts. Read this to find image_ids for use with image://*/view and image://*/metadata resources. |
| style_list | List all available style presets with their names, tags, and default parameters. Use to browse styles before applying one via the apply_style prompt. |
| image_viewer | Interactive image viewer for show_image results. |
| image_gallery | Interactive gallery for browsing all generated images. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pvliesdonk/image-generation-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server